The core rule
Avibe’s Vault APIs return names, value-free metadata, approval states, or public signatures — not secret values. This keeps the value out of chat and model context as long as the command receiving it does not print or otherwise disclose it.vibe vault run cannot sanitize a child process’s stdout or stderr. If that process prints its environment or includes a credential in diagnostic output, the output can return to the Agent and enter model context. Only run commands you trust not to expose secret-bearing output.
For a static secret, Avibe can inject the value into a child process or attach it to an authenticated HTTP request. For a signing key, the private key stays in custody and only a public signature comes back.
Standard and Protected preview
Protected Vaults are designed for end-to-end encrypted custody, but the current build does not yet enforce the immutable sandbox integrity gate required for real users. The UI demonstrates the passkey flow; Protected must not hold production credentials, wallets, or other real secrets until that gate is enabled.
Static secrets and keypairs
- Static secret — an API key, token, password, or connection string. Use it with
vibe vault runfor process-local environment injection orvibe vault fetchfor authenticated HTTP egress. - Keypair — a deployment signing key. Its private key is not exportable and cannot be used with
runorfetch; usevibe vault signto sign a 32-byte digest. Protected keypair custody has the same pre-launch restriction above.
Secrets with several fields
A static secret can hold several named fields, like an item in a password manager — for exampleusername, password, and totp for one account. One field is the default. A secret created with a single value has one default field named value.
- Only static secrets have fields; a keypair keeps its single key.
- Field names use lowercase letters, digits, and underscores, and start with a letter. A secret holds at most 32 fields.
- You choose the default field when you create the secret. It can be renamed later but not switched to another field.
NAMErefers to the default field andNAME.fieldto a named one;NAME.<default field name>is the default field too.- Approving a secret covers all of its fields, and a
--tagor--skillselection delivers every field of each selected secret.
vibe vault run names the environment variables like this:
vibe vault fetch --auth NAME.field attaches that field’s value to the request; the allowed hosts and auth scheme still come from the secret’s policy.
In Vaults, add fields while creating a secret, or choose Use template for Login (username, password) or Login + 2FA (username, password, totp). The editor shows how an Agent will reference each field. On an existing secret you can replace any field’s value, add or remove fields, and rename the default field. Other field names are fixed: to rename one, remove it and add it again. Replacing, adding, or removing a value ends the secret’s active approvals; renaming the default field does not.
An Agent can ask for a secret with several fields in one request:
When an Agent needs a missing secret
- The Agent creates a request with the secret name, reason, and non-secret metadata.
- The request appears in Vaults in the Workbench.
- You review the request, choose Standard, and enter the value in the browser. Protected is preview-only in the current build.
- Avibe resumes the requesting Agent Session after the secret is ready.
When an Agent asks to delete a secret
An Agent never deletes a secret on its own.vibe vault remove NAME creates a delete request and leaves the secret in place until you decide.
- The request appears in Vaults and as an approval card in Chat, with the secret’s name, description, tags, and the Agent’s reason. For a secret with several fields, the card lists every field that will be removed.
- Delete removes the whole secret. Protected secrets and signing keys need a five-second hold on Delete; other secrets take one click.
- Deny keeps the secret.
- Avibe tells the requesting Session the outcome. If an Agent asks again while a request for the same secret is pending, it gets the existing request.
vibe vault remove NAME.field is rejected — so remove fields yourself in Vaults.
Finding secrets
The search box in Vaults matches names, descriptions, tags, Skills, allowed hosts, field names, andNAME.field references — never values. Every word you type has to match. Press / to focus the search and Esc to clear it.
- Tags filters by one or more tags or Skills, listed by how many secrets use them. A secret has to carry every tag you pick.
- Quick filters show All, Protected, Signing keys, or Never used secrets, and the list sorts by Name, Recently used, or Recently added.
- Search, filters, and sort stay in the page URL, so reloading or sharing the link keeps the same view.
vibe vault find.
Authorizing avault on macOS
On a Mac, avault keeps the key that encrypts Standard secrets in your login Keychain. avault 0.1.8 and later are signed by Avibe, and macOS asks once before a newly signed avault may read a key that an earlier avault created. Avibe installs the signed avault automatically, so after that update Vault cannot use the key until you approve it:- Vaults, Settings → Dependencies, and
vibe doctorshow that avault needs a one-time authorization. A Vault request that hits it fails withavault_authorization_required, and the Agent is told to ask you instead of retrying. - Choose Authorize avault, or run
vibe vault key authorizein Terminal on that Mac’s desktop. - A macOS dialog appears on the Mac running Avibe, not in your browser. Enter that Mac’s login password and choose Always Allow.
vibe vault key authorize over SSH. Avibe never shows the dialog on its own: only this explicit action does, and an Agent asks you instead of starting it.
Common commands
vibe vault find and vibe vault tags when the Agent should select by metadata instead of an exact name.
See Commands for the CLI map.