Agent identity
Every agent gets an identity, not just a key.
Static keys never expire and never say who is calling. Trade one for a short-lived signed token that carries the agent's identity, its scopes, and an expiry, then verify it anywhere without calling home.
15-minute default TTL · verified locally · no database round-trip
{
"sub": "agent_7f3c2a",
"workspace": "ws_demo",
"scope": ["gateway:write", "logs:read"],
"exp": "in 14m 51s"
}Why short-lived
A leaked static key is a standing invitation.
A key that never expires and never names a caller is the easiest thing in your stack to misuse.
Never expires
A copied key works until someone notices and rotates it, which is often never.
Says nothing
A bare key carries no identity, no scope, and no subject to attribute an action to.
Shared blast radius
One key across many agents means one leak compromises all of them at once.
Token lifecycle
Exchange once. Verify everywhere. Expire automatically.
Watch a static key become a signed token, inspect its claims, and see it expire on a live clock. Tamper with it and the signature check fails.
Mint a token
Trade a static key for a short-lived signed token. Pick a lifetime and watch it expire.
Default
Maximum
A modified token fails its signature check locally, with no call home.
{
"iss": "axiorank",
"sub": "agent_7f3c2a",
"workspace": "ws_demo",
"scope": [
"gateway:write",
"logs:read"
],
"iat": 0,
"exp": 0,
"jti": "tok_000000000000"
}Verification
Verified against a public key, with no call home.
The gateway holds only the public key, so it can confirm a token is real and unexpired without ever asking the console.
- Receive the tokenon the gateway
- Check the signatureagainst a public key
- Check expiry and scopesall in process
- Accept or rejectno call home
Nothing on the hot path
Least privilege
Scope a key to exactly what an agent should do.
Toggle scopes and watch which control-plane actions the key can and cannot perform. Most agents need one or two.
Key scopes
Grant only what an agent needs. Every scope you leave off is one it can never use.
- gateway:writeRun governed tool calls
- cards:verifyVerify external MCP and A2A cards
- inbound:verifyVerify inbound agents
- logs:readRead the audit trail
- policies:writeCreate and edit policies
- agents:writeCreate and manage agents
- keys:writeRotate and revoke keys
What this key can do
- Govern an outbound tool callgateway:write
- Verify an external server before trusting itcards:verify
- Verify an agent that visits your siteinbound:verify
- Read the redacted audit traillogs:read
- Write a new policypolicies:write
- Quarantine a misbehaving agentagents:write
- Rotate a leaked keykeys:write
Migration
Keep your static keys while you roll tokens out.
Adopting short-lived identity is not a flag day.
Backward compatible
Keep exploring
Continue across the control plane.
Stop trusting keys that never expire.
Give every agent a short-lived identity that proves who is calling and disappears on its own.