SECURITY · ACCESS INSPECTION DESK
Agent boundary: enforce action permissions
Inspect credential claims, policy gates and the resource decision. Change a condition and follow the exact denial reason.
Your experiment
Try read, write and delete with viewer, operator and admin. For each action, verify the required scope as well as the role permission.
Prediction is computed immediately; Play reveals each gate in order. A denial prevents every later gate from running. Capture a baseline before changing one field.
Illustrative claims
Decision trace
Offline policy exercise—not a JWT validator, OAuth server or production security boundary. Verification is an injected test result; no cryptography, real tokens, keys or records are used. Never rely on browser controls to enforce real authorization. Roles, gate order and strict same-tenant rules are application-specific assumptions, not universal OAuth requirements. Expiry is evaluated at a fixed instant; animation does not age the token. No revocation, clock skew or delegation is modeled. Bearer token reference · JWT claims reference.
Enforce the resource boundary before role permission
A role is meaningful inside a defined resource and tenant scope. The simulated agent receives a credential for one tenant and a requested resource for another. The tenant gate precedes scope and role decisions, making a cross-tenant attempt observable even when the caller otherwise has broad permissions. Inspect the first denial rather than assuming the most powerful role can override every boundary.
Supply the credential and resource facts
Bearer credential present and Trusted verification result control the first two authentication gates. The latter is an injected authenticator result, not an actual signature computation. Issuer selects a trusted or unknown issuer; Audience chooses this agent API or another API. Seconds until expiry is evaluated at a fixed instant, with zero already expired. Principal tenant and Resource tenant define the boundary. Role selects viewer, operator or admin; Requested action chooses read, write or delete. The read, write and delete scope checkboxes represent independently granted token scopes. Changing a fact resets inspection of the same ordered policy.
Show why admin is not cross-tenant authority
Set Role to admin, Requested action to delete and enable delete scope. Leave both tenants at team-a: the request is allowed. Change only Resource tenant to team-b. The decision becomes HTTP 403 at Tenant boundary, and the later scope and role gates are not-run. Change Principal tenant to team-b as well and the same admin/delete credential passes. Now remove delete scope: the first denial moves to Required scope. This sequence distinguishes tenant mismatch from a missing action grant without changing unrelated claims.
Inspect first denial and later gates
The desk evaluates token presence, verification, issuer, audience, expiry, tenant, required scope and role in that order. The first denial determines the displayed HTTP result. Later gates are not-run, not additional failures or successful checks. The credential JSON and policy preview describe the complete selected scenario before animation finishes. Play reveals eight gates over thirty-two seconds at normal speed; Pause holds progress, Step advances one gate, Restart rewinds and Speed chooses half, normal or double inspection pace. Edits start playback unless reduced motion is requested. The resource vault opens only after inspection reaches the final decision and every required policy has passed.
Keep the security boundary explicit
This is a deterministic application authorization policy over fixture claims. It does not parse a JWT, retrieve a JWK, verify a cryptographic signature, issue an OAuth token, run a real identity provider or contact a protected endpoint. The verification checkbox is evidence supplied to the policy, not a way to bypass real cryptography. Expiry is not a live countdown; no clock skew, refresh flow, revocation, multiple audiences or scope hierarchy is implemented. Admin privileges are tenant-local in this fixture. HTTP 401 and 403 are the chosen teaching policy outcomes, not a claim that every provider uses this exact gate order or error text.