CAIN-42 CAIN Studio

Evidence library · niche

Identity, authority & delegation

Who an agent is, what it may do, and who allowed it. 964 tested invariants.

Last reviewed 2026-10-01

964 of 964 held

Where this niche's rules come from

Test families in this niche

capability (54) · handshake (54) · authorization_binding (49) · aip (48) · revocation (26) · credential (25) · domain (21) · service_passport (21) · non_authority (18) · binding (16) · lease_v2 (15) · protected_key (14) · research (13) · state_machine (11) · cross_domain (11) · delegation (11) · kernel (11) · delegation_attenuation (9) · replay_revocation (9) · moat (9) · risk (6) · failure_class (6) · root_of_trust (6) · telemetry (5) · action (5) · action_binding (4) · config_key (4) · knowledge_revocation (4) · primitive (4) · agency_graph (4) · relationship (4) · delegation_receipt (3) · reassessment (3) · capability_passport (3) · authority_graph (3) · integrity (3) · consistency (3) · soc (3) · lease (3) · operation_kind (3) · event_kind (3) · exhaustion_mode (3) · gap_detector (3) · profile (3) · graph (3) · approval (2) · offline (2) · registration (2) · scientist (2) · radar (2) · federation (1) · intent (1) · tenancy (1) · cross-domain (1) · passport (1) · stage (1) · operation_state (1) · status (1) · environment_query (1) · ip (1) · competitive_gap (1) · authority_algebra (1) · minimum_authority (1) · systemic (1)

Where these come from

Rules 301–450 of 964

