Your Passport

Identity tells you who an agent is. Your Passport decides what it can do.

Bounded permissions, a human above the line you draw, and a signed evidence of final decisions.

deploy:stagingAllowed
signature
valid
grant
deploy:staging · from main
policy
let it run
receipt
rcpt_01J4…

The record

One passport. Three sides.

How a decision is made.

One production promotion, proposal to receipt.

  1. An agent operating from a defined runtime identity.

    Agent proposes

    An LLM suggests promoting dpl_7f3a to production. It holds no key and can run nothing on its own.

  2. A tool request reaching a governed execution boundary.

    Runtime signs

    CI or a KMS turns the proposal into a signed request with a single-use nonce and a five-minute expiry.

  3. A release manager approving a bounded production action.

    Your Passport decides

    Signature, freshness, grant, limits, policy — in that order. Production is held for a named approver.

  4. A completed action leaving verifiable evidence behind.

    Receipt and audit

    The decision is signed and appended to a hash-linked log. Nothing runs without a receipt.

Not who the agent is. What it can touch.

The only claims we make are the ones you can check.

Ed25519
Signed requests and decision receipts. Verify their integrity with a trusted public key.
≤ 15 min
Maximum request validity. The SDK defaults to five minutes; nonces are single-use.
0
Private keys in model context. Keep keys isolated in your trusted runtime; the LLM only proposes.

Documentation.

Questions.

It should not. Keep the key in an isolated runtime, KMS or HSM, outside the model's tools and context. Your runtime signs proposals; Your Passport evaluates permission.

The request waits for an approver. A final allow or deny can carry a signed receipt; pending requests do not. Execution still checks current authority and the one-use token. A receipt alone is not permission.

Export the audit log. Each event is hash-linked to the last and the head is signed by the key at /.well-known/passport.json. One script checks the whole chain offline.

Vercel releases to staging and production. Any MCP tool call, through the proxy. Any HTTP API you register. Purchases are receipt-only: Your Passport decides, your system spends.

No. Identity systems say who an agent is. Your Passport sits after them and decides what it may do right now, under which limits, with whose approval.

Try a request yourself.