Skip to content

docs: add CipherStash vs HashiCorp Vault comparison#34

Closed
coderdan wants to merge 2 commits into
mainfrom
docs/vault-comparison
Closed

docs: add CipherStash vs HashiCorp Vault comparison#34
coderdan wants to merge 2 commits into
mainfrom
docs/vault-comparison

Conversation

@coderdan

@coderdan coderdan commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Part of CIP-3290 (issue stays open until the doc, backend, and in-region run all land)

Adds a new comparison page: CipherStash vs HashiCorp Vault, scoped to Vault's Transit secrets engine (the encryption-as-a-service analog to ZeroKMS).

What it adds

  • comparisons/hashicorp-vault.mdx — the doc, registered in meta.json and the overview index.mdx cards.
  • Built around the trilemma: no single Vault Transit configuration delivers plaintext-stays-client-side + per-record keys + bulk amortization at once — each gives two; ZeroKMS gives all three.
  • Covers Transit's direct mode (plaintext to Vault, has batch) vs envelope/datakey mode (plaintext client-side, one key per call), and the scattered-read reuse collapse (explained inline, so the page is self-contained).
  • Trust/capability comparison table, when-to-use-each, and a coexistence note.

Draft status

  • Performance section is intentionally qualitative. Vault Transit has a batch API, so this is not a throughput blowout — the differentiator is the trilemma, not raw speed. A TODO marks where in-region numbers go once the vault-transit backend lands in cipherstash/benches (kms-app).
  • Framing is trust/architecture-led by design.

Notes

https://claude.ai/code/session_018ag38k33yzmVZhLkVx7CPQ

Adds a Transit-scoped comparison built around the trilemma: no single Vault
Transit configuration delivers plaintext-stays-client-side + per-record keys +
bulk amortization at once, while ZeroKMS does. Covers Transit's direct vs
envelope (datakey) modes, the scattered-read reuse collapse (explained inline),
and the trust/capability differences. Performance section is qualitative pending
the in-region vault-transit benchmark.

Claude-Session: https://claude.ai/code/session_018ag38k33yzmVZhLkVx7CPQ
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
public-docs Error Error Jun 29, 2026 3:29am

Request Review

Vault's transit/decrypt is batched, so a scattered read unwraps all distinct
data keys in one round-trip — it does NOT collapse the way AWS KMS does. The
real cost of per-record keys in Vault envelope mode lands on WRITES (datakey has
no batch API = one round-trip per record), and the cost of reuse is the security
model (shared key, lost per-record audit/revocation). Retitle 'Why the reuse row
collapses' -> 'Reading the table' and rewrite accordingly; fix the plaintext and
performance notes to match.

Claude-Session: https://claude.ai/code/session_018ag38k33yzmVZhLkVx7CPQ
@coderdan

coderdan commented Jul 5, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #43, which ports the HashiCorp Vault comparison into the new docs-V2 /compare IA section on the v2 branch. Closing in favor of that PR.

@coderdan coderdan closed this Jul 5, 2026
coderdan added a commit that referenced this pull request Jul 6, 2026
Ports the comparison content from PR #31 (AWS KMS merge + ZeroKMS vs HSM)
and PR #34 (HashiCorp Vault) out of the legacy content/stack tree and into
the new IA `/compare` section:

- content/docs/compare/aws-kms.mdx        (from #31)
- content/docs/compare/zerokms-vs-hsm.mdx (from #31; retains its WIP TODOs)
- content/docs/compare/hashicorp-vault.mdx (from #34)
- public/images/hsm.png                    (from #31)

Each page gains v2 facets (type: concept, components, audience, reviewBy —
the claims-page review date rather than verifiedAgainst). Intra-comparison
links are rewritten to `/compare/*`; all other cross-links keep pointing at
the still-served legacy `/stack/...` pages (which hold the real content
until their sections migrate). The dead `/stack/cipherstash/secrets` link on
the Vault page (no secrets page exists in this repo) is delinked.

The comparisons overview and nav (index.mdx, meta.json) list the three
ported pages. The FHE comparison stays in the legacy tree for now — it is
written against EQL v2 (eql_v2_encrypted, BLAKE3) and needs a v3 content
refresh before porting, tracked separately in IA.md (/compare/fhe port).

Supersedes #31 and #34 for the v2 branch.

Claude-Session: https://claude.ai/code/session_01CqDNqLSEEkCi7xAJFq7HJA
coderdan added a commit that referenced this pull request Jul 8, 2026
Ports the comparison content from PR #31 (AWS KMS merge + ZeroKMS vs HSM)
and PR #34 (HashiCorp Vault) out of the legacy content/stack tree and into
the new IA `/compare` section:

- content/docs/compare/aws-kms.mdx        (from #31)
- content/docs/compare/zerokms-vs-hsm.mdx (from #31; retains its WIP TODOs)
- content/docs/compare/hashicorp-vault.mdx (from #34)
- public/images/hsm.png                    (from #31)

Each page gains v2 facets (type: concept, components, audience, reviewBy —
the claims-page review date rather than verifiedAgainst). Intra-comparison
links are rewritten to `/compare/*`; all other cross-links keep pointing at
the still-served legacy `/stack/...` pages (which hold the real content
until their sections migrate). The dead `/stack/cipherstash/secrets` link on
the Vault page (no secrets page exists in this repo) is delinked.

The comparisons overview and nav (index.mdx, meta.json) list the three
ported pages. The FHE comparison stays in the legacy tree for now — it is
written against EQL v2 (eql_v2_encrypted, BLAKE3) and needs a v3 content
refresh before porting, tracked separately in IA.md (/compare/fhe port).

Supersedes #31 and #34 for the v2 branch.

Claude-Session: https://claude.ai/code/session_01CqDNqLSEEkCi7xAJFq7HJA
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant