RBAC ceiling
Coarse job-function entitlement establishes whether the agent is eligible for the action.
A deterministic offline comparison of authorization strategies over one synthetic public identity world and its separately evaluated authority truth. This report is not a policy engine, deployment result, vendor comparison, or SynthWorld Explorer artifact.
Coarse job-function entitlement establishes whether the agent is eligible for the action.
An active, resource-covering delegated relationship must connect the originator, agent and target.
Tenant, runtime, credential, purpose, scope, action and policy-version context must remain valid.
Default deny. RBAC, ReBAC and ABAC must all allow; downstream lifecycle and revocation checks still apply.
Human-owner authority is not unioned into agent authority. The combined strategy is the proposed least-authority composition, not an automatically recommended production policy.
| Strategy | Metric | Value | Support | Support / denominator meaning |
|---|---|---|---|---|
| rbac | authorization_decision_accuracy | 0.5714 | 7 | scored action events |
| rbac | authorization_decision_precision | 0.5000 | 6 | actions the trace allowed at action time |
| rbac | authorization_decision_recall | 1.0000 | 3 | actions truth allows at action time |
| rbac | least_privilege_accuracy | 0.2500 | 4 | actions truth denies |
| rbac | excess_authority_rate | 0.7500 | 4 | actions truth denies |
| rbac | temporal_validity_accuracy | 0.0000 | 2 | action events labelled valid_then_revoked, post_revocation_action or invalid_then_later_granted |
| abac | authorization_decision_accuracy | 0.8571 | 7 | scored action events |
| abac | authorization_decision_precision | 0.7500 | 4 | actions the trace allowed at action time |
| abac | authorization_decision_recall | 1.0000 | 3 | actions truth allows at action time |
| abac | least_privilege_accuracy | 0.7500 | 4 | actions truth denies |
| abac | excess_authority_rate | 0.2500 | 4 | actions truth denies |
| abac | temporal_validity_accuracy | 0.0000 | 2 | action events labelled valid_then_revoked, post_revocation_action or invalid_then_later_granted |
| rebac | authorization_decision_accuracy | 0.7143 | 7 | scored action events |
| rebac | authorization_decision_precision | 0.6000 | 5 | actions the trace allowed at action time |
| rebac | authorization_decision_recall | 1.0000 | 3 | actions truth allows at action time |
| rebac | least_privilege_accuracy | 0.5000 | 4 | actions truth denies |
| rebac | excess_authority_rate | 0.5000 | 4 | actions truth denies |
| rebac | temporal_validity_accuracy | 1.0000 | 2 | action events labelled valid_then_revoked, post_revocation_action or invalid_then_later_granted |
| combinedProposed composition | authorization_decision_accuracy | 1.0000 | 7 | scored action events |
| combinedProposed composition | authorization_decision_precision | 1.0000 | 3 | actions the trace allowed at action time |
| combinedProposed composition | authorization_decision_recall | 1.0000 | 3 | actions truth allows at action time |
| combinedProposed composition | least_privilege_accuracy | 1.0000 | 4 | actions truth denies |
| combinedProposed composition | excess_authority_rate | 0.0000 | 4 | actions truth denies |
| combinedProposed composition | temporal_validity_accuracy | 1.0000 | 2 | action events labelled valid_then_revoked, post_revocation_action or invalid_then_later_granted |
Accuracy, precision and recall describe different decision populations. Least-privilege accuracy and excess-authority rate are complements over truth-denied actions. Temporal validity is restricted to explicitly labelled timing cases. Undefined values remain undefined rather than being coerced to zero.
Expected outcomes below are evaluator truth. FAIL means a policy decision disagreed with that truth. An attribution case can have a correct allow while attribution itself remains unmeasured by these decision-only policies.
| Case | Expected | RBAC | ABAC | ReBAC | Combined |
|---|---|---|---|---|---|
| authorised action | allow | allow (PASS) | allow (PASS) | allow (PASS) | allow (PASS) |
| outside capability | deny | deny (PASS) | deny (PASS) | deny (PASS) | deny (PASS) |
| wrong runtime | deny | allow (FAIL) | deny (PASS) | allow (FAIL) | deny (PASS) |
| credential invalid | deny | allow (FAIL) | deny (PASS) | allow (FAIL) | deny (PASS) |
| valid then revoked | allow | allow (PASS) | allow (PASS) | allow (PASS) | allow (PASS) |
| incorrect attribution | allow | allow (PASS) | allow (PASS) | allow (PASS) | allow (PASS) |
| post revocation action | deny | allow (FAIL) | allow (FAIL) | deny (PASS) | deny (PASS) |
Measured scope: action-time and audit-time decisions reported by the teaching policies. The case table shows each submitted action-time decision; "not observed" means no decision was reported.
Not measured: independent identity resolution, actor attribution, ownership reconstruction, retained evidence, and real execution or side effects. Zeros for these dimensions in the JSON reports indicate missing observations, not tested failures of those capabilities.
A policy that never reports an allow can have perfect least-privilege accuracy. Always read that metric with decision coverage and recall.
Run the same seed with --omit-delegation-check in a new output directory to omit the entire ReBAC authority view. RBAC and ABAC remain enabled; the post-revocation action can then be incorrectly allowed.
The world summary records the submission's declared setting. This is self-reported metadata, not independent verification of policy execution. Scores evaluate submitted decisions against reference truth.
These seven constructed cases compare these particular teaching policies; they do not rank RBAC, ABAC, or ReBAC generally or establish production safety.
25f03d8d37767d15a41046e0fb074b563a0142f426838e160ac07ffeeab8526b362268f6b891fce34cf6748e576afccadaba59b146fb244a59112925fc88911d