Zero-knowledge vault for API keys and credentials — encrypted in your browser, available in your terminal and AI tools. No .env files. No secrets in git.
Sign up, enable 2FA, and optionally set a custom encryption key.
Store API keys by service and environment. Bulk import from .env supported.
Run apivault login, approve in your browser, and you're paired.
apivault run --env Production -- npm start — secrets in memory, not on disk.
Encryption
ApiVault uses AES-256-GCM with keys derived via Argon2id — all in your browser. The server stores only ciphertext. Your master password and raw secrets never touch our servers.
Choose default encryption or bring your own vault key for full zero-knowledge mode.
Create your vaultCLI
Run any command with secrets loaded directly into process memory. apivault run hides local .env files while your app runs, then restores them automatically. Export to .env when you need it — with owner-only file permissions.
apivault login — browser-based CLI authorizationapivault keys list / add / reveal / deleteapivault env export --env Productionapivault config set run.env ProductionAI agents
Give coding agents temporary, auditable access to the secrets they need — without checking keys into git or pasting them into chat. Remote MCP with OAuth connects your vault to Cursor and other MCP-compatible tools — approve access once in your browser.
Connect an agentReplace scattered .env files with one encrypted vault. Run local apps with apivault run and never commit secrets again.
Connect Cursor or Claude via MCP. Your agent gets the Stripe or OpenAI key it needs — scoped, revocable, never in chat history.
Separate Production, Staging, and Development keys. Switch environments with one flag: --env Production.
Built for developers who actually read the security model.
Secrets encrypted in-browser with AES-256-GCM before upload.
Optional zero-knowledge mode — only you hold the decryption key.
WebAuthn passkeys and TOTP two-factor on every account.
View and revoke active browser and CLI sessions anytime.
CLI auth via one-time browser approval — no passwords in terminal.
Keys show masked previews; full values only on explicit reveal.