Capability lifecycle control

Give an agent a token, hand part of it to a helper, and revoke both

SatGate turns tokens into limits you can check: narrower permissions, smaller budgets and handoff limits for sub-agents, and revokes that stop the next request.

1. Issue capability

Allowed

Issue scoped authority to the parent agent

Grant authority for one defined job — not open-ended access.

Issue a macaroon-style capability with caveats for tenant, task, allowed tools, budget, expiry, and delegation depth.

Proof event

parent capability created

Visible delegation state

Parent capability
cap_parent_1042
Child capability
cap_child_77ac
depth: 1 / 1
Tenant
acme-prod
only this customer environment
Task
invoice-reconciliation
only this job
Route scope
/invoices/read-only
only this API path and action set
Parent budget
2,500 credits
total spend ceiling
Child spend cap
500 credits
child capability cannot exhaust the parent budget
Child spend used
28 / 500 credits
remaining spend stays visible
Delegation depth
1 child level
limits downstream delegation chains
Allowed child tools
repo_search, invoice_read
approved read-only tools
Denied tools
payment_release, vendor_update
high-risk actions are blocked
TTL
15 minutes
expires with the task window

Macaroons and caveats, translated into enterprise controls

Narrowing becomes bounded authority: what the agent may do, how far it may delegate, how much the child may spend, when authority expires or is revoked, and what proof remains.

Macaroon

A portable credential that carries bounded-authority caveats.

Caveat

An enforceable limit on budget, tool, route, tenant, time, delegation depth, or revocation state.

Narrowing

Making a child capability narrower than the parent. Delegation adds caveats without removing or widening parent limits; gateway policy enforces the result.

Delegation depth

How many handoffs are allowed before the chain must stop.

Revocation check

A revocation control evaluated before the next model, API, or MCP tool call.

Signed receipt

SatGate’s signed record of a refusal or a spend, with the route or tool, the decision and a refusal code, that anyone can check.

Next-request revocation

The token’s history shows the child’s narrower limits and its handoff limit. After a revoke, the token’s next request is refused before it reaches your service.