DelegusDocsv0.2

Docs/Profile delegus-base-v1

Protocol

Profile delegus-base-v1

The protocol checks, P1 to P20, in the order they run. Every receipt pins this document by its SHA-256 as protocol.profile_hash, so anyone can re-run the same checks and get the same answer.

Exact bytes /profiles/delegus-base-v1 · sha256 23d4ace09635816acf058cf86f0db15dae3ea802fce4ab2e916df0412ac7aa4e · immutable; a change is a new profile with a new name

5.2 Protocol layer — delegus-base-v1 (OPEN)#

Reproducible by anyone given: Grant, Proof, Action, RP DID, a clock, the issuer's DID document snapshot, and the status-list credential snapshot. Each check yields true | false | "skipped".

#CheckDENY reason
P1Grant parses and conforms to §3 (incl. parentGrant absent)GRANT_MALFORMED / UNSUPPORTED_FEATURE
P2kid names a verification method present in the DID document snapshotISSUER_KEY_NOT_FOUND
P3Grant signature verifiesGRANT_SIGNATURE_INVALID
P4now ≥ validFromGRANT_NOT_YET_VALID
P5now < validUntilGRANT_EXPIRED
P6Status credential signed by Delegus; bit at statusListIndex is 0AUTHORITY_REVOKED
P7audience, if present, contains RPAUDIENCE_MISMATCH
P8Proof parses and conforms to §4 (incl. jti format)PROOF_MALFORMED
P9Proof signature verifies against Agent keyPROOF_SIGNATURE_INVALID
P10Proof iss == Grant subPROOF_AGENT_MISMATCH
P11Proof grant == Grant idPROOF_GRANT_MISMATCH
P12Proof aud == RP DIDPROOF_AUDIENCE_MISMATCH
P13iat within windowPROOF_EXPIRED
P14action_hash == hash of submitted ActionPROOF_ACTION_MISMATCH
P15Action valid for its typeACTION_MALFORMED
P16Some Capability matches action.typeACTION_NOT_AUTHORIZED
P17All constraint keys knownUNKNOWN_CONSTRAINT
P18Currency authorizedCURRENCY_NOT_AUTHORIZED
P19amount ≤ maxAmountAMOUNT_EXCEEDS_AUTHORITY
P20resource matches a patternRESOURCE_NOT_AUTHORIZED

The normative text of this table, published at a stable URL, is the profile document; its SHA-256 is protocol.profile_hash in every receipt.