draft-goswami-agentic-jwt-00 (agentic JWT claims) and draft-liu-agent-operation-authorization-01 (three-layer user-workload-token binding). Claim names are defined in a single file so future audits are a one-file review.
The claim constants
Every claim name lives inpackages/core/src/standards/claims.ts as AGENTIC_JWT_CLAIMS. Each constant has a JSDoc reference to the relevant draft section.
Turning claim emission on
Claim emission is off by default. Flip theemitAgenticJwtClaims flag on your Kavach config to start populating claims on issued JWTs:
What is populated today
| Claim | Populated when | Source |
|---|---|---|
agent_id | The issuing code path has an agent in context | AgentIdentity.id |
agent_type | Agent session is delegated, autonomous, or supervised | Delegation mode |
trust_tier | Trust score band is resolvable | Trust module |
on_behalf_of, act, may_act, audit_ref, tool_constraints, wit, operation | Deferred to follow-up releases | See “Roadmap” below |
Roadmap
- Three-layer binding (
wit,operation): coming with workload identity support. actandmay_actfor RFC 8693 delegation chains: coming with the delegation chain refactor.- Auto-populated
trust_tieron the MCP token path without manual context wiring: follow-up.
What this does not aim at
- OpenID for Verifiable Presentations (OID4VP). Out of scope for agent sign-in. Verifiable Credentials KavachOS issues are for audit, not for sign-in.
- SPIFFE URI scheme. Agent identity uses DIDs (
did:key,did:web) which fit the hosted path better. - Post-quantum signatures (ML-DSA). Tracked, not scheduled.