Token Vault
Architecture

Binding Your Webhook

The one-time handshake that pairs your deployed webhook with your Token Vault account — bind page, one-time code exchange, HMAC establishment, and troubleshooting.

Binding pairs a deployed webhook with your Token Vault account in one automatic handshake — you never copy an HMAC secret by hand. This page assumes you know how the two planes divide; if you don't have a webhook deployed yet, start with the Quickstart.

Configuration at a glance

SettingValue
StorageYour webhook server (via the /v1/storage protocol)
EncryptionYour webhook's choice — reference implementations encrypt at rest with AES-256-GCM
Token RefreshWebhook-autonomous by default; opt-in TV-mediated for built-in providers — see Token Refresh
Kill SwitchYes — see Architecture
Credential exposure to TVNone (one opt-in exception: TV-mediated refresh briefly handles tokens in transit — never stored)
TV Static IP34.12.35.243 (for IP whitelisting)

The bind handshake

Loading diagram...

1. Deploy a webhook server

Your webhook implements the webhook protocol — eight core endpoints across two categories (HMAC-signed calls from Token Vault, and ticket-authenticated direct access from agents and browsers). The TypeScript reference implementation runs on Cloudflare Workers, Cloud Run, or Deno.

2. Open the webhook's bind page

Your webhook serves a /bind page that generates a one-time registration link. Visit it in your browser:

https://your-webhook.example.com/bind

The bind page shows your webhook's external URL and a "Connect to TokenVault" button.

3. Click "Connect to TokenVault"

The button redirects you to Token Vault's /vault/webhook-bind page with three URL parameters:

  • code - a one-time exchange code (UUID, 5-minute TTL)
  • webhook_url - your webhook's URL (base64-encoded)
  • hmac_hash - SHA-256 hash of the webhook's HMAC secret (for tamper detection)

Webhook bind page

4. Confirm the binding

On the Token Vault bind page, review the webhook URL and click Connect. Token Vault calls your webhook's /v1/exchange endpoint with the one-time code, receives the HMAC secret directly from the webhook, and stores the webhook configuration. During the same exchange your webhook advertises its capabilities (e.g. tv-refresh, totp), which unlock optional flows.

5. Start using your vault

Once bound, your vault is ready. Tokens you add from this point go straight to your webhook for storage.

Setup wizard with Webhook Sovereign selected

HMAC authentication

After the initial code exchange, every request from Token Vault to your webhook is signed with HMAC-SHA256. Your webhook must verify the signature before processing any request. See the webhook authentication docs for details.

Troubleshooting

Next Step

Add your first token →, then give an agent access.

Ready to try it?

Sign up free with Google — your credentials stay on your own webhook, and the quickstart gets an agent fetching its first credential in about ten minutes.

On this page