AgentKit
DocsKitsCLI ReferenceDesktop App

Guides

Use the vault from a browser

Enrol a browser as a device of your synced secrets vault, manage secrets in the vault dashboard without ever revealing a value, and remove the browser again.

The vault dashboard is a web page that joins your synced secrets vault as one more device, like a second laptop. It lists and edits your secrets, but it never shows a value.

Staging only, pre-release

The dashboard runs on staging at https://vault-staging.agentkit.best/app, with an AgentKit staging account. It is pre-release and not for production credentials. Production has it switched off. Its status is tracked by the ak-vault release gates.

What the browser holds

The dashboard creates its own device keys in the browser, keeps them in IndexedDB as non-extractable keys, and decrypts in the page, so the vault server still receives only ciphertext from it. Enrolment adds a device only to an account that owns the vault, so the dashboard is for vault owners; an editor of a shared vault cannot add a browser.

You need a vault that already syncs on at least one device you own (see Cloud sync). The sync and device commands are hidden from ak secrets --help and their syntax may change.

Enrol the browser

  1. Sign in. Open https://vault-staging.agentkit.best/app and sign in with your AgentKit account. The sign-in itself goes through agentkit.best.

  2. Copy the join code. The first sign-in shows a join code that starts with akj1-.

  3. Approve it in a terminal. On a device that already owns the vault, run:

    ak secrets devices approve <join-code>

    It prints an offer code. Paste that into the browser, which then shows a 6-digit code.

  4. Check the 6-digit code. The terminal shows a 6-digit code too. Answer y only if both codes match, then choose I approved it, continue in the browser.

Approval needs you at a terminal you opened yourself: it is refused when an AI agent runs it and with --json. Nothing verifies the label Browser the join carries, so devices approve calls it "a device that says it is a web browser". Approve it only if you started the join in a browser yourself. Approving gives that device every vault key the approving device holds.

Unlock and lock

The dashboard has no vault passphrase of its own: every visit unlocks with a fresh sign-in. Lock, or leaving the page, drops the session and the decrypted view from memory and ends the sign-in. The device keys stay in this browser for the next visit.

What the dashboard can do

  • List and filter. List secrets with their metadata: sensitivity, dates and profile fields, each marked with where it came from. Filter by name or metadata, or find an exact name. Filtering and search run in the browser over the copy it verified; no query goes to the server.
  • Describe. Open a secret's profile and its signed revision history: each revision's device, time, key epoch, deletions and conflict branches.
  • Set and delete. Set a value or delete a secret. Each change is a signed revision written by this browser device, so a concurrent change on another device becomes a conflict, never an overwrite.
  • Restore and resolve. Restore an earlier value as a new revision, or resolve conflicting branches. Both ask you to confirm. A deleted secret is not brought back, and restoring an old credential does not make it valid again at its provider. A conflict that includes a deletion or an unreadable branch is left to ak secrets sync settle.
  • Members and access. The read-only Members and access tab lists the accounts, roles and devices the signed membership chain names, removed devices, the key epoch, a pending rekey, and the items a removal flagged for rotation.

What it never does

  • It never reveals a value. It never shows, copies or stores one. The value field is write-only and is cleared when you save. History never shows a value, and a revision this browser has no key for is marked unavailable / unverified.
  • It does not manage the vault. It signs no checkpoints. It cannot invite, remove or re-role members, rekey, read the recovery bundle, publish the seal key, or apply writes an AI tool queued: the server refuses those for a browser session. Use the CLI on an owner device instead. In a shared vault, a member's role change or removal is signed from the CLI on a human owner device. Adding or inviting a member is not available yet.

Remove a browser

  1. Find its device ID. The dashboard header shows its first eight characters as "Device …". The CLI lists every device; a browser you approved from this device is marked "(says it is a web browser)":

    ak secrets devices list
  2. Remove it from an owner device.

    ak secrets devices remove --reason retired -- <device-prefix>

    Use --reason lost, stolen or compromised when that fits better. The command asks for the vault password and the current recovery key, and needs an email sign-in. It moves the vault to a new key, wrapped only for the remaining devices, so the browser cannot read new writes. When the removed browser next syncs, it is refused and deletes its own device key.

  3. Rotate what it could read. Removal ends future access only. It cannot take back what the browser already decrypted, so if the browser may be compromised, rotate those secrets at their provider. ak secrets list keeps flagging them on every device until each is rotated.

  4. End its sign-in. If Connected apps in your AgentKit account lists AgentKit Vault dashboard, disconnect it too.

To let a hosted AI tool use the vault instead of a browser, see Connect an AI tool to the vault.