Context
On adk-python#4764, @sunilp identified the convergence between AIP delegation tokens and APS delegation chains. Both systems enforce authority narrowing at each hop, with cryptographic budget, scope, and depth constraints.
Two IETF drafts now cover adjacent layers:
- draft-prakash-aip: Token-level delegation — portable, self-contained authorization
- draft-pidlisnyi-aps-00: Identity + delegation + enforcement + governance — gateway-enforced with signed receipt chains
Proposed Integration
AIP tokens can serve as APS delegation credentials. The mapping:
| AIP Concept |
APS Equivalent |
| Delegation token |
Delegation (scope, spendLimit, maxDepth, expiry) |
| Token hop |
DelegationChainLink (monotonic narrowing) |
| Budget constraint |
spendLimit + spentAmount tracking |
| Token verification |
PolicyValidator.evaluate() input |
The APS ActionIntent.delegationId would reference the AIP token, and the gateway would verify the token chain before evaluating policy.
Deliverables
- Shared test vectors — delegation chains with scope narrowing, spend attenuation, depth enforcement. Both SDKs verify against the same vectors
- Cross-reference in IETF drafts — each draft references the other as a complementary layer
- Integration example — AIP token issued → APS gateway validates → PolicyEvaluator checks scope → signed receipt with token reference
Open Questions
- Token-level vs gateway-level enforcement: should the APS gateway trust the AIP token's scope claim, or independently verify scope against its own delegation registry?
- How does AIP handle cascade revocation? If a delegator revokes, do downstream tokens become invalid?
@sunilp — would shared test vectors or a joint interop example be the right starting point?
Context
On adk-python#4764, @sunilp identified the convergence between AIP delegation tokens and APS delegation chains. Both systems enforce authority narrowing at each hop, with cryptographic budget, scope, and depth constraints.
Two IETF drafts now cover adjacent layers:
Proposed Integration
AIP tokens can serve as APS delegation credentials. The mapping:
Delegation(scope, spendLimit, maxDepth, expiry)DelegationChainLink(monotonic narrowing)spendLimit+spentAmounttrackingPolicyValidator.evaluate()inputThe APS
ActionIntent.delegationIdwould reference the AIP token, and the gateway would verify the token chain before evaluating policy.Deliverables
Open Questions
@sunilp — would shared test vectors or a joint interop example be the right starting point?