Inside the workflow / API keys
API keys
Plain string credentials with per-agent scope. Rotation windows, last-used timestamps, revocation one action deep.
Illustrative product walkthrough. Public access is not open yet.GhostStack / vault
Status: Coming soonVault serves both populations from one store. Humans manage credentials through a clean UI. Agents request them through MCP with scoped, time-bound leases. MCP credential reads return plaintext by default. Clients with reference substitution can keep values out of the model context; that behavior is not automatic.
01 / Credentials
Choose a step. See how the pieces fit together.
Inside the workflow / API keys
Plain string credentials with per-agent scope. Rotation windows, last-used timestamps, revocation one action deep.
Illustrative product walkthrough. Public access is not open yet.Inside the workflow / OAuth tokens
Store OAuth client credentials and related secret values. Provider refresh behavior depends on the integration.
Illustrative product walkthrough. Public access is not open yet.Inside the workflow / SSH keypairs
Public/private pairs stored encrypted. Ed25519 by default; RSA when a host still requires it.
Illustrative product walkthrough. Public access is not open yet.Inside the workflow / TLS certificates
Cert + key + chain together. Expiry surfaced on the dashboard; no surprises during a deploy.
Illustrative product walkthrough. Public access is not open yet.Inside the workflow / Database URLs
Connection strings with driver awareness. Treated as single credentials so the whole string rotates together.
Illustrative product walkthrough. Public access is not open yet.Inside the workflow / Generic secrets
Anything that is a string and should never sit in an env file. Same encryption envelope, same audit discipline.
Illustrative product walkthrough. Public access is not open yet.Password managers built only for humans do not answer the questions an AI agent asks. Vaults built only for apps do not give humans a dashboard. Vault serves both. The agent side is scoped leases over MCP. The human side is a clean UI for the same credentials.
Authorized clients can list scoped credential metadata and request attributed leases through remote HTTP MCP. Client authentication and secret handling must match the deployment.
Requests return leases bound to the agent run id. The server enforces configured lease bounds. Expiry prevents later redemption; it does not invalidate a secret already returned.
Every access records which agent type, which user, which run, what justification. The audit log is append-only and survives tenant deletion so incident response has history to read.
The MCP read tool returns plaintext by default. Keeping it out of model context requires a client that implements credential-reference substitution; ordinary MCP support alone does not provide that isolation.
Scope credentials to specific agent types, not just users. A scoring agent that never needs production DB creds never gets asked about them.
A Chrome and Firefox extension brings Vault into the place humans spend most of their day: browser tabs that ask for a username and a password. Same encryption, same audit chain, same RBAC. No long-lived plaintext cache; each fill is a fresh server-side lease consumed in one round-trip.
A Manifest V3 extension for both browsers auto-fills usernames and passwords on the sites you log in to every day. Sign in once via identity OAuth in a popup; the extension reads stored `login` credentials over the same REST API your CLI uses.
Match is scheme-strict (HTTPS only by default), Punycode-normalized to defeat homograph attacks, and port-aware. Subdomain match is opt-in per credential. The fill button only appears when the URL passes every check.
Each fill issues and redeems a fresh single-use lease. The reviewed extension uses a 600-second redemption deadline, not a promise that a filled password expires. No persistent credential cache is part of this path.
Each fill writes lease.issued, lease.consumed, lease.read to the tamper-evident audit chain with the user attribution and a session correlation id. Indistinguishable from a CLI reveal or a manual web-ui copy.
The reviewed providers use XChaCha20-Poly1305 authenticated encryption. The cloud KMS provider wraps per-credential data keys; the local provider uses a configured master key.
Key management is deployment-specific. The implementation includes a local key provider and a cloud KMS path. Do not assume a public deployment uses a cloud KMS or a customer-managed HSM.
Every access, lease, grant, and revoke event writes to an audit log that outlasts tenant deletion. Operators and compliance reviewers read the same log; there is no cleaner view that redacts entries.
Stored ciphertexts include an integrity tag verified on every read. Silent corruption is detected rather than returned. A read that fails integrity fails loud.
Postgres row-level security policies, branded TenantId types at the application layer, and a tenant-scoped repository decorator. Defense in depth, not a single choke point.
Interactive access uses Identity authorization. Approved machine integrations can use the authentication mode configured for their deployment.