AVC — schema and validation
UnstableSchema
An AVC carries a unique id, subject and issuer actor ids, an optional parent AVC id (for delegation), a policy domain, a scope (action set + optional constraints), validity window, and an issuer signature.
Delegation
Delegation strictly narrows scope: a child AVC's permitted actions and constraints must be a subset of its parent's. Validation rejects any attempt to widen scope beyond the parent.
Validation rules
- Signature verifies under the registered issuer key.
- Current time is within
not_before/not_after. - Subject actor is
active. - Issuer actor is
activeand authorized to issue in the policy domain. - Parent AVC, if present, is itself valid and not revoked.
- Scope is contained within the parent's scope.
- Policy expressions evaluate without error.
Validation is fail-closed and deterministic.
Revocation
An issuer revokes their AVC by submitting a signed revocation. The revocation cascades to all derivative AVCs. Already-issued trust receipts under the revoked AVC remain as evidence of past authorization.
Signature algorithms
ML-DSA-65 (CRYSTALS-Dilithium) is the post-quantum signature for new AVCs. Hybrid signatures are supported for transitional environments.