TenaVault versions, approves, and audits every customer-specific configuration your product runs on — and delivers it to your app in microseconds. No more mystery values in production.
One ledger. Every change. Sealed.
Know what's live, and why.
Global → environment → template → tenant. One resolution order, enforced by the platform — not by memory.
Changes are proposed,
Diff, checks, discussion, approval. The seal is the deploy.
The ledger never
Every write records who, what, when, and the value before. Rewind the entire org to any second.
a3f9c21 · signedCDN edgeYour app
local SDK
Reads in microseconds,
Signed snapshots on a CDN. Local-first SDK. Offline fallback. SSE push in ~1s.
import { TenaVault } from '@tenavault/sdk';
const vault = await TenaVault.init({
org: 'acme',
tenant: 'meridian-capital',
sdkKey: process.env.TV_KEY,
});
const limit = vault.get('limits.api_rate_per_min');
// → 2000 · 3µs · local snapshot
vault.listen(onChange);
// SSE push · ~1s propagationQuestions, answered.
What is TenaVault?
TenaVault is a configuration governance platform for multi-tenant SaaS. Every customer-specific config value is versioned, scoped (global → environment → template → tenant, most specific wins), proposed and approved through a change request before it takes effect, and recorded in an append-only ledger — so you always know who changed what, when, and why.
How is TenaVault different from a feature-flag platform like LaunchDarkly or Split?
Feature flags are built for toggling behavior on or off, usually per environment or user segment. TenaVault is built for configuration: typed values — numbers, strings, booleans, or whole nested JSON documents — that vary per customer (tenant), changed through a real propose-approve-merge workflow rather than a simple toggle, with a configurable approval chain instead of a single switch.
Does TenaVault replace environment variables?
No. Environment variables are fine for config that's the same across every customer. TenaVault is for config that varies per tenant — the kind that today ends up scattered across spreadsheets, Slack threads, and one-off database rows nobody remembers changing.
What does "governed configuration" actually mean?
Every write is proposed, then approved — optionally through a configurable multi-step approval matrix requiring specific people or roles to sign off in order — then applied. Every action along the way, including who approved what and when, lands in an append-only ledger that is never edited or deleted. A rollback is a new ledger entry restoring a prior value, not a rewrite of history.
How fast is a config read at runtime?
The SDK boots from a single snapshot fetch, then serves every subsequent read from an in-memory snapshot — reads never touch the network. Updates to connected SDKs propagate over a live stream in about a second, and if TenaVault's delivery plane is unreachable, the SDK keeps serving the last known-good snapshot instead of breaking your app.
Can I roll back a bad configuration change?
Yes. Rollback restores a prior version by writing a new ledger event — the change history is append-only and is never edited or deleted, so you can always see exactly what happened, in order.
Is there an audit trail for compliance?
Yes. Every proposal, approval, merge, and rollback is recorded in an append-only ledger with the actor, timestamp, and exact before/after value. Nested config documents additionally support a git-blame-style view showing who last touched any specific field and when, for line-level audit detail.
Which languages or frameworks does the TenaVault SDK support?
A Node/TypeScript SDK is available today. TenaVault's resolution logic is deliberately kept as a portable, dependency-free module so additional language SDKs can be built against the same scope-resolution semantics.
Can TenaVault integrate with config we already have in Postgres, GitHub, or Redis?
Yes, through connectors that watch or mirror an existing source — a Postgres table, a GitHub repo of config files, a Redis keyspace — so you can bring configuration under governance gradually instead of a big-bang migration on day one.
Put your configuration in custody.
30 minutes with our founding team. Your messiest tenant config. We'll show you exactly how it comes under governance.
Book a demo