seekrit vs Doppler
ComparisonDoppler
Doppler is one of the most established secrets managers for application teams: good ergonomics, broad integration coverage, and a security architecture with real engineering behind it. We'll take it as given that it works.
seekrit is built around one decision Doppler made differently, and nearly every other difference between the two products falls out of it.
The difference everything else follows from
Doppler encrypts your secrets and holds the keys. Per its security fact sheet, a tokenization service encrypts secrets with AES-GCM under a per-workplace 256-bit key, and workplace keys are themselves encrypted under an HSM-backed key in GCP KMS. Enterprise Key Management lets you wrap the workplace key with your own cloud KMS.
That is a well-built version of that architecture. It is also an architecture in which the service can decrypt — necessarily, because the dashboard, the integrations that push secrets to Vercel or AWS, and server-side rotation all require plaintext on their side. Those features are the reason to hold the key.
seekrit encrypts in your browser or CLI under a key derived from your passphrase, and uploads only ciphertext. We can't decrypt your secrets, and neither can anyone who compromises us, subpoenas us, or walks off with the database. The security model is the whole document on what the server can and cannot see.
What that makes possible
Nobody at seekrit is in your threat model. Not as a promise about internal policy, which is what every vendor offers and none can prove to you, but as a property of what we hold. The strongest version of "we don't look at your secrets" is not having the key.
The agent never holds the credential at all. Both products can put a secret
into a process: doppler run -- and seekrit run -- do the same job. But for
AI agents that's the weaker half of the problem, because a value in the
environment is a value that can be read out of it, printed into a transcript, or
talked out of the model by a malicious pull-request title. seekrit also ships a
credential broker: the agent holds
{{seekrit:OPENAI_API_KEY}}, a string that names a credential without being
one, and the substitution happens in a proxy outside the agent, on the way out.
There is nothing in the agent to leak.
The same commitment runs through our MCP servers. The hosted one holds metadata only and registers no tool that can return a secret value — enforced by a test, not a policy — so an agent that gets prompt-injected into asking for a plaintext finds nothing on the other end that can produce one. Any MCP server that hands secrets to an agent on request is, by construction, reachable by whoever is writing that agent's input.
Egress rules bound operations, not just destinations. A seekrit proxy rule
carries methods and paths next to the upstream, so a key scoped to read
issues cannot be used to delete a branch, even by the workload legitimately
holding it. Rules can also be published as signed bundles —
signed in your browser, verified by each proxy against signers pinned in its own
config, so we can serve your policy without being able to widen it.
Leaving is a file copy. seekrit archive create exports the entire
organization as one signed file; seekrit archive decryptor writes a standalone
HTML page that opens it with no network and no seekrit involved. See export and
break-glass. It is never gated on your plan, and it works
years later on a machine that has never heard of us.
What the trade costs
Being specific, because "zero-knowledge" is cheap to say and the bill arrives later.
You manage a passphrase. A second secret, separate from your login password, that we cannot reset for you. That is a genuine ergonomic cost and it is the single best reason to choose Doppler instead.
Recovery is a ceremony, not a support ticket. Doppler can restore your access. We can't — there is nothing on our side to restore from. What exists instead is customer-controlled recovery: environment keys are additionally wrapped to an organization recovery key whose private half is Shamir-split across custodians you pick, and a quorum of them restores access on your own machines. It works and it is more setup than a password reset.
One integration class needs an exception, and we document it. Pushing a secret into a platform whose runtime we can't inject into — Vercel, say — needs plaintext at a point where no client of yours is running. We do that in one fenced place: opt-in per environment, the key wrap computed in your browser so we can't enable it alone, and the decryption recorded in the audit row. It's a documented exception, not the default, and we'd rather name it than let you find it.
We're younger, with fewer integrations and no SOC 2 yet. If a procurement review is between you and a purchase, Doppler clears bars we don't.
Side by side
| Doppler | seekrit | |
|---|---|---|
| Can the vendor decrypt your secrets | Yes — the tokenization service must | No — client-side encryption, server holds no key |
| Key custody | Doppler-held, HSM-backed; bring-your-own KMS on Enterprise | Yours, derived from your passphrase |
| Recovery if you lose access | Doppler can restore it | M-of-N custodian quorum, no vendor involvement |
| Getting a secret into a process | doppler run -- | seekrit run -- |
| Keeping the value out of the process entirely | — | Egress proxy with placeholder substitution |
| Egress rules | — | Per host, plus methods and paths |
| Can an MCP server hand an agent a plaintext | Yes, by design | No — no tool exists that returns a value |
| Offline export you can decrypt without the vendor | — | Signed archive plus standalone decryptor |
| Pricing shape | Per seat | Per organization |
| SOC 2 | Yes | Not yet |
| Integration breadth | Broader | Narrower |
On price, the shape rather than the number
Doppler's published pricing is per seat: a Developer tier that's free for three users and $8 per user beyond that, and a Team tier at $21 per user per month. Non-human identities ride free, so agents don't inflate the count — the seat count is your people.
seekrit prices per organization. Which model is cheaper depends entirely on the size of your team, and the shape matters more than today's numbers: per-seat pricing makes adding a colleague to your secrets a budget decision, and per-org pricing doesn't.
Current seekrit tiers and limits are on the pricing page.
When Doppler is the right call
- You need SOC 2 today, or a procurement process will ask for it in writing.
- You'd rather have a vendor who can restore your access than one who structurally can't. That is a real trade with a defensible answer on both sides, and for plenty of teams Doppler's is the right one.
- You need an integration we don't have. Ours is the shorter list.
- You want the maturity — years in production, a large installed base, and a support organization behind it.
Any one of those on its own settles it, and we would rather you ran a secrets manager you trust than the one we happen to make.
When seekrit is the right call
- "The vendor cannot read this" is a requirement, not a preference — regulated data, a security review that asks who holds the key, or a threat model that includes your vendor being compromised.
- AI agents are the ones using the credentials. Doppler will deliver the secret to your agent securely. We'd rather your agent never had it, and ship the proxy that makes that the default.
- You want to bound what a credential can do, not just where it can go.
- You want your exit to be a file you can open offline — see what happens if we disappear.
The bottom line
Doppler is built for a world where the vendor is part of your trusted computing base, and it does that job well. seekrit is built for one where it isn't — and that world arrived faster than expected, because the thing now holding your API key is a language model that can be talked into things.
Start with the half that costs nothing to test:
npx -y @seekrit/cli proxy run --preset openai
Free for one developer, no card, and your keys never leave your machine in a form we can read.