Zero-knowledge is a claim anyone can make. Here's how OpaqueVault proves it — at the protocol level, on the wire, and in your AI agent's context window. No source code required.
Most security products prove two. The AI agent boundary is new. OpaqueVault is the only secret manager that proves all three.
The server stores only ciphertext. No plaintext values, no master passwords, no Key Encryption Keys. Every secret is encrypted with AES-256-GCM before it leaves your machine.
Call the API directly. The response is always an encrypted blob — never a plaintext value.
curl https://api.opaquevault.com/v1/secrets/MY_SECRET \
-H "Authorization: Bearer $OV_API_KEY"
# Response:
{
"name": "MY_SECRET",
"ciphertext_b64": "7x9mK2...",
"nonce_b64": "aB3cD4...",
"dek_encrypted_b64": "xY8zQ1...",
"dek_nonce_b64": "pL5mN6..."
} No decrypt endpoint exists. The server cannot return a plaintext value — ever.
All traffic between ov mcp serve and api.opaquevault.com uses
a post-quantum hybrid KEM — ML-KEM-768 + X25519. If either primitive is broken,
the other protects you.
Inspect the TLS handshake. The cipher suite includes ML-KEM-768 alongside X25519.
openssl s_client \
-connect api.opaquevault.com:443 \
-groups X25519MLKEM768 2>&1 \
| grep "Server Temp Key"
# Server Temp Key: X25519MLKEM768, 1216 bits NIST FIPS 203 (ML-KEM-768). Implemented via cloudflare/circl. No X25519-only fallback.
This is the guarantee no other secret manager can make. When Claude Code calls
vault_run, the raw MCP response contains exit codes and stdout — never
the secret value. Here's the actual wire format.
Enable MCP debug logging in Claude Code and capture this yourself.
Even if you accidentally paste a raw secret into Claude Code, the MCP context interceptor catches it before the model sees it. Zero-knowledge isn't just how the vault works — it's enforced at the channel level.
The interceptor runs inside ov mcp serve, scanning every
message for known secret patterns — AWS keys, GitHub tokens, Stripe keys,
private keys, connection strings, high-entropy blobs.
A match triggers a block and an audit log entry.
No black boxes. Every algorithm choice has a reason.
Argon2id time=1, mem=64MB id variant combines side-channel resistance with GPU resistance.AES-256-GCM random nonce per op crypto/rand, never reused.ML-KEM-768 NIST FIPS 203 X25519 Curve25519 HMAC-SHA256 BLAKE3
OpaqueVault scopes secrets by app / environment / name — so
my-saas/production/DATABASE_URL and side-project/dev/DATABASE_URL
can coexist without collision.
App and environment names are metadata stored alongside the encrypted blob.
They are not key material and play no role in encryption or key derivation.
The zero-knowledge guarantee is identical whether you have one app or twenty:
the server stores (ciphertext, nonce, encrypted_DEK, DEK_nonce) — useless without the user's master password.
app nameenvironment namesecret namesecret valueArchitectural proofs get you started. Third-party validation is how you scale trust.
The full API response schema is public. Anyone can call the API and inspect the encrypted blob format. The absence of a decrypt endpoint is verifiable.
Real Claude Code session traces showing the exact MCP JSON — tool call in, exit code out, no secret value anywhere in the wire format.
The exact cipher suite used on api.opaquevault.com is documented and
verifiable with standard TLS inspection tools.
Independent review of the cryptographic implementation, key derivation, and zero-knowledge architecture by a named security firm. Full report published.
Invite the security research community to find vulnerabilities. Rewards for valid findings. Responsible disclosure policy published.
Process-level assurance for enterprise buyers. Controls covering security, availability, and confidentiality. Report available to enterprise customers under NDA.
Email [email protected]. We'll respond within 48 hours. Please give us reasonable time to fix before public disclosure. We don't pursue legal action against good-faith researchers.
Fingerprint: coming soon — published before launch
Start free. No credit card required.
Verify every guarantee yourself before you commit.