Delegation Chains
Delegation chains are the authorization framework for AI agents in IDA. They provide cryptographically verifiable proof that an agent is authorized to act on behalf of a human or organization, with precise scope limitations.
Delegation Model
Core Principles
1. Scope Attenuation
Each hop in a delegation chain can only narrow scope, never widen it.
This is enforced via Datalog policies in Biscuit tokens. If a human delegates “purchase groceries, max $200/week”, the agent:
- CAN sub-delegate “compare grocery prices only” (narrower)
- CANNOT sub-delegate “purchase electronics” (wider — different category)
- CANNOT sub-delegate “purchase groceries, max $500/week” (wider — higher budget)
2. Chain Verification
Every delegation can be verified back to its root (a human or org DID). Verifiers check:
- Root delegator is a valid, active human/org DID
- Each hop’s delegation VC is signed by the delegator at that level
- Each hop’s scope is a subset of the parent scope
- No delegation VC in the chain is revoked or expired
3. Depth Limits
Delegation chains have configurable maximum depth to prevent unbounded sub-delegation:
Delegation VC Schema
Delegation Flow
Human to Agent
Issue Delegation
Agent to Sub-Agent (Attenuated)
The API validates attenuation:
scopeis a subset of parent’s scopeconstraintsare equal or stricterexpirationDateis not later than parent’smaxDepthdoes not exceed parent’s remaining depth
Chain Verification
Verify a Delegation Chain
Response
Scope Attenuation Examples
Valid Attenuations
Invalid Attenuations
Revocation
Revoke a Delegation
When a delegation is revoked:
- The delegation VC is marked as revoked in the Revocation Registry
- All sub-delegations derived from it become invalid
- All active IBCTs based on this delegation are invalidated
- The agent (and sub-agents) can no longer present this chain
Narrowing an Active Delegation
This revokes the old delegation and issues a new, narrower one in a single atomic operation.