IDRuleBundleResult
NET-L08NET-L08 CONTRACT IS NOT AUTHORITYE24held
NET-L09NET-L09 MONEY IS NOT AUTHORITYE24held
NET-L10NET-L10 REPUTATION IS NOT AUTHORITYE24held
NET-L12NET-L12 IDENTITY DOES NOT IMPLY AUTHORITYE24held
NET-L13NET-L13 A CAPABILITY ADVERTISEMENT IS A CLAIME24held
NET-L14NET-L14 LOSS OF CONNECTIVITY NEVER CREATES AUTHORITYE24held
NET-L19NET-L19 MEMORY IS NOT TRUST, AUTHORITY OR FACTE24held
NET-L20NET-L20 ROUTING NEVER CHANGES AUTHORITYE24held
NET-SOUND-agent-a-agent-b-readagent-a -> agent-b read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-b-notifyagent-a -> agent-b notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-b-dispatchagent-a -> agent-b dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-b-writeagent-a -> agent-b write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c-readagent-a -> agent-c read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c-notifyagent-a -> agent-c notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c-dispatchagent-a -> agent-c dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c-writeagent-a -> agent-c write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-a2-readagent-a -> agent-a2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-a2-notifyagent-a -> agent-a2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-a2-dispatchagent-a -> agent-a2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-a2-writeagent-a -> agent-a2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c2-readagent-a -> agent-c2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c2-notifyagent-a -> agent-c2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c2-dispatchagent-a -> agent-c2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a-agent-c2-writeagent-a -> agent-c2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a-readagent-b -> agent-a read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a-notifyagent-b -> agent-a notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a-dispatchagent-b -> agent-a dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a-writeagent-b -> agent-a write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c-readagent-b -> agent-c read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c-notifyagent-b -> agent-c notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c-dispatchagent-b -> agent-c dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c-writeagent-b -> agent-c write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a2-readagent-b -> agent-a2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a2-notifyagent-b -> agent-a2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a2-dispatchagent-b -> agent-a2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-a2-writeagent-b -> agent-a2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c2-readagent-b -> agent-c2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c2-notifyagent-b -> agent-c2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c2-dispatchagent-b -> agent-c2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-b-agent-c2-writeagent-b -> agent-c2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a-readagent-c -> agent-a read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a-notifyagent-c -> agent-a notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a-dispatchagent-c -> agent-a dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a-writeagent-c -> agent-a write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-b-readagent-c -> agent-b read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-b-notifyagent-c -> agent-b notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-b-dispatchagent-c -> agent-b dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-b-writeagent-c -> agent-b write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a2-readagent-c -> agent-a2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a2-notifyagent-c -> agent-a2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a2-dispatchagent-c -> agent-a2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-a2-writeagent-c -> agent-a2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-c2-readagent-c -> agent-c2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-c2-notifyagent-c -> agent-c2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-c2-dispatchagent-c -> agent-c2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c-agent-c2-writeagent-c -> agent-c2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-a-readagent-a2 -> agent-a read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-a-notifyagent-a2 -> agent-a notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-a-dispatchagent-a2 -> agent-a dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-a-writeagent-a2 -> agent-a write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-b-readagent-a2 -> agent-b read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-b-notifyagent-a2 -> agent-b notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-b-dispatchagent-a2 -> agent-b dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-b-writeagent-a2 -> agent-b write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c-readagent-a2 -> agent-c read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c-notifyagent-a2 -> agent-c notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c-dispatchagent-a2 -> agent-c dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c-writeagent-a2 -> agent-c write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c2-readagent-a2 -> agent-c2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c2-notifyagent-a2 -> agent-c2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c2-dispatchagent-a2 -> agent-c2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-a2-agent-c2-writeagent-a2 -> agent-c2 write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a-readagent-c2 -> agent-a read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a-notifyagent-c2 -> agent-a notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a-dispatchagent-c2 -> agent-a dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a-writeagent-c2 -> agent-a write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-b-readagent-c2 -> agent-b read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-b-notifyagent-c2 -> agent-b notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-b-dispatchagent-c2 -> agent-b dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-b-writeagent-c2 -> agent-b write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-c-readagent-c2 -> agent-c read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-c-notifyagent-c2 -> agent-c notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-c-dispatchagent-c2 -> agent-c dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-c-writeagent-c2 -> agent-c write: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a2-readagent-c2 -> agent-a2 read: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a2-notifyagent-c2 -> agent-a2 notify: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a2-dispatchagent-c2 -> agent-a2 dispatch: authorized only if independently derivable, via E8E24held
NET-SOUND-agent-c2-agent-a2-writeagent-c2 -> agent-a2 write: authorized only if independently derivable, via E8E24held
NET-U-a2aa2a: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-mcpmcp: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-httphttp: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-restrest: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-grpcgrpc: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-websocketwebsocket: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-event_busevent_bus: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-message_queuemessage_queue: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-clicli: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-browserbrowser: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-computer_usecomputer_use: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-local_ipclocal_ipc: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
NET-U-cloud_apicloud_api: an unmapped operation normalizes to UNKNOWN (never to a capability)E24held
I-CAP-configure-no_delegationconfigure: no_delegation refusedE25held
I-CAP-configure-target_out_of_scopeconfigure: target_out_of_scope refusedE25held
I-CAP-configure-unregisteredconfigure: unregistered refusedE25held
I-CAP-create-no_delegationcreate: no_delegation refusedE25held
I-CAP-create-target_out_of_scopecreate: target_out_of_scope refusedE25held
I-CAP-create-unregisteredcreate: unregistered refusedE25held
I-CAP-credential-no_delegationcredential: no_delegation refusedE25held
I-CAP-credential-target_out_of_scopecredential: target_out_of_scope refusedE25held
I-CAP-credential-unregisteredcredential: unregistered refusedE25held
I-CAP-delegate-no_delegationdelegate: no_delegation refusedE25held
I-CAP-delegate-target_out_of_scopedelegate: target_out_of_scope refusedE25held
I-CAP-delegate-unregistereddelegate: unregistered refusedE25held
I-CAP-delete-no_delegationdelete: no_delegation refusedE25held
I-CAP-delete-target_out_of_scopedelete: target_out_of_scope refusedE25held
I-CAP-delete-unregistereddelete: unregistered refusedE25held
I-CAP-deploy-no_delegationdeploy: no_delegation refusedE25held
I-CAP-deploy-target_out_of_scopedeploy: target_out_of_scope refusedE25held
I-CAP-deploy-unregistereddeploy: unregistered refusedE25held
I-CAP-destroy-no_delegationdestroy: no_delegation refusedE25held
I-CAP-destroy-target_out_of_scopedestroy: target_out_of_scope refusedE25held
I-CAP-destroy-unregistereddestroy: unregistered refusedE25held
I-CAP-execute-no_delegationexecute: no_delegation refusedE25held
I-CAP-execute-target_out_of_scopeexecute: target_out_of_scope refusedE25held
I-CAP-execute-unregisteredexecute: unregistered refusedE25held
I-CAP-list-no_delegationlist: no_delegation refusedE25held
I-CAP-list-target_out_of_scopelist: target_out_of_scope refusedE25held
I-CAP-list-unregisteredlist: unregistered refusedE25held
I-CAP-notify-no_delegationnotify: no_delegation refusedE25held
I-CAP-notify-target_out_of_scopenotify: target_out_of_scope refusedE25held
I-CAP-notify-unregisterednotify: unregistered refusedE25held
I-CAP-observe-no_delegationobserve: no_delegation refusedE25held
I-CAP-observe-target_out_of_scopeobserve: target_out_of_scope refusedE25held
I-CAP-observe-unregisteredobserve: unregistered refusedE25held
I-CAP-pay-no_delegationpay: no_delegation refusedE25held
I-CAP-pay-target_out_of_scopepay: target_out_of_scope refusedE25held
I-CAP-pay-unregisteredpay: unregistered refusedE25held
I-CAP-query-no_delegationquery: no_delegation refusedE25held
I-CAP-query-target_out_of_scopequery: target_out_of_scope refusedE25held
I-CAP-query-unregisteredquery: unregistered refusedE25held
I-CAP-read-no_delegationread: no_delegation refusedE25held
I-CAP-read-target_out_of_scoperead: target_out_of_scope refusedE25held
I-CAP-read-unregisteredread: unregistered refusedE25held
I-CAP-send-no_delegationsend: no_delegation refusedE25held
I-CAP-send-target_out_of_scopesend: target_out_of_scope refusedE25held
I-CAP-send-unregisteredsend: unregistered refusedE25held
I-CAP-submit-no_delegationsubmit: no_delegation refusedE25held
I-CAP-submit-target_out_of_scopesubmit: target_out_of_scope refusedE25held
I-CAP-submit-unregisteredsubmit: unregistered refusedE25held
I-CAP-transfer-no_delegationtransfer: no_delegation refusedE25held

1 2 3 4 5 6 7

Other niches

Consensus & distributed systems · Attacks, threats & containment · Evidence, receipts & proofs · Memory, data & privacy · Prediction, world models & simulation · Transactions, markets & economics · Tools, MCP, protocols & adapters · Autonomy, control loops & recovery · Policy, law & governance · Trust & reputation · Supply chain, registry & lifecycle · Benchmarks, coverage & performance · Core guarantees

Try CAIN-42 on your own agents

Create a free account and every new account starts with a 7-day trial of the full platform. Or try the sandbox first, with no account at all.

Create a free account →  ·  Try the sandbox  ·  See the whole ecosystem