This note holds the reference material for the three parts of AuthZEN and the Blueprint. I edit two of the AuthZEN profiles it maps, ARAP and AROP, and write the Mission-Bound Authorization drafts. Mission status and test claims come from the drafts’ own conformance manifest and implementation tracker. A test there is not a conformance, interoperability, or production claim.
In the status columns, Final means a finished specification. A working group draft is adopted and still changing. An individual draft is submitted by its authors but not adopted. An editor’s copy is unsubmitted.
Section numbers cite the Blueprint Alliance whitepaper as retrieved on September 25, 2026, which carries no version identifier.
The Full Gap Map
The table lists every Blueprint component the series touches, what it needs on the wire, and the AuthZEN work that supplies it, as of September 2026.
| Blueprint component | What it needs on the wire | AuthZEN work | Status |
|---|---|---|---|
| Gateways as PEPs (3.3.1.1) | One decision request and answer for every enforcement point | Authorization API 1.0 | Final |
| Fine-grained and relationship-based authorization (3.2.1 and rollout guidance) | Decisions about the actual order, action, caller relationships, and constraints, at issuance or execution | Engine-neutral Authorization API, with Token Issuance and COAZ-MCP bindings | Core Final and bindings working group drafts, with policy and relationship data staying at the PDP |
| Agent gateways that deny or require approval for “sensitive tool actions,” MCP gateways that govern tool traffic, and inspection of tool “arguments, payloads, schemas, and queries” (3.3.1.1, 3.3.1.2) | A portable mapping from a tool call to a decision | COAZ Framework and COAZ-MCP | Working group drafts |
| Context-aware enforcement (3.3.1.3) | Duties that travel with a decision | Obligations | Working group draft |
| Contingent review, access requests, workflow-in-the-loop (3.2.2, 3.3.1.2) | A denial that can become a request, handled by one Access Request Service for the fleet, and a fresh decision after approval | ARAP | Working group draft |
| An “ephemeral privilege scoped to that single order” (Blueprint in Action) | An approval that completes as a narrow token | AROP | Working group draft, merged September 2 |
| Cross-app access and time-bound grants (3.2.1) | A decision behind the token endpoint | Token Issuance | Working group draft at OIDF, individual draft at the IETF |
| Delegation and inheritance, A2A token exchange (3.2.1, 3.1.3) | Both parties evaluated when authority changes hands | Token Exchange | Same as Token Issuance |
| Coarse-grained, role-based controls (3.2.1) | Token roles and entitlements drawn from the policy the runtime enforces | Authorization Claims | Same as Token Issuance |
| Access reviews and separation of duties (3.2.2) | Queries over the same policy the runtime enforces | Subject, resource, and action search | Final, part of 1.0 |
| Continuous authorization (3.4.1.1) | A decision to re-run when posture changes | AuthZEN re-evaluation driven by SSF/CAEP | Final parts, composition not yet profiled |
| Tracing and traceable decision evidence (3.3.1.2, 3.3.1.3) | Identifiers that join decisions across vendors | X-Request-ID per request in 1.0 with a trace identifier carried alongside, and evaluation_id in ARAP | Final, working group draft |
| Purpose binding (3.3.1.3) | A shared record of the approved task | Not in the core API | Part three |
The access-review and separation-of-duties rows rest on AuthZEN search. Access reviews in section 3.2.2 are “automated, continuous entitlement scanning,” and separation of duties asks whether one agent can both create and approve a payment. Both are search questions. AuthZEN search asks the same PDP that makes runtime decisions which resources an agent can act on, and which subjects can approve a payment, so the review reads the policy the gateways enforce.
What the Blueprint Asks For
| Blueprint text | Section | Kind | What a task record would supply |
|---|---|---|---|
| “While task-scoped dynamic grants represent the aspirational goal, practical implementations pair short-lived task grants with resilient baseline permissions to balance overhead.” | Principles | Marked aspirational | A task that grants are scoped to |
| “While end-to-end multi-hop delegation remains an aspirational target given today’s tooling, this blueprint defines the reference trajectory as standards mature.” | Principles | Marked aspirational | An authority ancestry that survives each hop |
| Purpose binding, “enforcing strict linkage between the delegating user, agent identity, approved workflow, and requested task” | 3.3.1.3 | Requirement | A standard record for the approved workflow, which the text names but does not define |
| Reinstatement that is “deliberate, documented, and traceable, rather than an automatic reversal of the enforcement action” | 3.4.2 | Requirement | A lineage from contained authority to restored authority |
The whitepaper marks other limits too. It says treating a literal prompt as the sole trigger “is aspirational” (3.2.1), and that fully automated recovery workflows “remain a target state” (3.4.2). Its kill switch targets the agent. “Every agent, regardless of vendor or platform, needs a targeted kill switch that can suspend, quarantine, or terminate it in real time, with a clear way back.” It also requires an execution boundary “that supports granular session-level control,” so an agent can be paused “without collateral impact to adjacent workflows,” and its narrowest listed lever is session token revocation, “severing the active runtime connection of a single, specific interaction string without necessarily deleting the agent’s broad identity” (3.4.1.1).
The Refund on the AuthZEN Wire
Here is part three’s refund call in full, as the MCP gateway first sends it under the Mission, before the supervisor’s approval.
| |
The COAZ mapping from part two produces the subject, the action with its parameters, the resource, and context.agent. The Mission AuthZEN profile adds the rest.
context.missionnames the Mission byidandissuer, taken from the Mission-bound access token, andsubject.properties.issmakes the rep’ssubunambiguous across issuers.context.mission_state_observationtells the PDP how fresh the PEP’s view of the Mission’s state is (fresh,cached, orevent_driven). The PDP’s own view wins wherever it can consult the Mission’s state directly, and the runtime profile fails closed outside a published staleness bound.action.properties.parameter_digestbinds a permit to these exact arguments. The PDP recomputes it over the supplied parameters, and the executing enforcement point recomputes it immediately before acting, so a permit for a $480 refund on orderord_58213cannot be moved to a different order or amount. Preventing a duplicate refund with identical parameters is a separate idempotency control.resource.properties.audienceis the gateway’s protected-resource identifier, the MCP server, which the PDP matches against the Mission’s approved resource. That leavesresource.typeandresource.idfor the order.context.credentialcarries facts the PEP has already validated about the presented token, andcontext.actorcarries the agent and its delegation chain.
After the supervisor approves, the MCP gateway asks again. This is the part of that second request the Mission and the approval add to COAZ’s mapping:
| |
The PDP checks the order and amount against the Mission’s constraints, which ties the refund to the approved task, and checks that the supervisor’s approval applies and has not been revoked. Its permit states the conditions for relying on it:
| |
The permit covers these exact arguments, expires at valid_until, and can be used once.
The profile defines the denial reasons a PDP returns (out_of_authority, approval_required, stale_state, mission_inactive, parameter_violation, and others), which companion profiles may extend. Only out_of_authority and approval_required may be marked requestable through ARAP. Every other reason the profile itself defines is non-requestable, though some, such as stale_state, invite a retry. The $480 refund is the approval_required case. A refund on another order is out_of_authority. A missing role or relationship can be repaired without changing the Mission, but an operation outside the Mission’s approved boundary needs newly approved authority, through a Mission expansion or an in-ceiling expansion where the progressive companion is deployed, not merely a broader ambient entitlement.
The profiles need a shared identity model, not just a shared field. The subject, the immediate OAuth client, the current actor, the delegation chain, and the agent a person originally approved are different identities, and the profiles project them differently today. The agent alone appears in three places. COAZ-MCP puts it in context.agent, the Mission profile in context.actor, and AROP in subject.properties.act and context.client_id. Some of that may reflect different enforcement positions, since context.actor carries a delegation chain that a single context.agent value cannot hold. The profiles should still converge, and the Mission profile, as an editor’s copy, is the easiest to change. Until they do, policy authors should map them into one internal model.
Open-World Discovery and Client Bookkeeping
This is the client’s side of the discovery loop that part two summarizes.
In a fixed integration, a developer configures the resource, authorization server, scopes, and approval path ahead of time. An open-world agent discovers some of them while working. The support agent may learn which payment processor handled the order only after reading it, then discover that processor’s charge-lookup tool, and later find that its token for the commerce platform covers order lookup but not a refund. The destination and the required authority become known at different steps.
Discovering a tool does not tell the client how to obtain authority to call it. A tool schema describes how to call issue_refund. It does not necessarily tell the client which grant will authorize these arguments. Protected Resource Metadata identifies authorization servers and can advertise scopes. An insufficient_scope challenge can identify missing scope, and MCP’s draft authorization specification allows operation-specific requirements that differ from the advertised list. Knowing the issuer and a scope name still does not supply the domain-specific fields needed to request authority for one order and amount. There is no universal scope-to-tool mapping. On the token side, the client has to run the resulting loop:
- Discover the issuer and required authority through metadata or a rejected call’s challenge.
- Request scopes or structured authorization details, handling consent, stronger authentication, or asynchronous approval where required.
- Obtain a suitable token and retry only after establishing that the earlier attempt was rejected before execution.
- Track which tokens cover which resources and operations, their expiry, and the additional grants needed as the task discovers another tool.
Finer grants need more precise bookkeeping. A token for one order does not cover another, and a token accepted by one payment service need not work at the next. Requesting broad access up front cuts the interruptions by giving the agent more standing authority, which gives up part of what the fine-grained design was for.
Each of those steps can also prompt the user. Consent to application access, stronger sign-in, and approval of a refund answer different questions, yet interrupt the same piece of work, and repeated prompts make the user reconstruct the task at each step or approve reflexively. Moving approval out of band changes where the wait happens but does not remove it.
Resource-side evaluation can reduce token churn and keep the tool’s meaning at the resource. Within an existing token’s bounds, the PEP can evaluate calls and broker exceptions through ARAP without making the client acquire a new credential for each action. It still needs OAuth access to a newly encountered resource. Checking every call does not require asking a person about every call. Where separate policy owners are involved, telling a request already covered by approved work from one that needs new authority takes a shared record of the task, which part three takes up.
Prompts in Three Deployments of the Ticket
This comparison supports part three’s discussion of a new call versus a new request for authority.
Three deployments of the same ticket show what each lever contributes. All three permit the same operations under the same constraints, authentication requirements, and exception thresholds, so the counts are results of this deployment, not protocol guarantees. The last column assumes both services recognize the task issuer and its authority vocabulary.
| Prompt | Today | With consent by policy and a shared Access Request Service | With a task record as well |
|---|---|---|---|
| The rep connects the customer platform | Asked | Removed by consent by policy | Removed |
| The rep connects the payment service when the order leads there | Asked | Removed by consent by policy | Removed |
| The rep verifies expanding the agent’s grant from order lookup to refunds | Asked | Settled by policy where the commerce platform can establish the agent’s relationship to this order on its own, asked otherwise | Settled by policy against the approved work |
| The rep verifies the customer notification through the support service | Asked | Settled by policy where the support service can establish that relationship on its own, asked otherwise | Settled by policy against the approved work |
| The supervisor approves the $480 refund | Asked | Asked, over the $250 limit | Asked, over the $250 limit |
| The rep approves the task at handoff | Not asked | Not asked | Asked once |
Policy and reusable approvals can already remove many prompts without unrestricted standing access. An enterprise PDP that permits order-specific operations from the requester, the customer relationship, the order state, an amount ceiling, and a time limit settles the refund expansion without asking anyone. What remains is carrying the boundary and lifecycle of approved work across independently implemented systems, here a commerce platform and a support service under separate policy authorities. A task record makes that relationship explicit, so both services evaluate the same approved-work boundary instead of each reconstructing it, while each still decides under its own policy whether to accept the record as evidence. Where every service can establish the relationship on its own, the middle column needs only the supervisor, and the task record’s value is the shared lifecycle, not a lower count. The record also tells ARAP’s shared Access Request Service which requests are already covered by approved work.
The Blueprint’s Requirements, Mapped
| Blueprint text | What the Mission contributes | Author’s reference tests |
|---|---|---|
| Task-scoped grants | The approved-work record that short-lived grants derive from. A short Mission is a short-lived task grant with a record behind it | OAuth binding partly tested |
| “pairing static permission ceilings with dynamic real-time scoping” (Principles) | Templates. A person consents once to a ceiling of resources, actions, and constraints, and each dispatch instantiates an ordinary Mission inside it, with policy adjudicating the activation | Specified only. Bounded standing approval for unattended work is an open design question |
| Multi-hop delegation, with policy that caps “the breadth and depth of delegation” (3.2.1) | Delegation inside a Mission over the act chain, child Missions inside the parent’s authority, and cross-organizational delegation, with limits on delegates, depth, and the number of children | Cross-organizational delegation tested, child delegation tested on 11 of 14 conformance rows |
| Purpose binding | The Mission record, carried as the mission claim on Mission-bound credentials or joined at the PDP by a standalone Mission Authority Server | OAuth binding and standalone server partly tested |
| Plan-versus-action evaluation | Authority versus action, a partial answer. Each action is checked against the approved authority set, not against a plan | Runtime profile partly tested |
| “positive execution context” (3.5.1) | Mission status reports a Mission active at a given version | Tested |
| Reinstatement | Restoration only through a successor Mission with its predecessor disclosed | Partly tested |
Authority-versus-action enforcement is only as precise as the authority set’s vocabulary, so a deployment can correctly enforce an authority set that was written too broadly or too narrowly. Behavioral drift inside an approved envelope remains a job for the Blueprint’s monitoring pillar.
What a Mission Trial Needs
Part three’s revocation test needs five drafts: the Mission OAuth binding, the Mission Resource Access Profile, Mission-Bound Runtime Enforcement, Mission Status and Lifecycle, and the Mission AuthZEN profile. The containment tests add the Containment companion. The downgrade step relies on the Mission AuthZEN profile’s rule that a PDP refuses an in-scope request lacking Mission context, recording it as mission_context_missing, rather than evaluating it against non-Mission policy alone. Composing part two’s Token Issuance profile with the Mission OAuth binding at the same token endpoint is not yet specified by either document.
Vendor Commitments for the Two-Vendor Refund Test
These are the written commitments an enterprise can ask each gateway vendor for alongside part three’s test.
| Commitment | What to ask for | Maturity |
|---|---|---|
| Operator-selected PDP | The PDP endpoint is configurable per route or tool by the customer, including for a hosted gateway | Authorization API 1.0, Final |
| AuthZEN endpoints | Which endpoints the gateway calls: evaluation, batch evaluation, and search | Authorization API 1.0, Final |
| Decision caching | The maximum lifetime of a cached decision, and invalidation of cached decisions on relevant CAEP events | Authorization API 1.0 with SSF/CAEP, composition not yet profiled |
| Tool-call mapping | Support for COAZ-MCP, and a way for the operator to review, pin, or override the mappings MCP servers declare | COAZ-MCP working group draft, with no pinning mechanism defined |
| Obligations | Which obligation types the gateway performs, and that it treats any other obligation as a denial | Obligations working group draft |
| Approvals | Requestable denials go to the customer’s Access Request Service through ARAP, and no vendor approval inbox is required | ARAP working group draft |
| Unreachable PDP | The configured behavior per action class, with refunds failing closed | Deployment configuration |
| Evidence | Decision logs as OCSF records that carry X-Request-ID and a propagated trace identifier | OCSF 1.9.0 and Authorization API 1.0 |
| Task context | Where the deployment requires it, requests without valid task context are refused rather than evaluated against ordinary policy | Deployment policy, with the Mission AuthZEN profile as one specification |
Telemetry and Rollout
OCSF 1.9.0 defines a delegation object for “a durable authorization context that a principal issues to a delegate,” with an issuer-generated uid, an issuer_uid, and a parent_uid. Any task record with an issuer fits it, a Mission included, and I have proposed an informative mapping. Lifecycle state and expiry have no standard members yet.
In the whitepaper’s rollout order, a task record enters at step four, “Layer authorization,” as the task layer over the fine-grained and relationship-based controls the whitepaper wants “in place before intent-based authorization can correctly scope down agent permissions.” It does not replace them. Its identifier also serves the first step, unified logging, through the OCSF object above.