| Internet-Draft | Authorization Non-Collapse Semantics | October 2026 |
| Watts | Expires 14 April 2027 | [Page] |
Distributed authorization systems frequently combine observations, policy evaluations, evidence records, authorization decisions, and execution receipts. Treating these different objects as interchangeable can create fail-open behavior, stale-authority bugs, and false claims of completion.¶
This document defines non-collapse semantics: explicit typed transitions between observation, evidence, authorization, and execution state; fail-closed treatment of missing or indeterminate premises; and comparison rules for determining when heterogeneous representations agree on a declared invariant. The document is informational and defines no new wire protocol.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 14 April 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Security protocols often cross several semantic layers. A sensor or log records an observation; software interprets that observation; a verifier may accept evidence; an authority component may issue permission; and a separate component executes an action. Operational failures occur when one layer is silently substituted for another.¶
observation != evidence != authorization != execution
This document defines a compact model for keeping these layers distinct while still allowing explicit promotion between them.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals.¶
These types are not interchangeable. A deployment MAY encode them using the same serialization syntax, but it MUST preserve their semantic roles and transition rules.¶
A state at layer L_i does not automatically imply a state at L_i+1. Promotion requires an explicit rule P_i with declared inputs, validation criteria, authority, and resulting state.¶
Observation --P0--> Evidence --P1--> Authorization --P2--> Execution
If a required premise is false, the transition MUST fail. If no required premise is false but at least one required premise is unknown, unavailable, stale, or indeterminate, the transition MUST NOT be treated as successful.¶
A system selecting among authorized actions MUST distinguish an empty authorized set from a successful selection. If the authorized set is empty, the result is INFEASIBLE and no action is selected. If multiple actions are equally preferred and no deterministic or authorized tie-breaking rule exists, the result is TIE_REQUIRES_SELECTION_RULE and no action is selected.¶
"Do nothing" is not implicit authorization. A deployment that permits a no-op or defer action SHOULD model it explicitly.¶
Two records expressed in different units, coordinate systems, or protocol views can agree only after a declared bridge maps them into a common comparison space. Raw coordinate equality is not required; lawful correspondence is.¶
comparison = ( source_a, source_b, comparison_space, projection_a, projection_b, metric, tolerance, unit_rule, snapshot_rule, uncertainty_rule )¶
An empty required comparison set, a missing required representation, unaligned snapshots, or invalid uncertainty coverage is INDETERMINATE. A unit or comparison-space mismatch that violates the declared bridge is FAIL. Neither condition is PASS.¶
[I-D.liu-oauth-authorization-evidence] defines authorization evidence for OAuth access tokens. [I-D.ietf-oauth-transaction-tokens] propagates identity and authorization context through call chains. [I-D.ietf-wimse-aims] distinguishes agent identity, credentials, authentication, authorization, and observability. The non-collapse model in this document is complementary: it focuses on the semantics of transitions among such states.¶
[I-D.watts-oauth-agent-revocation-closure] is a concrete application of this principle: REQUESTED, invalidated, enforced, and CLOSED are distinct states.¶
Collapsing state types can create authorization bypasses and false assurances. A system that treats observation as authorization may allow untrusted telemetry to grant privilege. A system that treats request acknowledgement as execution evidence may claim work completed when it did not. A system that treats unknown required premises as true may fail open. Implementations SHOULD therefore retain typed state, provenance, freshness, and transition authority sufficient to reconstruct why a promotion occurred.¶
Evidence and execution records can reveal sensitive identities, user actions, delegation relationships, and operational topology. Implementations SHOULD minimize retained fields and SHOULD avoid turning cross-system evidence identifiers into unnecessary global correlation identifiers.¶
This document has no IANA actions.¶