<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-pinto-agent-authz-contestability-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Agent Contestability Bindings">Contestability Bindings for Authorized Agent Actions</title>
    <seriesInfo name="Internet-Draft" value="draft-pinto-agent-authz-contestability-00"/>
    <author initials="T." surname="Pinto" fullname="Tiago Pinto">
      <organization>Independent Researcher</organization>
      <address>
        <postal>
          <country>Portugal</country>
        </postal>
        <email>tiago@donttrustverify.pt</email>
        <uri>https://donttrustverify.pt</uri>
      </address>
    </author>
    <date year="2026" month="August" day="29"/>
    <area>Security</area>
    <keyword>agent authorization</keyword>
    <keyword>contestability</keyword>
    <keyword>verifiable evidence</keyword>
    <abstract>
      <?line 52?>

<t>Authorization artifacts can provide signed evidence of a permission under specified authorization rules. Receipts can record a signed claim or protocol event that the authorization was exercised, and outcome evidence can describe what followed. None of those artifacts necessarily tells a person or organization affected by the action where the authorization can be contested, which procedure applies, whether a filing changes execution state, or who selected the contestation forum.</t>
      <t>This document defines a transport-independent Contestability Binding for authorized agent actions. The binding commits an authorization to a versioned Contestation Parameters Object that identifies the forum, submission mechanism, Standing Policy, procedure, time bounds, declared effect policy, and selection evidence. A forum can acknowledge one exact authorization or publish a reusable acceptance manifest for closed Authorization Binding Profile and Authorization Trust Profile digest pairs. A deterministic verifier validates the binding, separately classifies evidence claiming pre-execution verification by the executor, and reports forum-selection provenance as unilateral, multiparty, externally selected, or indeterminate. Where a filing is declared to affect execution state, the verifier also separates the issuer's declared policy, the executor's signed acceptance, the authenticated trigger, and the executor's claimed application.</t>
      <t>The mechanism makes the bound contestation parameters identifiable and verifiable, supporting discoverability while resisting post-action substitution. It does not determine standing, prove forum independence, resolve a dispute, select a remedy, establish legal enforceability, or decide whether the original authorization was legitimate.</t>
    </abstract>
  </front>
  <middle>
    <?line 60?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Agent authorization can be action-bound, time-bounded, signed, logged, and receipted. That improves the answer to one question:</t>
      <ul empty="true">
        <li>
          <t>Was this action authorized under the selected rules?</t>
        </li>
      </ul>
      <t>It does not answer a different question:</t>
      <ul empty="true">
        <li>
          <t>If this authorization produces a contested consequence, before whom can the authorization or its use be challenged, under which procedure, and who chose that forum?</t>
        </li>
      </ul>
      <t>A URI labelled <tt>challenge_forum</tt> is not sufficient. If the authorization issuer can name, replace, or differently present the forum to each audience, the path exists syntactically while remaining captured operationally. A bound field can evidence that a contestation locator was declared in the artifact; it cannot by itself prove delivery or independence.</t>
      <t>This document therefore separates three properties:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Binding:</strong> the contestation parameters are cryptographically committed to the exact authorization; pre-execution presentation and ordering are reported separately.</t>
        </li>
        <li>
          <t><strong>Discoverability:</strong> a verifier can identify the bound forum, procedure, Standing Policy, deadlines, and submission references.</t>
        </li>
        <li>
          <t><strong>Selection provenance:</strong> authenticated evidence and local trust inputs support classification of the forum selection as issuer-only, multiparty, externally selected, or indeterminate.</t>
        </li>
      </ol>
      <t>The verifier never returns <tt>independent</tt>. Independence is a governance and trust conclusion. It returns evidence about how selection occurred.</t>
      <section anchor="running-example-an-affected-party-outside-the-authorization">
        <name>Running example: an affected party outside the authorization</name>
        <t>A platform authorizes an agent to suspend Alice's account after a policy event. The Authorization Artifact is valid, action-bound, time-bounded, and signed. The executor verifies it, suspends the account, and produces a valid receipt.</t>
        <t>Alice is materially affected but is not the authorization principal, agent, issuer, executor, approver, or relying party. The Authorization Artifact and receipt can provide evidence that the platform's authorization and recording checks were satisfied for the supplied artifacts. They do not necessarily allow Alice or an independent verifier to determine:</t>
        <ul spacing="normal">
          <li>
            <t>where the suspension can be contested;</t>
          </li>
          <li>
            <t>which standing policy and procedure governed at execution time;</t>
          </li>
          <li>
            <t>when the filing window closes;</t>
          </li>
          <li>
            <t>whether a filing changes execution state;</t>
          </li>
          <li>
            <t>whether the named forum agreed to receive that class of contestation;</t>
          </li>
          <li>
            <t>who selected the forum;</t>
          </li>
          <li>
            <t>whether the forum or procedure was substituted after the suspension.</t>
          </li>
        </ul>
        <t>The interoperability failure is not that every deployment chooses a different forum. The failure is that two implementations receiving the same Authorization Artifact can validate the authorization and still reach incompatible or non-reproducible conclusions about the contestation path bound to it.</t>
      </section>
      <section anchor="minimum-interoperable-result">
        <name>Minimum interoperable result</name>
        <t>Section 6.2 defines the authoritative structured-result contract. Given the same Authorization Artifact, action, CPO, verification time, selected profiles, and trust inputs, conforming implementations are expected to agree on every field that those inputs make deterministically derivable. The following abstract-protocol example illustrates one complete result:</t>
        <sourcecode type="json"><![CDATA[
{
  "binding": "valid",
  "pre_execution_evidence": "executor_attested",
  "discoverability": "complete",
  "forum_acknowledgement": "valid_class",
  "forum_operational_status": "not_checked",
  "selection_provenance": "unilateral",
  "access_binding": "valid",
  "notice_evidence": "delivered",
  "retrievability": "not_checked",
  "filing_window_status": "open",
  "policy_freshness": "indeterminate",
  "declared_effect": "none",
  "effect_acceptance": "not_required",
  "effect_trigger": "not_applicable",
  "effect_ordering": "not_applicable",
  "effect_application": "not_applicable",
  "reasons": []
}
]]></sourcecode>
        <t>They are not expected to agree that the forum is fair, independent, affordable, competent, or legally authoritative. Those conclusions remain outside the protocol.</t>
      </section>
      <section anchor="protocol-requirements">
        <name>Protocol requirements</name>
        <t>The key words <strong>MUST</strong>, <strong>MUST NOT</strong>, <strong>REQUIRED</strong>, <strong>SHALL</strong>, <strong>SHALL NOT</strong>,
<strong>SHOULD</strong>, <strong>SHOULD NOT</strong>, <strong>RECOMMENDED</strong>, <strong>NOT RECOMMENDED</strong>, <strong>MAY</strong>, and
<strong>OPTIONAL</strong> in this document are to be interpreted as described in BCP 14
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals,
as shown here.</t>
        <t>The mechanism is designed to satisfy the following requirements.</t>
        <t><strong>R1 — Pre-execution binding:</strong> A cryptographically valid Contestability Binding does not by itself establish pre-execution presentation or ordering. A deployment or profile claiming pre-execution presentation or enforcement of the Contestability Binding MUST bind the contestation parameters to the Authorization Artifact and MUST present them to the enforcing executor before execution. A self-asserted <tt>issued_at</tt> value is insufficient evidence of ordering. To support that pre-execution claim, the selected profile MUST bind the CPO digest into an executor-signed verification or execution record, or supply equivalent authenticated ordering evidence. A post-execution declaration cannot retroactively satisfy the pre-execution claim.</t>
        <t><strong>R2 — Exact action and authorization binding:</strong> The binding MUST identify one Authorization Artifact or authorization instance and the canonical action it covers. It MUST NOT be reusable across different actions or authorization instances.</t>
        <t><strong>R3 — Substitution resistance:</strong> The forum, submission mechanism, Standing Policy, procedure, filing window, effect policy, and selection policy MUST be integrity-protected. A mutable locator without a bound digest is insufficient.</t>
        <t><strong>R4 — Forum acknowledgement:</strong> A profile claiming a forum-acknowledged contestation path MUST carry authenticated evidence that the named forum accepted the forum identifier, submission mechanism, procedure, and class of actions or authorizations covered. An issuer naming an unconsenting forum is disclosure, not a forum-acknowledged path.</t>
        <t><strong>R5 — Selection provenance:</strong> A verifier MUST derive forum-selection provenance from authenticated evidence and local trust inputs. The object MUST NOT turn an issuer's self-asserted claim of independence into a protocol result.</t>
        <t><strong>R6 — Affected-party delivery or discovery:</strong> A profile claiming affected-party access to the contestation binding MUST define how a person or organization that did not participate in the authorization obtains the CPO and the evidence needed to verify its binding. Availability only to the issuer, agent, or executor is insufficient. The filing clock MUST be based on an authenticated event defined by the profile; an issuer-asserted notice time alone MUST NOT shorten the affected party's window.</t>
        <t><strong>R7 — Structured, non-collapsed result:</strong> Verification MUST return and keep separate the structured-result fields defined in Section 6.2, which is the authoritative result contract. It MUST NOT collapse them into a bare <tt>contestable: true</tt> result.</t>
        <t><strong>R8 — Effect acceptance and application separation:</strong> An issuer-declared active effect MUST NOT be reported as executor-accepted unless the named executor authenticated the same authorization, CPO, effect-policy, and forum-acceptance digests before execution. Executor acceptance MUST NOT be reported as application. A filing or other trigger MUST be authenticated under the bound trigger profile. Application MUST be reported only from separately verified executor evidence and ordering MUST be verified under the bound serialization profile. None of those records proves physical state or authorizes a remedy.</t>
        <t>R4 and R6 are profile requirements rather than universal claims about every Authorization Artifact. A deployment can use the base object only for disclosure, but it cannot claim a forum-acknowledged path or a path conforming to the affected-party access profile without satisfying the corresponding requirements.</t>
      </section>
      <section anchor="adversarial-survival-tests-for-r4-and-r6">
        <name>Adversarial survival tests for R4 and R6</name>
        <t>R4 and R6 are deliberately tested against claims that a signature or URI cannot establish.</t>
        <section anchor="r4-acknowledgement-is-not-selection-or-availability">
          <name>R4: acknowledgement is not selection or availability</name>
          <t>The following cases MUST remain distinguishable:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Case</th>
                <th align="left">Acknowledgement result</th>
                <th align="left">Selection result</th>
                <th align="left">Operational result</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Issuer names a forum that never signed</td>
                <td align="left">
                  <tt>absent</tt></td>
                <td align="left">derived separately</td>
                <td align="left">
                  <tt>not_checked</tt></td>
              </tr>
              <tr>
                <td align="left">Forum signs for the exact authorization</td>
                <td align="left">
                  <tt>valid_exact</tt></td>
                <td align="left">derived separately</td>
                <td align="left">
                  <tt>not_checked</tt></td>
              </tr>
              <tr>
                <td align="left">Forum signs a standing manifest for a class that includes the authorization</td>
                <td align="left">
                  <tt>valid_class</tt></td>
                <td align="left">derived separately</td>
                <td align="left">
                  <tt>not_checked</tt></td>
              </tr>
              <tr>
                <td align="left">Forum signature is valid but its accepted scope does not cover the authorization</td>
                <td align="left">
                  <tt>invalid_scope</tt></td>
                <td align="left">derived separately</td>
                <td align="left">
                  <tt>not_checked</tt></td>
              </tr>
              <tr>
                <td align="left">Forum acknowledged the scope but the endpoint is unreachable</td>
                <td align="left">acknowledgement remains valid</td>
                <td align="left">derived separately</td>
                <td align="left">
                  <tt>unreachable</tt></td>
              </tr>
              <tr>
                <td align="left">Forum and issuer are the same controlling party</td>
                <td align="left">acknowledgement may be valid</td>
                <td align="left">normally <tt>unilateral</tt></td>
                <td align="left">derived separately</td>
              </tr>
            </tbody>
          </table>
          <t>A valid forum signature authenticates a signed commitment under the accepted forum key over a defined scope. It does not prove that the forum was selected independently, remains reachable, will accept a particular filer, or will decide according to the bound procedure.</t>
          <t>An acknowledgement can be either exact or class-based. A class-based acknowledgement is valid only if the verifier can deterministically establish that the authorization falls within the signed class. A free-text class description is insufficient.</t>
        </section>
        <section anchor="r6-access-must-survive-the-effect-being-contested">
          <name>R6: access must survive the effect being contested</name>
          <t>The following cases MUST NOT collapse into <tt>available</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>the CPO is retrievable only after logging into the account that the action suspended;</t>
            </li>
            <li>
              <t>a signed notice was issued but no evidence establishes that it was delivered;</t>
            </li>
            <li>
              <t>a discovery URI is public but leaks the existence or subject of a sensitive action;</t>
            </li>
            <li>
              <t>the CPO is available to the principal but not to a distinct Affected Party;</t>
            </li>
            <li>
              <t>the issuer serves audience-specific CPOs under different authorization artifacts;</t>
            </li>
            <li>
              <t>the filing window substantially expires before the first access method becomes usable;</t>
            </li>
            <li>
              <t>the affected party is not identifiable until after execution.</t>
            </li>
          </ul>
          <t>The protocol therefore separates notice issuance, delivery evidence, and current retrievability. A valid Contestability Notice signature yields the protocol classification <tt>issued</tt> and authenticates the notice bytes under the accepted signer key. It does not prove human issuance, receipt, comprehension, or successful access.</t>
          <t>An affected-party profile for an action that disables or controls a credential MUST provide at least one access method that does not depend solely on that credential. Otherwise the action can remove the means of contesting itself.</t>
        </section>
      </section>
      <section anchor="signature-topology-survival-test">
        <name>Signature-topology survival test</name>
        <t>A naive construction in which the forum signs the final CPO fails three tests:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the final CPO contains the forum signature, signing the final CPO creates a circular signature input.</t>
          </li>
          <li>
            <t>If the forum signs every authorization instance, the construction requires an online forum interaction per action and discloses instance metadata before execution.</t>
          </li>
          <li>
            <t>If the forum signs only a free-text action class, class membership is not interoperably decidable.</t>
          </li>
        </ol>
        <t>The base design therefore separates:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Contestation Terms:</strong> the canonical per-authorization facts to which every signature ultimately refers;</t>
          </li>
          <li>
            <t><strong>Forum Acceptance Evidence:</strong> either an exact signature over a closed forum-relevant projection of the Contestation Terms or a reusable Forum Acceptance Manifest for one or more closed authorization-profile digests;</t>
          </li>
          <li>
            <t><strong>Selection Evidence:</strong> signatures over the Contestation Terms digest and Forum Acceptance Evidence digest;</t>
          </li>
          <li>
            <t><strong>CPO Envelope:</strong> the terms and evidence, signed by the CPO issuer;</t>
          </li>
          <li>
            <t><strong>Authorization Binding:</strong> a digest of the completed CPO Envelope covered by the Authorization Artifact or companion binding statement.</t>
          </li>
        </ul>
        <t>This ordering is acyclic: the forum first signs either a reusable manifest or an exact forum-terms digest; selectors then sign the complete terms and acceptance-evidence digests; the CPO issuer signs the resulting envelope; finally, the Authorization Artifact or companion statement binds the completed CPO digest.</t>
        <t>An active effect extends, but does not alter, that graph. The executor signs an Effect Acceptance Statement over the completed Authorization Artifact and CPO. A forum filing receipt later binds the CPO digest. An Effect Application Record binds both the acceptance and receipt digests. For a pre-execution hold, the executor's hold or refusal record then binds the application record; for a post-execution fence, the earlier execution record binds the acceptance and the later application record binds the receipt. No signer is required to sign bytes containing its own signature.</t>
        <t>For class acceptance, the forum signs accepted ABP and Authorization Trust Profile digest pairs, not an open expression language. A verifier returns <tt>valid_class</tt> only after it has independently verified and projected the Authorization Artifact under one of those exact pairs. Merely carrying profile identifiers is insufficient.</t>
      </section>
    </section>
    <section anchor="scope">
      <name>Scope</name>
      <t>This document specifies:</t>
      <ul spacing="normal">
        <li>
          <t>a Contestation Parameters Object (CPO);</t>
        </li>
        <li>
          <t>exact and reusable class-based forum acceptance evidence;</t>
        </li>
        <li>
          <t>an Authorization Binding Profile interface for native authorization systems;</t>
        </li>
        <li>
          <t>two ways to bind a CPO to an authorization;</t>
        </li>
        <li>
          <t>profiles for classifying pre-execution evidence without claiming physical proof;</t>
        </li>
        <li>
          <t>an optional declared effect policy, Executor Effect Acceptance Statement, authenticated filing trigger, and Effect Application Record;</t>
        </li>
        <li>
          <t>a deterministic verification algorithm;</t>
        </li>
        <li>
          <t>a structured result that keeps binding, discoverability, forum acknowledgement, operational status, selection provenance, notice evidence, retrievability, and effect evidence separate;</t>
        </li>
        <li>
          <t>security requirements for substitution, equivocation, dead endpoints, abusive deadlines, issuer-controlled forums, trigger replay, and execution races.</t>
        </li>
      </ul>
      <t>This document does not specify:</t>
      <ul spacing="normal">
        <li>
          <t>a dispute-resolution protocol or case state machine;</t>
        </li>
        <li>
          <t>arbitrator discovery, evidence exchange, adjudication, appeal, award, or remedy;</t>
        </li>
        <li>
          <t>who legally has standing;</t>
        </li>
        <li>
          <t>whether a forum is impartial, competent, affordable, or legally valid;</t>
        </li>
        <li>
          <t>which effect policy a deployment ought to choose, or whether an external system is legally or operationally compelled to honor it;</t>
        </li>
        <li>
          <t>the legitimacy of the authorization, policy, issuer, or consequence.</t>
        </li>
      </ul>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t><strong>Authorization Artifact:</strong> A signed object expressing, under an authorization system, a permission for an identified agent, workload, or delegate to perform a bounded action.</t>
      <t><strong>Authorization Instance Identifier (<tt>authorization_id</tt>):</strong> A globally unique or collision-resistant identifier for one authorization instance.</t>
      <t><strong>Action Digest (<tt>action_digest</tt>):</strong> A digest over the canonical action the executor will evaluate.</t>
      <t><strong>Contestation Parameters Object (CPO):</strong> The closed, signed object defined in Section 4.</t>
      <t><strong>Contestation Terms:</strong> The canonical, unsigned per-authorization facts inside a CPO. Role signatures refer to its digest rather than recursively signing an envelope that contains those signatures.</t>
      <t><strong>Contestability Binding:</strong> A commitment from an Authorization Artifact to a CPO, either directly or through a companion binding statement.</t>
      <t><strong>Forum:</strong> The service or institution designated to receive a contestation. Identification of a forum does not assert independence or legal jurisdiction.</t>
      <t><strong>Exact Forum Acceptance Statement:</strong> A forum-signed acceptance of one closed, forum-relevant projection of the Contestation Terms.</t>
      <t><strong>Forum Acceptance Manifest (FAM):</strong> A reusable forum-signed statement accepting contestations for authorization classes successfully verified and projected under one or more closed ABP and Authorization Trust Profile digest pairs, subject to bound procedure, time, and continuity constraints.</t>
      <t><strong>Authorization Binding Profile (ABP):</strong> A digest-identified adapter specification that verifies one native Authorization Artifact type and deterministically projects the closed authorization tuple consumed by this document.</t>
      <t><strong>Authorization Trust Profile:</strong> A digest-identified set of trust inputs and issuer-authority rules applied by an ABP. It answers which issuer keys are accepted; the ABP answers how the native artifact is verified and projected.</t>
      <t><strong>Effect Policy:</strong> The issuer-signed declaration in the CPO terms that selects <tt>none</tt>, <tt>hold_before_execution</tt>, or <tt>fence_after_execution</tt> and, for an active mode, binds the executor and the trigger, state-machine, idempotency, serialization, and trust profiles.</t>
      <t><strong>Executor Trust Profile:</strong> A digest-identified set of trust anchors, executor-key authority rules, rotation rules, and compromise semantics used to verify effect acceptance and application records.</t>
      <t><strong>Effect Executor:</strong> The party named by an active Effect Policy that signs effect acceptance and application records and controls, or participates under a bound serialization profile in controlling, the target hold or fence transition. It can be the action executor but is not assumed to be the same party.</t>
      <t><strong>Executor Effect Acceptance Statement:</strong> An executor-signed commitment, made over a completed authorization and CPO before execution, to process a bound active effect policy.</t>
      <t><strong>Filing Receipt:</strong> A forum-authenticated record accepting or refusing one contestation submission. Only an accepted receipt verified under the bound trigger profile can be an effect trigger.</t>
      <t><strong>Effect Application Record:</strong> An executor-signed claim describing how it processed one authenticated trigger under the bound effect policy. It is not proof of physical state or a remedy.</t>
      <t><strong>Standing Policy:</strong> A versioned policy describing which roles or parties may file. This document verifies its identity and integrity, not the correctness of its determinations.</t>
      <t><strong>Selection Authority:</strong> A party permitted by the relying party's trust profile to participate in or determine forum selection.</t>
      <t><strong>Affected Party:</strong> A person or organization whose interests may be materially affected by an authorized action. An Affected Party need not be the principal, agent, issuer, executor, or relying party.</t>
    </section>
    <section anchor="contestation-parameters-object">
      <name>Contestation Parameters Object</name>
      <t>The object is first shown in JSON diagnostic form for readability. The mandatory executable profile in Section 4.13 encodes the corresponding closed data model using Core Deterministic CBOR and signs each role statement with COSE_Sign1. The JSON form is not a wire encoding and MUST NOT be hashed or signed.</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "agent-contestation-parameters-v1",
  "terms": {
    "authorization_id": "urn:uuid:...",
    "authorization_binding_profile": {
      "uri": "https://example/profiles/account-action-authz/3",
      "digest": { "alg": "sha-256", "value": "base64url..." }
    },
    "authorization_trust_profile": {
      "uri": "https://example/trust/account-action-issuers/5",
      "digest": { "alg": "sha-256", "value": "base64url..." }
    },
    "authorization_issuer": "https://issuer.example/keys/3",
    "authorization_validity": {
      "not_before": "2026-08-11T00:00:00Z",
      "not_after": "2026-08-12T00:00:00Z"
    },
    "action_digest": { "alg": "sha-256", "value": "base64url..." },
    "forum": {
      "id": "https://forum.example/",
      "submission_endpoint": "https://forum.example/cases",
      "verification_key_id": "https://forum.example/keys/2026-1"
    },
    "standing_policy": {
      "uri": "https://example/policies/standing/7",
      "digest": { "alg": "sha-256", "value": "base64url..." }
    },
    "procedure": {
      "uri": "https://example/procedures/agent-actions/4",
      "digest": { "alg": "sha-256", "value": "base64url..." }
    },
    "filing_window": {
      "basis": "authenticated_delivery_time",
      "duration_seconds": 2592000
    },
    "effect_policy": {
      "mode": "none"
    },
    "selection_policy": {
      "uri": "https://example/policies/forum-selection/2",
      "digest": { "alg": "sha-256", "value": "base64url..." }
    },
    "affected_party_access": [
      {
        "method": "effect_notice",
        "notice_profile": "agent-contestability-notice-v1",
        "available_until": "2026-09-10T00:00:00Z"
      },
      {
        "method": "authenticated_lookup",
        "discovery_uri": "https://platform.example/contestability/urn:uuid:...",
        "authentication_profile": {
          "uri": "https://platform.example/authn/notice-capability/1",
          "digest": { "alg": "sha-256", "value": "base64url..." }
        },
        "available_until": "2026-09-10T00:00:00Z"
      }
    ],
    "issued_at": "2026-08-11T00:00:00Z",
    "expires_at": "2026-09-10T00:00:00Z",
    "nonce": "base64url..."
  },
  "forum_acceptance": {
    "mode": "class_manifest",
    "manifest_digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "selection_evidence": [
    {
      "selector_id": "https://principal.example/keys/4",
      "role": "principal",
      "signed_input": "selection-input-v1",
      "signature": "base64url..."
    },
    {
      "selector_id": "https://registry.example/keys/9",
      "role": "external_selector",
      "signed_input": "selection-input-v1",
      "signature": "base64url..."
    }
  ],
  "issuer": "https://issuer.example/keys/3",
  "signature": "base64url..."
}
]]></sourcecode>
      <section anchor="closed-structure">
        <name>Closed structure</name>
        <t>Every map in the mandatory executable profile is closed. A verifier MUST reject an unknown map member, duplicate map key, unsupported object type or version, non-deterministic encoding, or value outside the profile's CDDL. Payload-level <tt>crit</tt> processing is therefore unnecessary in CBAP-1. COSE protected-header processing remains governed by Section 4.14.</t>
      </section>
      <section anchor="forum-information">
        <name>Forum information</name>
        <t><tt>forum.id</tt>, <tt>submission_endpoint</tt>, and <tt>verification_key_id</tt> MUST be present. A human-readable name alone is insufficient. The endpoint MUST use an authenticated transport profile. Successful network access does not establish forum independence.</t>
        <t><tt>forum_acceptance</tt> identifies either an Exact Forum Acceptance Statement or a Forum Acceptance Manifest by digest. The accepted input covers only the facts to which the forum commits: accepted authorization scope, forum identity and key, submission endpoint, Standing Policy, procedure, filing-window rule, filing-receipt profile, and withdrawal or continuity policy. Selection provenance and the issuer's declared effect policy remain separately signed facts; a forum acknowledgement does not authenticate either one.</t>
        <t>A valid acknowledgement authenticates a signed commitment under the accepted forum key to receive the declared scope under the bound parameters. It does not prove availability, neutrality, legal jurisdiction, or performance.</t>
        <t>An exact acknowledgement binds the <tt>forum_terms_digest</tt> for one authorization instance. A class acknowledgement binds one or more closed ABP and Authorization Trust Profile digest pairs. A verifier MUST refuse a class acknowledgement when the Authorization Artifact has not itself been verified and projected under one of those exact pairs.</t>
        <t>For exact acceptance, the <tt>signed_at</tt> value authenticated by the forum signature MUST be no later than the authenticated lower bound of the authorization's executable validity interval, <tt>valid_from</tt> MUST be no later than that same boundary, and <tt>valid_until</tt> MUST be no earlier than the end of the declared filing window, unless the bound withdrawal policy provides verifiable continuity through a replacement forum. For class acceptance, the Authorization Artifact MUST bind the manifest during <tt>may_bind_from</tt> through <tt>may_bind_until</tt>, and the instantiated filing obligation MUST remain within <tt>maximum_filing_horizon_seconds</tt>. A withdrawal after execution MUST be evaluated under the bound policy and MUST NOT silently erase the historical acknowledgement. The filing-receipt profile identifies the authenticated response a conforming forum returns after accepting or refusing a filing; this document does not otherwise define the filing exchange.</t>
      </section>
      <section anchor="policies-by-digest">
        <name>Policies by digest</name>
        <t>The Standing Policy, procedure, and selection policy MUST be bound by digest. A mutable URI without a digest MUST be refused. A verifier MAY apply a stricter local policy than the referenced procedure or filing window.</t>
        <section anchor="filing-window-basis">
          <name>Filing-window basis</name>
          <t>The filing window MUST identify the authenticated event from which its duration is calculated. Initial event classes are:</t>
          <ul spacing="normal">
            <li>
              <t><tt>execution_time</tt>: authenticated time in the executor's action or execution record;</t>
            </li>
            <li>
              <t><tt>transparency_publication_time</tt>: authenticated registration time of the Contestability Notice or CPO digest under a selected transparency profile;</t>
            </li>
            <li>
              <t><tt>authenticated_delivery_time</tt>: time in a transport-specific delivery receipt bound to the Contestability Notice digest.</t>
            </li>
          </ul>
          <t>An issuer-signed <tt>issued_at</tt> value alone is not one of these event classes. If the selected event evidence is absent or invalid, the verifier returns <tt>filing_window_status: indeterminate</tt>; it MUST NOT silently substitute local receipt time or another clock.</t>
          <t>A profile can define a deterministic combination or fallback among event classes, but it MUST state the precedence rule. Verification authenticates the selected clock input and computes the deadline; it does not establish that the rule gave the Affected Party a fair opportunity to act.</t>
        </section>
      </section>
      <section anchor="effect-policy">
        <name>Effect policy</name>
        <t>An <tt>effect_policy</tt> declares whether an authenticated contestation filing is intended to support a protocol-visible transition result for the named executor. The base modes are:</t>
        <ul spacing="normal">
          <li>
            <t><tt>none</tt>: filing has no automatic execution effect under this binding;</t>
          </li>
          <li>
            <t><tt>hold_before_execution</tt>: selects a hold result that is satisfied only when an accepted filing is authenticated and ordered before the bound execution boundary and the bound executor evidence records the required hold state rather than an execution transition for that boundary;</t>
          </li>
          <li>
            <t><tt>fence_after_execution</tt>: selects a fence result that is satisfied only when an accepted filing is authenticated and ordered after action execution but before the bound finality boundary and the bound executor evidence records the required fence transition.</t>
          </li>
        </ul>
        <t>An active-effect profile using <tt>hold_before_execution</tt> MUST NOT select <tt>execution_time</tt> as its filing-window basis. It MUST select an authenticated filing-window event that can occur before the execution boundary, such as conforming delivery or transparency-publication evidence or another profile-defined pre-execution event.</t>
        <t>The base protocol deliberately has no <tt>profile_defined</tt> escape value. An unexamined extension cannot be assigned the semantics of a hold or fence. A future mode requires a standards-defined value or a versioned extension understood by every verifier making a claim about it.</t>
        <t>For <tt>none</tt>, no effect parameters are present and <tt>effect_acceptance</tt> is <tt>not_required</tt>. For either active mode, the policy MUST contain:</t>
        <sourcecode type="json"><![CDATA[
{
  "mode": "fence_after_execution",
  "executor": {
    "id": "https://executor.example/",
    "verification_key_id": "https://executor.example/keys/8"
  },
  "executor_trust_profile": {
    "uri": "https://platform.example/trust/effect-executors/2",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "trigger_profile": {
    "event": "accepted_filing_receipt",
    "uri": "https://forum.example/profiles/filing-receipt/1",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "state_machine_profile": {
    "uri": "https://platform.example/profiles/account-finality/2",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "target_state_digest": { "alg": "sha-256", "value": "base64url..." },
  "application_deadline": {
    "basis": "authenticated_trigger_time",
    "duration_seconds": 30
  },
  "idempotency_profile": {
    "uri": "https://platform.example/profiles/contest-trigger-idempotency/1",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "serialization_profile": {
    "uri": "https://platform.example/profiles/account-action-serialization/3",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  }
}
]]></sourcecode>
        <t><tt>trigger_profile</tt> MUST identify an authenticated event and its complete verification rules. For <tt>accepted_filing_receipt</tt>, its digest MUST equal the submission-receipt profile authenticated by the verified forum acceptance evidence. The receipt time MUST fall within the verified filing window and the effect mode's transition interval, unless the bound procedure and effect policy define the same deterministic grace rule. An authenticated successful receipt records acceptance of a filing under the bound forum key and profile. It does not prove standing, merits, fairness, or entitlement to a remedy.</t>
        <t><tt>executor_trust_profile</tt> binds the trust anchors, key-authority rules, rotation rules, and compromise semantics used to authenticate the named executor; a relying party can apply stricter local policy. <tt>state_machine_profile</tt> defines the states, transition preconditions, finality boundary, and interpretation of the state commitments carried in effect records. <tt>target_state_digest</tt> commits to the exact hold or fence transition. <tt>application_deadline</tt> is computed only from the authenticated time established by the trigger profile; an executor or issuer timestamp cannot silently replace it. <tt>idempotency_profile</tt> defines how duplicate triggers are detected. <tt>serialization_profile</tt> defines the authenticated sequence number, compare-and-swap rule, transaction boundary, or equivalent mechanism that orders the trigger against execution and finality transitions.</t>
        <t>The Effect Executor MAY differ from the executor that performs the authorized action only when the serialization profile authenticates the cross-system boundary and assigns each required transition to a named signer. For <tt>hold_before_execution</tt>, the Effect Executor MUST control or atomically gate the action's execution boundary. For <tt>fence_after_execution</tt>, it MUST control or atomically gate the bound finality transition. Merely receiving events from the system of record is insufficient.</t>
        <t><tt>hold_before_execution</tt> is satisfied only when the trigger is ordered before the execution boundary and the bound executor evidence records the hold state rather than an execution disposition for that boundary. It cannot retroactively characterize an already executed action as held. <tt>fence_after_execution</tt> is satisfied only when the trigger is ordered after execution and before the bound finality boundary and the bound executor evidence records the fence state. These are protocol-state results over authenticated evidence; a fence does not undo the action, restore prior state, or constitute a remedy.</t>
        <t>The policy is an issuer-signed declaration inside the CPO terms. It does not bind the executor merely because the issuer named an executor key. Active modes require the separate Executor Effect Acceptance Statement in Section 5.4. Acceptance is not application, and an Effect Application Record is still only a signed claim by the executor key about the protocol state it controls. No object defined here compels a court, human, physical process, or external system.</t>
      </section>
      <section anchor="selection-evidence">
        <name>Selection evidence</name>
        <t>The CPO MUST NOT contain a self-asserted boolean such as <tt>independent: true</tt>. A verifier derives selection provenance from authenticated signatures and its local trust profile.</t>
        <t>The authorization issuer's signature is necessary to bind the CPO to the authorization but is not evidence of independent selection. An issuer-only object is classified as <tt>unilateral</tt>.</t>
      </section>
      <section anchor="affected-party-access">
        <name>Affected-party access</name>
        <t><tt>affected_party_access</tt> is an ordered set of declared methods for delivery or discovery of the CPO and its verification material by a party that may be absent from the authorization exchange. The initial methods under consideration are:</t>
        <ul spacing="normal">
          <li>
            <t><tt>effect_notice</tt>: delivered with the notice of the action's effect;</t>
          </li>
          <li>
            <t><tt>authenticated_lookup</tt>: retrievable from a bound discovery URI after authenticating an eligible party;</t>
          </li>
          <li>
            <t><tt>public_transparency</tt>: retrievable from a named transparency service without disclosing private filing evidence.</t>
          </li>
        </ul>
        <t>The access objects MUST be covered by the CPO issuer signature. A profile claiming affected-party access to the contestation binding MUST define at least one mandatory delivery or discovery method, its retention period, and the behavior when the affected party cannot authenticate before the filing window closes.</t>
        <t>Where the action disables, suspends, revokes, or controls a credential, at least one access method MUST remain usable without relying solely on that credential. The authentication profile is digest-bound so a verifier can apply a local credential-survivability policy; the profile's presence does not by itself prove that access will succeed.</t>
      </section>
      <section anchor="contestability-notice">
        <name>Contestability Notice</name>
        <t>An affected-party profile using <tt>effect_notice</tt> carries or references a signed notice with the following minimum members:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-contestability-notice-v1",
  "authorization_id": "urn:uuid:...",
  "action_digest": { "alg": "sha-256", "value": "base64url..." },
  "effect_digest": { "alg": "sha-256", "value": "base64url..." },
  "cpo_digest": { "alg": "sha-256", "value": "base64url..." },
  "issued_at": "2026-08-11T00:00:00Z",
  "access": {
    "mode": "by_reference",
    "uri": "https://platform.example/contestability/urn:uuid:..."
  },
  "issuer": "https://issuer.example/keys/3",
  "signature": "base64url..."
}
]]></sourcecode>
        <t>The notice signature MUST cover the authorization, action, effect, CPO digest, issue time, and access method. A valid signature yields <tt>notice_evidence: issued</tt>. It MUST NOT yield <tt>delivered</tt> unless a selected transport profile supplies authenticated delivery evidence. It MUST NOT yield <tt>read</tt> or <tt>understood</tt>.</t>
        <t>An <tt>effect_notice</tt> profile SHOULD deliver the notice no later than the effect notification. A filing-window profile claiming affected-party recourse MUST define how late notice affects the closing time. The base protocol does not infer receipt from issuance.</t>
      </section>
      <section anchor="contestation-terms-and-signature-inputs">
        <name>Contestation Terms and signature inputs</name>
        <t><tt>terms</tt> is the only per-authorization object over which the forum, selectors, issuer, and authorization binding need to converge. Let:</t>
        <sourcecode type="text"><![CDATA[
terms_digest = HASH("agent-contestation-terms-v1" || canonical(terms))
effect_policy_digest = HASH("agent-contestation-effect-policy-v1" ||
                            canonical(terms.effect_policy))
forum_terms = project(terms, authorization_id, authorization_binding_profile,
                      authorization_trust_profile,
                      authorization_issuer, authorization_validity,
                      action_digest, forum, standing_policy, procedure,
                      filing_window)
forum_terms_digest = HASH("agent-contestation-forum-terms-v1" ||
                          canonical(forum_terms))
acceptance_digest = HASH(canonical(forum_acceptance_evidence))
selection_input = HASH("agent-contestation-selection-v1" || terms_digest || acceptance_digest)
cpo_tbs = canonical(type, terms, forum_acceptance, selection_evidence, issuer)
cpo_digest = HASH("agent-contestation-cpo-v1" || canonical(signed_CPO))
]]></sourcecode>
        <t>The domain-separation strings are part of the hash input. These equations describe the abstract signature topology. CBAP-1 instantiates them with the exact deterministic encoding and SHA-256 derivations in Sections 4.13 through 4.16. Another application profile MUST define an equally complete and non-ambiguous instantiation.</t>
        <t>An Exact Forum Acceptance Statement signs <tt>forum_terms_digest</tt> plus its validity, filing-receipt profile, and withdrawal policy. A Forum Acceptance Manifest is independently signed and reusable; the CPO references its digest. Each selector signs <tt>selection_input</tt>, which still covers the complete terms. The CPO issuer signs <tt>cpo_tbs</tt>. The completed <tt>cpo_digest</tt> is then covered by the Authorization Artifact or companion binding statement.</t>
        <t>No signature input contains the signature being computed. <tt>effect_policy_digest</tt> is used only by records created after the signed CPO and Authorization Artifact exist; it does not enter <tt>forum_terms_digest</tt> and does not make the forum authenticate the issuer's effect declaration. A producer or signer MUST construct each signature input from the exact profile-defined input. A verifier MUST verify the received object against that exact profile-defined signature input.</t>
      </section>
      <section anchor="exact-forum-acceptance-statement">
        <name>Exact Forum Acceptance Statement</name>
        <t>Exact acceptance is represented diagnostically as:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-forum-exact-acceptance-v1",
  "forum_terms_digest": { "alg": "sha-256", "value": "base64url..." },
  "valid_from": "2026-08-11T00:00:00Z",
  "valid_until": "2026-09-10T00:00:00Z",
  "submission_receipt_profile": {
    "uri": "https://forum.example/profiles/filing-receipt/1",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "withdrawal_policy": {
    "uri": "https://forum.example/policies/withdrawal/1",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "forum_key_id": "https://forum.example/keys/2026-1",
  "signed_at": "2026-08-11T00:00:00Z",
  "signature": "base64url..."
}
]]></sourcecode>
        <t>Exact acceptance gives the strongest instance binding but requires the forum to process instance metadata before authorization. It SHOULD be used only when the deployment requires instance-specific forum acceptance and has addressed metadata disclosure, traffic analysis, latency, and forum availability in the authorization path.</t>
      </section>
      <section anchor="forum-acceptance-manifest">
        <name>Forum Acceptance Manifest</name>
        <t>A Forum Acceptance Manifest (FAM) is a reusable, signed acceptance statement:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-forum-acceptance-manifest-v1",
  "manifest_id": "https://forum.example/manifests/2026-08",
  "forum": {
    "id": "https://forum.example/",
    "submission_endpoint": "https://forum.example/cases",
    "verification_key_id": "https://forum.example/keys/2026-1"
  },
  "accepted_authorization_classes": [
    {
      "abp_digest": { "alg": "sha-256", "value": "base64url-abp-digest..." },
      "authorization_trust_profile_digest": {
        "alg": "sha-256",
        "value": "base64url-trust-profile-digest..."
      }
    }
  ],
  "standing_policy": {
    "uri": "https://example/policies/standing/7",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "procedure": {
    "uri": "https://example/procedures/agent-actions/4",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "filing_window_rule": {
    "permitted_bases": [
      "authenticated_delivery_time",
      "transparency_publication_time"
    ],
    "minimum_duration_seconds": 2592000
  },
  "submission_receipt_profile": {
    "uri": "https://forum.example/profiles/filing-receipt/1",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "withdrawal_policy": {
    "uri": "https://forum.example/policies/withdrawal/1",
    "digest": { "alg": "sha-256", "value": "base64url..." }
  },
  "may_bind_from": "2026-08-01T00:00:00Z",
  "may_bind_until": "2027-08-01T00:00:00Z",
  "maximum_filing_horizon_seconds": 7776000,
  "issued_at": "2026-07-20T00:00:00Z",
  "key_id": "https://forum.example/keys/2026-1",
  "signature": "base64url..."
}
]]></sourcecode>
        <t>The base profile does not define a general predicate language for accepted actions. Class membership is established only by an exact pair consisting of an ABP digest and an Authorization Trust Profile digest, followed by successful verification and projection of the Authorization Artifact under that pair. A profile label, URI, or locally substituted trust store MUST NOT establish membership.</t>
        <t>The CPO's forum, Standing Policy, procedure, filing-window rule, and forum key MUST satisfy the manifest exactly or under a deterministic constraint explicitly defined by the manifest profile. <tt>may_bind_from</tt> and <tt>may_bind_until</tt> bound when a new Authorization Artifact may reference the manifest; they do not terminate a filing window already instantiated by a valid binding. <tt>maximum_filing_horizon_seconds</tt> bounds the latest filing obligation created by an authorization bound during that interval. A mismatch yields <tt>invalid_scope</tt>.</t>
        <t>A FAM removes the forum from the per-authorization critical path and does not require disclosure of each authorization instance to the forum. It does not prove capacity or continued availability. The full FAM can be distributed with the CPO; only a digest need be transparency-registered to support equivocation detection.</t>
      </section>
      <section anchor="authorization-binding-profile">
        <name>Authorization Binding Profile</name>
        <t>An ABP composes this document with a native authorization system without replacing that system. A conforming ABP MUST define:</t>
        <ul spacing="normal">
          <li>
            <t>the native Authorization Artifact type and mandatory encoding;</t>
          </li>
          <li>
            <t>the native signature, time, audience, replay, and critical-member verification rules, and the interface through which a digest-bound Authorization Trust Profile supplies trust anchors and issuer-authority constraints;</t>
          </li>
          <li>
            <t>how to extract or derive <tt>authorization_id</tt>;</t>
          </li>
          <li>
            <t>how to canonicalize the authorized action and compute <tt>action_digest</tt>;</t>
          </li>
          <li>
            <t>how to identify the authorization issuer and validity interval;</t>
          </li>
          <li>
            <t>how the direct <tt>contestability_digest</tt> is covered, or how a companion binding statement is authorized;</t>
          </li>
          <li>
            <t>the exact closed output tuple and every refusal or indeterminate condition.</t>
          </li>
        </ul>
        <t>The minimum successful projection is:</t>
        <sourcecode type="json"><![CDATA[
{
  "abp_digest": { "alg": "sha-256", "value": "base64url..." },
  "authorization_trust_profile_digest": {
    "alg": "sha-256",
    "value": "base64url..."
  },
  "authorization_id": "urn:uuid:...",
  "authorization_issuer": "https://issuer.example/keys/3",
  "authorization_validity": {
    "not_before": "2026-08-11T00:00:00Z",
    "not_after": "2026-08-12T00:00:00Z"
  },
  "action_digest": { "alg": "sha-256", "value": "base64url..." },
  "binding_mode": "direct"
}
]]></sourcecode>
        <t>An ABP digest identifies the complete adapter specification, not executable code supplied by the issuer. The Authorization Trust Profile digest identifies the exact trust inputs and issuer-authority rules accepted by the forum class. Two conforming implementations applying the same pair to the same authenticated inputs MUST either produce the same tuple or refuse. A lossy, ambiguous, unpinned, unsupported, or locally substituted mapping or trust input yields <tt>indeterminate</tt> and MUST NOT establish FAM membership.</t>
        <t>Successful ABP projection establishes only, under that profile, that the native artifact verified and mapped to the required tuple. It does not mean the forum accepts the profile; that is established separately by the FAM.</t>
      </section>
      <section anchor="selection-signatures-are-not-forum-signatures">
        <name>Selection signatures are not forum signatures</name>
        <t>The forum's signature acknowledges a scope. It MUST NOT be counted as evidence that the forum was selected non-unilaterally. Selection evidence signs <tt>selection_input</tt>, which includes both the Contestation Terms and the exact acceptance evidence used. This prevents a selector's signature for one forum acceptance from being replayed with another.</t>
        <t>An entity can perform multiple roles, but role co-location remains visible in the result. When the issuer, forum operator, and external selector resolve to the same controlling trust domain under local policy, the verifier MUST NOT upgrade selection provenance solely because three keys signed.</t>
      </section>
      <section anchor="mandatory-encoding-cbap-1-core-deterministic-cbor">
        <name>Mandatory encoding: CBAP-1 Core Deterministic CBOR</name>
        <t>The Contestability Binding Application Profile 1 (CBAP-1) is the mandatory-to-implement encoding and executable base profile for this document. CBAP-1 uses the Core Deterministic Encoding Requirements in Section 4.2.1 of <xref target="RFC8949"/>. It does not use the length-first map key ordering in Section 4.2.3 of <xref target="RFC8949"/>, historically called canonical CBOR by <xref target="RFC7049"/>.</t>
        <t>A CBAP-1 encoder and verifier MUST enforce all of the following:</t>
        <ul spacing="normal">
          <li>
            <t>preferred and shortest serialization for every integer, length, and tag argument;</t>
          </li>
          <li>
            <t>definite-length byte strings, text strings, arrays, and maps only;</t>
          </li>
          <li>
            <t>bytewise-lexicographic ordering of the deterministic encodings of map keys;</t>
          </li>
          <li>
            <t>rejection of duplicate map keys before conversion to a host-language map;</t>
          </li>
          <li>
            <t>rejection of floating-point values, simple values other than <tt>false</tt>, <tt>true</tt>, and <tt>null</tt>, and tags other than the required outer COSE_Sign1 tag 18;</t>
          </li>
          <li>
            <t>well-formed UTF-8 text strings, compared as encoded bytes without Unicode, URI, case, or percent-encoding normalization;</t>
          </li>
          <li>
            <t>unsigned-integer member labels exactly as specified by the closed CDDL below.</t>
          </li>
        </ul>
        <t>Before allocating, slicing, advancing an input cursor, or iterating a declared collection length, a decoder MUST verify with checked arithmetic that the length is representable by the host and does not exceed the remaining input. A declared length or count that cannot be consumed from the received bytes MUST be rejected at the enclosing encoding boundary. It MUST NOT wrap an offset, panic, abort the process, or attempt an allocation based only on the received length.</t>
        <t>Every <tt>uri</tt> value in CBAP-1 MUST satisfy the generic URI syntax of <xref target="RFC3986"/> and the <tt>https</tt> URI scheme requirements in Section 4.2.2 of <xref target="RFC9110"/>, with these additional profile restrictions:</t>
        <ul spacing="normal">
          <li>
            <t>the scheme is the exact lowercase ASCII string <tt>https</tt>;</t>
          </li>
          <li>
            <t>an authority introduced by <tt>//</tt> is present and contains a non-empty host;</t>
          </li>
          <li>
            <t>user information is absent;</t>
          </li>
          <li>
            <t>if a port delimiter is present, the port is a non-empty decimal integer in <tt>0..65535</tt>;</t>
          </li>
          <li>
            <t>every percent-encoded triplet is syntactically complete; and</t>
          </li>
          <li>
            <t>a fragment component is absent.</t>
          </li>
        </ul>
        <t>Conformance is determined by the complete component grammar, not by a prefix
test or a character allowlist. In particular:</t>
        <ul spacing="normal">
          <li>
            <t><tt>authority</tt>, <tt>host</tt>, <tt>IP-literal</tt>, <tt>IPv6address</tt>, <tt>IPvFuture</tt>,
<tt>path-abempty</tt>, <tt>segment</tt>, <tt>pchar</tt>, and <tt>query</tt> have the meanings and ABNF
defined by <xref target="RFC3986"/>;</t>
          </li>
          <li>
            <t>a bracketed host MUST contain exactly one syntactically valid <xref target="RFC3986"/>
              <tt>IPv6address</tt> or <tt>IPvFuture</tt> value;</t>
          </li>
          <li>
            <t><tt>[</tt> and <tt>]</tt> are permitted only as the delimiters of that <tt>IP-literal</tt> and
MUST be rejected in a registered name, path, or query;</t>
          </li>
          <li>
            <t>a registered name is validated as <tt>reg-name</tt>; accepting the characters of
a putative hostname without parsing its component boundaries is
insufficient; and</t>
          </li>
          <li>
            <t>IPv6 zone identifiers, including a percent-encoded zone suffix inside an
IP-literal, are not supported by CBAP-1 and MUST be rejected.</t>
          </li>
        </ul>
        <t><xref target="RFC9844"/> obsoletes <xref target="RFC6874"/> and does not define a replacement URI syntax for
zone identifiers. CBAP-1 deliberately excludes them because a locally scoped
zone identifier is not a stable signed identifier across verifiers.</t>
        <t>Path and query components are permitted only when their complete <xref target="RFC3986"/>
grammar matches. CBAP-1 performs no URI normalization: the exact ASCII bytes
are the identifier and signature input. A different but allegedly equivalent
spelling is a different value. A prefix test such as
<tt>starts_with("https://")</tt>, a search for forbidden delimiters, or a
component-wide character allowlist is not URI validation.</t>
        <t>The following examples are normative CBAP-1 URI conformance probes. Each
value is evaluated as written, without normalization or network resolution.</t>
        <table>
          <thead>
            <tr>
              <th align="left">URI</th>
              <th align="left">Required result</th>
              <th align="left">Boundary exercised</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>https://forum.example</tt></td>
              <td align="left">accept</td>
              <td align="left">empty path</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example:443/cases?open=1</tt></td>
              <td align="left">accept</td>
              <td align="left">decimal port, path and query</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://[2001:db8::1]/cases</tt></td>
              <td align="left">accept</td>
              <td align="left">IPv6 address literal</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://[v1.a]/cases</tt></td>
              <td align="left">accept</td>
              <td align="left">IPvFuture</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example/%2Fcase</tt></td>
              <td align="left">accept</td>
              <td align="left">complete percent triplet in path</td>
            </tr>
            <tr>
              <td align="left">
                <tt>HTTPS://forum.example/</tt></td>
              <td align="left">reject</td>
              <td align="left">scheme is not exact lowercase <tt>https</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://</tt></td>
              <td align="left">reject</td>
              <td align="left">empty host</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://user@forum.example/</tt></td>
              <td align="left">reject</td>
              <td align="left">user information</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example:/</tt></td>
              <td align="left">reject</td>
              <td align="left">empty explicit port</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example:65536/</tt></td>
              <td align="left">reject</td>
              <td align="left">port outside profile range</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example/%2/</tt></td>
              <td align="left">reject</td>
              <td align="left">incomplete percent triplet</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example/#part</tt></td>
              <td align="left">reject</td>
              <td align="left">fragment present</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://[:::]/</tt></td>
              <td align="left">reject</td>
              <td align="left">invalid IPv6 address literal</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://[v1.]/</tt></td>
              <td align="left">reject</td>
              <td align="left">invalid IPvFuture</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://[fe80::1%25eth0]/</tt></td>
              <td align="left">reject</td>
              <td align="left">zone identifier unsupported</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example/a[b]</tt></td>
              <td align="left">reject</td>
              <td align="left">brackets in path</td>
            </tr>
            <tr>
              <td align="left">
                <tt>https://forum.example/?a=[b]</tt></td>
              <td align="left">reject</td>
              <td align="left">brackets in query</td>
            </tr>
          </tbody>
        </table>
        <t>The following conformance probe distinguishes Section 4.2.1 ordering from length-first ordering. A conforming CBAP-1 encoder MUST encode the diagnostic map <tt>{100: -1, -1: 100}</tt> as hexadecimal <tt>a2186420201864</tt>. An encoder that places key <tt>-1</tt> before key <tt>100</tt> is not conformant even if a library describes its output as canonical.</t>
        <t>CBAP-1 fixes SHA-256 as specified by <xref target="RFC6234"/> as its only digest function. A digest is a 32-byte byte string; an algorithm identifier is not carried beside each digest. Algorithm substitution is therefore impossible inside the profile. Adding another hash function requires a new application-profile version.</t>
        <t>Let <tt>dCBOR(x)</tt> be the exact CBAP-1 deterministic encoding of data item <tt>x</tt>. Domain-separated hashes are computed as:</t>
        <sourcecode type="text"><![CDATA[
H(domain, value) = SHA-256(dCBOR([domain, value]))
]]></sourcecode>
        <t><tt>domain</tt> is the exact lowercase ASCII text string defined at each use. Digests of signed artifacts are SHA-256 over the complete tagged COSE_Sign1 byte sequence, including the tag, protected-header bytes, payload, and signature. Policy and action digests are SHA-256 over the exact supplied bytes. A verifier MUST NOT hash a decoded and reconstructed signed object in place of its received conforming bytes.</t>
      </section>
      <section anchor="mandatory-signature-envelope">
        <name>Mandatory signature envelope</name>
        <t>Every signed CBAP-1 object is an embedded-payload, tagged COSE_Sign1 object as defined by <xref target="RFC9052"/>:</t>
        <sourcecode type="text"><![CDATA[
18([protected, unprotected, payload, signature])
]]></sourcecode>
        <t>The protected header map MUST contain exactly:</t>
        <sourcecode type="text"><![CDATA[
{ 1: -19, 4: kid }
]]></sourcecode>
        <t>Header label <tt>1</tt> is <tt>alg</tt>; value <tt>-19</tt> is the fully specified Ed25519 algorithm registered by <xref target="RFC9864"/>. CBAP-1 MUST NOT use the deprecated polymorphic <tt>EdDSA</tt> value <tt>-8</tt>. Header label <tt>4</tt> is <tt>kid</tt>, encoded as a byte string of 1 through 64 bytes. The unprotected header map MUST be empty. The payload MUST be present as a byte string containing one closed CBAP-1 payload. Detached payloads, countersignatures, critical headers, and additional protected or unprotected headers are not supported by CBAP-1.</t>
        <t>The signature is computed over the <xref target="RFC9052"/> Sig_structure with context <tt>Signature1</tt>, the received protected-header bytes, an empty external AAD byte string, and the embedded payload bytes. Ed25519 is defined by <xref target="RFC8032"/>. The signature MUST be 64 bytes. The public key is an Ed25519 COSE_Key as defined by <xref target="RFC9053"/>, with <tt>kty = 1</tt>, <tt>crv = 6</tt>, and a 32-byte <tt>x</tt> coordinate. If its <tt>alg</tt> member is present, it MUST be <tt>-19</tt>.</t>
        <t><tt>kid</tt> is a key-selection hint, not a trust assertion. The verifier's local trust profile MUST resolve it to exactly one authorized public key for the required role and controlling trust domain. Zero matches, multiple matches, an unauthorized role, or a key/profile mismatch yields <tt>invalid</tt> or <tt>indeterminate</tt> as specified by the calling verification step. Each payload also carries the signer's key identifier as a text string; its UTF-8 bytes MUST equal the protected <tt>kid</tt>.</t>
      </section>
      <section anchor="cbap-1-closed-data-model">
        <name>CBAP-1 closed data model</name>
        <t>CBAP-1 intentionally implements the smallest end-to-end path that exercises the load-bearing claims: direct authorization binding, exact forum acceptance, issuer-only selection provenance, by-value policy verification, executor-attested pre-execution evidence, an execution-time filing clock, and <tt>effect_policy = none</tt>. Class manifests, companion bindings, notices, active execution effects, multiparty selection, and external selection remain part of the abstract protocol but are unsupported by CBAP-1 and require another named profile.</t>
        <t>In CBAP-1, <tt>epoch</tt> is an unsigned integer counting seconds from <tt>1970-01-01T00:00Z</tt> UTC on the POSIX numeric timeline described for nonnegative epoch-based date/time values in Section 3.4.2 of <xref target="RFC8949"/>. CBAP-1 encodes this integer directly as the untagged CDDL <tt>uint</tt>; it does not use CBOR tag 1. Fractional and negative epoch values are therefore outside the profile. Leap seconds follow POSIX-time handling: they are not represented as an additional distinct counted second, and comparisons and deadline arithmetic use the resulting POSIX timeline, including its one-second discontinuity at an inserted leap second.</t>
        <t>The diagnostic CDDL <xref target="RFC8610"/> is:</t>
        <sourcecode type="cddl"><![CDATA[
digest = bstr .size 32
id16 = bstr .size 16
epoch = uint
key-id = tstr
uri = tstr

policy-ref = [uri, digest]
validity = [not-before: epoch, not-after: epoch]
forum = [forum-id: uri, submission-endpoint: uri, forum-key-id: key-id]
filing-window = [basis: 1, duration-seconds: uint]
effect-policy = [mode: 0]
affected-party-access = [method: 3, discovery-uri: uri, available-until: epoch]

cbap1-terms = {
  1: id16,                       ; authorization-id
  2: digest,                     ; abp-digest
  3: digest,                     ; authorization-trust-profile-digest
  4: key-id,                     ; authorization-issuer-key-id
  5: validity,                   ; authorization-validity
  6: digest,                     ; action-digest
  7: forum,
  8: policy-ref,                 ; standing-policy
  9: policy-ref,                 ; procedure
  10: filing-window,
  11: effect-policy,
  12: policy-ref,                ; selection-policy
  13: [1* affected-party-access],
  14: epoch,                     ; issued-at
  15: epoch,                     ; expires-at
  16: id16                       ; nonce
}

cbap1-cpo = {
  1: 1,                         ; profile version
  2: 1,                         ; object type: CPO
  3: cbap1-terms,
  4: [mode: 0, exact-acceptance-digest: digest],
  5: [],                        ; no selection statements: unilateral
  6: key-id                     ; issuer-key-id
}

cbap1-exact-acceptance = {
  1: 1,
  2: 2,                         ; exact forum acceptance
  3: digest,                    ; forum-terms-digest
  4: epoch,                     ; valid-from
  5: epoch,                     ; valid-until
  6: policy-ref,                ; submission-receipt-profile
  7: policy-ref,                ; withdrawal-policy
  8: epoch,                     ; signed-at
  9: key-id                     ; forum-key-id
}

cbap1-authorization = {
  1: 1,
  2: 3,                         ; CBAP-1 test Authorization Artifact
  3: id16,                      ; authorization-id
  4: key-id,                    ; issuer-key-id
  5: tstr,                      ; agent-id
  6: digest,                    ; action-digest
  7: epoch,                     ; not-before
  8: epoch,                     ; not-after
  9: digest,                    ; cpo-digest
  10: id16                      ; nonce
}

cbap1-executor-verification = {
  1: 1,
  2: 4,                         ; executor verification record
  3: digest,                    ; authorization-digest
  4: id16,                      ; authorization-id
  5: digest,                    ; action-digest
  6: digest,                    ; cpo-digest
  7: 1,                         ; decision: execute
  8: epoch,                     ; verified-at
  9: id16,                      ; nonce
  10: key-id                    ; executor-key-id
}

cbap1-execution-record = {
  1: 1,
  2: 5,                         ; execution record
  3: digest,                    ; authorization-digest
  4: digest,                    ; verification-record-digest
  5: id16,                      ; authorization-id
  6: digest,                    ; action-digest
  7: 1,                         ; disposition: executed
  8: epoch,                     ; executed-at
  9: id16,                      ; nonce
  10: key-id                    ; executor-key-id
}

cbap1-bundle = {
  1: 1,
  2: bstr,                      ; cpo-cose
  3: bstr,                      ; exact-acceptance-cose
  4: bstr,                      ; authorization-cose
  5: bstr,                      ; executor-verification-cose
  6: bstr,                      ; execution-record-cose
  7: bstr,                      ; action-bytes
  8: [+ [digest, bstr]]         ; policy-digest, policy-bytes
}
]]></sourcecode>
        <t>The following member-label registry is normative. The names identify protocol semantics, not merely implementation variables. An implementation that assigns a listed semantic value to another label is not CBAP-1 conformant even when its producer and verifier agree with each other.</t>
        <sourcecode type="text"><![CDATA[
cbap1-terms
   1 authorization-id
   2 abp-digest
   3 authorization-trust-profile-digest
   4 authorization-issuer-key-id
   5 authorization-validity
   6 action-digest
   7 forum
   8 standing-policy
   9 procedure
  10 filing-window
  11 effect-policy
  12 selection-policy
  13 affected-party-access
  14 issued-at
  15 expires-at
  16 nonce

cbap1-cpo
   1 profile-version
   2 object-type
   3 terms
   4 exact-acceptance-reference
   5 selection-statements
   6 issuer-key-id

cbap1-exact-acceptance
   1 profile-version
   2 object-type
   3 forum-terms-digest
   4 valid-from
   5 valid-until
   6 submission-receipt-policy
   7 withdrawal-policy
   8 signed-at
   9 forum-key-id

cbap1-authorization
   1 profile-version
   2 object-type
   3 authorization-id
   4 issuer-key-id
   5 agent-id
   6 action-digest
   7 not-before
   8 not-after
   9 cpo-digest
  10 nonce

cbap1-executor-verification
   1 profile-version
   2 object-type
   3 authorization-digest
   4 authorization-id
   5 action-digest
   6 cpo-digest
   7 decision
   8 verified-at
   9 nonce
  10 executor-key-id

cbap1-execution-record
   1 profile-version
   2 object-type
   3 authorization-digest
   4 executor-verification-digest
   5 authorization-id
   6 action-digest
   7 disposition
   8 executed-at
   9 nonce
  10 executor-key-id

cbap1-bundle
   1 profile-version
   2 cpo-cose
   3 exact-acceptance-cose
   4 authorization-cose
   5 executor-verification-cose
   6 execution-record-cose
   7 action-bytes
   8 policy-pairs
]]></sourcecode>
        <t>In particular, executor-verification member <tt>5</tt> is always <tt>action-digest</tt> and member <tt>6</tt> is always <tt>cpo-digest</tt>. Execution-record member <tt>5</tt> is <tt>authorization-id</tt> and member <tt>6</tt> is <tt>action-digest</tt>. Reusing a semantic label number across different maps is not a CBAP-1 design rule; only the registry above assigns meaning.</t>
        <t>The integer values have the following fixed meanings in CBAP-1: filing-window basis <tt>1</tt> is <tt>execution_time</tt>; effect mode <tt>0</tt> is <tt>none</tt>; affected-party access method <tt>3</tt> is <tt>public_transparency</tt>; forum-acceptance mode <tt>0</tt> is <tt>exact</tt>; executor decision <tt>1</tt> is <tt>execute</tt>; and execution disposition <tt>1</tt> is <tt>executed</tt>. An unknown integer is unsupported, not an extension point.</t>
        <t>The filing-window <tt>duration-seconds</tt> value MUST be in the inclusive range <tt>1..18446744073709551615</tt>. A zero-duration contestation window is not valid in CBAP-1 and fails at <tt>profile_binding_mismatch</tt> rather than being interpreted as an instantaneous window.</t>
        <t>Policy pairs in bundle member <tt>8</tt> MUST be sorted in ascending bytewise order of <tt>policy-digest</tt> and MUST NOT repeat a digest. This makes the by-value bundle unique rather than treating arbitrary array order as a new encoding of the same evidence set.</t>
        <t><tt>cbap1-authorization</tt> is a deliberately small test Authorization Artifact and the mandatory ABP used only to make the base profile executable. It is not proposed as a universal agent-authorization format. Production authorization systems compose through their own ABPs.</t>
      </section>
      <section anchor="cbap-1-digest-and-construction-rules">
        <name>CBAP-1 digest and construction rules</name>
        <t>CBAP-1 uses these exact derivations:</t>
        <sourcecode type="text"><![CDATA[
action_digest = SHA-256(action_bytes)
policy_digest = SHA-256(policy_bytes)
terms_digest = H("agent-contestation-terms-v1", cbap1-terms)
forum_terms = [terms[1], terms[2], terms[3], terms[4], terms[5],
               terms[6], terms[7], terms[8], terms[9], terms[10]]
forum_terms_digest = H("agent-contestation-forum-terms-v1", forum_terms)
acceptance_digest = SHA-256(exact_acceptance_cose_bytes)
cpo_digest = SHA-256(cpo_cose_bytes)
authorization_digest = SHA-256(authorization_cose_bytes)
verification_record_digest = SHA-256(executor_verification_cose_bytes)
]]></sourcecode>
        <t>The construction order is fixed:</t>
        <ol spacing="normal" type="1"><li>
            <t>Fix the action bytes, policy bytes, trust inputs, identifiers, validity, forum, filing window, access method, times, and nonces.</t>
          </li>
          <li>
            <t>Compute the action and policy digests and construct <tt>cbap1-terms</tt>.</t>
          </li>
          <li>
            <t>Project <tt>forum_terms</tt>, compute its digest, and obtain the forum-signed exact acceptance.</t>
          </li>
          <li>
            <t>Hash the complete signed acceptance and place that digest in the CPO payload.</t>
          </li>
          <li>
            <t>Sign the CPO and hash the complete tagged COSE_Sign1 bytes.</t>
          </li>
          <li>
            <t>Place the CPO digest in the CBAP-1 Authorization Artifact and sign it.</t>
          </li>
          <li>
            <t>Hash the signed Authorization Artifact and construct the executor verification record. Place <tt>authorization-digest</tt> at label <tt>3</tt>, <tt>authorization-id</tt> at label <tt>4</tt>, <tt>action-digest</tt> at label <tt>5</tt>, and <tt>cpo-digest</tt> at label <tt>6</tt>.</t>
          </li>
          <li>
            <t>Sign that record, hash it, and construct the execution record. Place <tt>authorization-digest</tt> at label <tt>3</tt>, <tt>executor-verification-digest</tt> at label <tt>4</tt>, <tt>authorization-id</tt> at label <tt>5</tt>, and <tt>action-digest</tt> at label <tt>6</tt>.</t>
          </li>
          <li>
            <t>Sign the execution record and assemble the unsigned by-value bundle.</t>
          </li>
        </ol>
        <t>No step signs or hashes a placeholder for an object that is completed later. Reversing steps 3 through 8 or reconstructing a signed artifact from decoded fields changes the relevant digest and MUST fail verification.</t>
      </section>
      <section anchor="cbap-1-trust-and-verification-inputs">
        <name>CBAP-1 trust and verification inputs</name>
        <t>The bundle is evidence, not a trust store. A CBAP-1 verifier receives separately:</t>
        <ul spacing="normal">
          <li>
            <t>the expected CBAP-1 ABP digest;</t>
          </li>
          <li>
            <t>the expected Authorization Trust Profile digest;</t>
          </li>
          <li>
            <t>one issuer Ed25519 public key authorized for the <tt>kid</tt> and authorization scope;</t>
          </li>
          <li>
            <t>one forum Ed25519 public key authorized for the forum identifier and <tt>kid</tt>;</t>
          </li>
          <li>
            <t>one executor Ed25519 public key authorized for the executor <tt>kid</tt>;</t>
          </li>
          <li>
            <t>the controlling trust domain for each role;</t>
          </li>
          <li>
            <t>a verification-time input presented at the verifier boundary as an integer and validated before conversion to the CBAP-1 unsigned range.</t>
          </li>
        </ul>
        <t>The expected ABP digest is <tt>H("cbap1-authorization-binding-profile-v1", 1)</tt>. The Authorization Trust Profile digest is supplied by local policy and MUST equal terms member <tt>3</tt>; untrusted bytes carried in the bundle cannot replace it. Policy bytes in the bundle establish discoverability and digest equality only. They do not become trusted merely because the issuer supplied them.</t>
        <t>The valid verification-time range is <tt>0..18446744073709551615</tt>. A negative integer, an integer above that range, or an external representation that is not an integer fails with <tt>verification_time_invalid</tt> before any bundle byte is parsed. A public adapter MAY use a textual or wider host representation to expose this boundary, but parse and range failures MUST be converted to the closed reason. They MUST NOT cause an unhandled exception, panic, process abort, clamping, wrapping, or substitution. An internal API whose type cannot represent an invalid value does not by itself satisfy the externally observable conformance boundary.</t>
        <t>CBAP-1 returns <tt>selection_provenance: unilateral</tt>, <tt>forum_acknowledgement: valid_exact</tt>, <tt>pre_execution_evidence: executor_attested</tt>, and <tt>declared_effect: none</tt> only after every corresponding signature, digest, identifier, validity, ordering, and role check succeeds. The execution record's authenticated <tt>executed-at</tt> value starts the filing window. This is an executor-signed clock claim under the supplied Executor Trust Profile, not an external wall-clock proof.</t>
      </section>
    </section>
    <section anchor="binding-to-an-authorization">
      <name>Binding to an Authorization</name>
      <section anchor="direct-binding">
        <name>Direct binding</name>
        <t>An extensible Authorization Artifact carries:</t>
        <sourcecode type="text"><![CDATA[
contestability_digest = HASH(signed_CPO_bytes)
]]></sourcecode>
        <t>The Authorization Artifact's signature MUST cover <tt>contestability_digest</tt>, <tt>authorization_id</tt>, and <tt>action_digest</tt>.</t>
        <t>The CPO terms carry the same <tt>authorization_id</tt>, <tt>action_digest</tt>, ABP digest, and Authorization Trust Profile digest. They do not carry the final Authorization Artifact digest, avoiding a circular digest dependency.</t>
        <t>The construction order is: select or create valid forum acceptance evidence; construct and sign the CPO; place the completed CPO digest in the Authorization Artifact; sign the Authorization Artifact. An executor MUST NOT accept a direct binding when the Authorization Artifact was signed before the CPO it purports to bind.</t>
      </section>
      <section anchor="companion-binding-statement">
        <name>Companion binding statement</name>
        <t>Where the Authorization Artifact cannot be extended, the issuer signs a Contestability Binding Statement containing:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-contestability-binding-v1",
  "authorization_digest": { "alg": "sha-256", "value": "..." },
  "authorization_id": "urn:uuid:...",
  "authorization_binding_profile_digest": { "alg": "sha-256", "value": "..." },
  "authorization_trust_profile_digest": { "alg": "sha-256", "value": "..." },
  "action_digest": { "alg": "sha-256", "value": "..." },
  "cpo_digest": { "alg": "sha-256", "value": "..." },
  "issued_at": "...",
  "issuer": "...",
  "signature": "..."
}
]]></sourcecode>
        <t>For a deployment or profile claiming pre-execution presentation of a companion binding, the statement MUST exist before execution and MUST be presented with the authorization evidence. A post-execution statement cannot retroactively satisfy that pre-execution claim.</t>
      </section>
      <section anchor="pre-execution-evidence-profiles">
        <name>Pre-execution evidence profiles</name>
        <t>The base verifier recognizes evidence classes rather than returning a boolean proof of enforcement.</t>
        <t>An <tt>executor_attested</tt> profile uses an executor-signed verification record containing at least the Authorization Artifact digest, <tt>authorization_id</tt>, <tt>action_digest</tt>, CPO digest, verification-result digest, executor decision, nonce, claimed verification time, executor key identifier, and signature. The corresponding execution or refusal record MUST bind the verification-record digest. This establishes a signed protocol sequence under the executor key; it does not prove the physical placement or honesty of the executor's checks.</t>
        <t>A <tt>transparency_prior</tt> profile uses registration evidence verified under the selected temporal profile for the CPO digest and an authenticated execution-time event. The selected temporal profile MUST establish that registration preceded the execution event under its stated clock and consistency assumptions. A timestamp copied into either object is insufficient.</t>
        <t>If neither profile is present, or if its assumptions cannot be verified, the result is <tt>absent</tt>, <tt>invalid</tt>, or <tt>indeterminate</tt> as applicable. The CPO binding can remain valid.</t>
      </section>
      <section anchor="executor-effect-acceptance-statement">
        <name>Executor Effect Acceptance Statement</name>
        <t>An active effect policy becomes executor-accepted only through a separate statement created after the Authorization Artifact and CPO are complete but before the action executes:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-executor-effect-acceptance-v1",
  "authorization_digest": { "alg": "sha-256", "value": "base64url..." },
  "authorization_id": "urn:uuid:...",
  "action_digest": { "alg": "sha-256", "value": "base64url..." },
  "cpo_digest": { "alg": "sha-256", "value": "base64url..." },
  "effect_policy_digest": { "alg": "sha-256", "value": "base64url..." },
  "forum_acceptance_digest": { "alg": "sha-256", "value": "base64url..." },
  "decision": "accepted",
  "valid_until": "2026-08-12T00:00:00Z",
  "accepted_at": "2026-08-11T00:00:01Z",
  "nonce": "base64url...",
  "executor": "https://executor.example/",
  "key_id": "https://executor.example/keys/8",
  "signature": "base64url..."
}
]]></sourcecode>
        <t>The signature MUST verify under the exact executor key named by the effect policy and under the digest-bound Executor Trust Profile. It MUST cover every member shown above. The digests MUST resolve to the same verified Authorization Artifact, action, CPO, effect policy, and forum acceptance evidence. <tt>valid_until</tt> MUST cover the action's execution boundary and the interval during which the accepted transition can be triggered.</t>
        <t>The corresponding execution or refusal record MUST bind the acceptance-statement digest. This prevents an issuer from attaching an acceptance created for a different action, policy, CPO, or forum. It also places the statement outside the CPO signature graph: the executor can accept a completed authorization without its signature being recursively included in the object it signs. <tt>accepted_at</tt> alone is not ordering evidence. The record linkage establishes an executor-signed protocol sequence; without independently authenticated ordering, it does not prove when the physical checks or action occurred.</t>
        <t>A valid statement yields <tt>effect_acceptance: executor_accepted</tt>. Absence, expiry, key mismatch, digest mismatch, or signature failure MUST NOT invalidate the underlying Contestability Binding. It changes only the effect-acceptance result. Executor acceptance is an authenticated commitment under the accepted executor key to implement the bound state transition under the selected profile; it is not evidence that any trigger occurred or transition was applied.</t>
      </section>
      <section anchor="filing-triggers-and-effect-application">
        <name>Filing triggers and effect application</name>
        <t>An <tt>accepted_filing_receipt</tt> trigger profile MUST authenticate at least the following closed projection from the forum's receipt:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-contestation-filing-receipt-v1",
  "filing_id": "urn:uuid:...",
  "authorization_digest": { "alg": "sha-256", "value": "base64url..." },
  "authorization_id": "urn:uuid:...",
  "action_digest": { "alg": "sha-256", "value": "base64url..." },
  "cpo_digest": { "alg": "sha-256", "value": "base64url..." },
  "submission_digest": { "alg": "sha-256", "value": "base64url..." },
  "disposition": "accepted",
  "received_at": "2026-08-11T00:10:00Z",
  "nonce": "base64url...",
  "forum_key_id": "https://forum.example/keys/2026-1",
  "signature": "base64url..."
}
]]></sourcecode>
        <t>The receipt signature, time, replay, and key-continuity rules are those of the digest-bound trigger profile. The verified forum acceptance evidence MUST authenticate that same profile and forum key. <tt>authorization_digest</tt> binds the receipt to the completed signed Authorization Artifact and prevents a receipt created before issuance from triggering a later artifact that reuses the same identifier, action, and CPO. A receipt with <tt>disposition: refused</tt> is evidence of refusal, not an effect trigger. An accepted receipt yields <tt>effect_trigger: valid</tt> only for the exact Authorization Artifact, action, CPO, filing, profile, and effect policy to which it is applied.</t>
        <t>After verifying a valid trigger, the executor can issue an Effect Application Record:</t>
        <sourcecode type="json"><![CDATA[
{
  "type": "agent-effect-application-record-v1",
  "authorization_digest": { "alg": "sha-256", "value": "base64url..." },
  "authorization_id": "urn:uuid:...",
  "action_digest": { "alg": "sha-256", "value": "base64url..." },
  "cpo_digest": { "alg": "sha-256", "value": "base64url..." },
  "effect_policy_digest": { "alg": "sha-256", "value": "base64url..." },
  "effect_acceptance_digest": { "alg": "sha-256", "value": "base64url..." },
  "filing_receipt_digest": { "alg": "sha-256", "value": "base64url..." },
  "idempotency_key": "base64url...",
  "previous_state_commitment": { "alg": "sha-256", "value": "base64url..." },
  "new_state_commitment": { "alg": "sha-256", "value": "base64url..." },
  "sequence": 418,
  "disposition": "applied",
  "reason": "bound-fence-entered",
  "recorded_at": "2026-08-11T00:10:01Z",
  "executor": "https://executor.example/",
  "key_id": "https://executor.example/keys/8",
  "signature": "base64url..."
}
]]></sourcecode>
        <t>The disposition is one of <tt>applied</tt>, <tt>refused</tt>, <tt>too_late</tt>, <tt>already_applied</tt>, or <tt>failed</tt>. <tt>reason</tt> is a closed code defined by the state-machine profile, not free text. <tt>applied</tt> MUST carry the previous and new state commitments and the authenticated sequence at which the transition committed. <tt>already_applied</tt> MUST carry a <tt>prior_application_digest</tt> that resolves to the first valid application record for the same idempotency key. Other dispositions MUST follow the profile's closed rules for whether a current-state commitment is present and MUST NOT manufacture a new-state commitment. An application after the authenticated deadline MUST be <tt>too_late</tt> unless the bound policy defines a deterministic exception. The record MUST bind the same Authorization Artifact, CPO, policy, acceptance, and receipt; MUST verify under the accepted executor key; and MUST satisfy the policy's idempotency and serialization profiles. For the same idempotency key, at most one application record can contribute a successful transition result under the bound profile; a later valid record MUST resolve to <tt>already_applied</tt> or to an equivocation condition rather than a second successful application. Conflicting validly signed records are equivocation evidence and yield <tt>effect_application: indeterminate</tt> unless the selected profile deterministically resolves them.</t>
        <t>For <tt>hold_before_execution</tt>, the application record and its sequence MUST precede the execution boundary, and the subsequent executor record MUST carry the bound hold or refusal disposition and MUST bind the application-record digest. For <tt>fence_after_execution</tt>, the application sequence MUST follow action execution and precede the bound finality boundary. A wall-clock comparison alone is insufficient where concurrent transitions are possible. Without verified serialization evidence, a verifier MUST NOT report the transition as ordered even if all timestamps and signatures validate.</t>
        <t>An Effect Application Record proves that the accepted executor key made the signed claim. It does not prove physical state, performance by another system, or legal effect. <tt>applied</tt> means only that the record and its state transition verify under the bound state-machine and serialization profiles. It MUST NOT be translated into <tt>reversed</tt>, <tt>remedied</tt>, or <tt>restored</tt>.</t>
      </section>
    </section>
    <section anchor="verification">
      <name>Verification</name>
      <t>Given an Authorization Artifact, action, CPO, optional companion binding statement, verification time, local trust profile, and, when selected by local policy, an optional policy-freshness input consisting of a digest-identified profile and its required evidence, the verifier MUST:</t>
      <ol spacing="normal" type="1"><li>
          <t>Parse every object under its declared closed-object rules.</t>
        </li>
        <li>
          <t>Recompute the canonical action digest and require equality with the Authorization Artifact and CPO.</t>
        </li>
        <li>
          <t>Verify and project the Authorization Artifact under the claimed ABP and Authorization Trust Profile, require both digests and the projected tuple to match the CPO terms, and identify the authorization issuer.</t>
        </li>
        <li>
          <t>Verify the direct binding or companion binding statement.</t>
        </li>
        <li>
          <t>Recompute the CPO digest and require equality with the bound digest.</t>
        </li>
        <li>
          <t>Require equality of <tt>authorization_id</tt> and <tt>action_digest</tt> across all objects.</t>
        </li>
        <li>
          <t>Verify the CPO issuer signature and require the issuer to be the authorization issuer or an authority explicitly accepted by local policy.</t>
        </li>
        <li>
          <t>Verify the selected pre-execution evidence profile for the same CPO digest and classify the evidence without treating an executor claim as physical proof of execution order.</t>
        </li>
        <li>
          <t>Verify time validity and replay constraints.</t>
        </li>
        <li>
          <t>Verify the digests of the Standing Policy, procedure, and selection policy. If the optional policy-freshness input is present, verify its digest-identified profile and required evidence and derive <tt>policy_freshness</tt>; if that input is absent or cannot be evaluated, return <tt>indeterminate</tt> for that field.</t>
        </li>
        <li>
          <t>Recompute <tt>terms_digest</tt> and <tt>forum_terms_digest</tt>; verify either the Exact Forum Acceptance Statement or the FAM signature and digest.</t>
        </li>
        <li>
          <t>For exact acceptance, require the accepted <tt>forum_terms_digest</tt> to match. For class acceptance, require the successfully applied ABP and Authorization Trust Profile digest pair to appear in the FAM and require all forum-relevant CPO terms to satisfy the FAM constraints.</t>
        </li>
        <li>
          <t>Recompute <tt>selection_input</tt> from <tt>terms_digest</tt> and the verified acceptance evidence digest; verify each item of selection evidence against that exact input and the local trust profile.</t>
        </li>
        <li>
          <t>Derive selection provenance as specified in Section 6.1, accounting for role co-location under the local trust profile.</t>
        </li>
        <li>
          <t>Parse the effect policy as a closed object. For an active mode, verify every referenced profile digest, require the trigger profile to match the submission-receipt profile authenticated by the forum acceptance evidence, and verify the named executor under the selected trust profile.</t>
        </li>
        <li>
          <t>Verify any Executor Effect Acceptance Statement against the exact Authorization Artifact, action, CPO, effect policy, forum acceptance evidence, executor identity, validity interval, and execution or refusal record. Do not infer application from acceptance.</t>
        </li>
        <li>
          <t>Verify any Contestability Notice and classify it as issued, invalid, or absent; evaluate delivery evidence only when a selected transport profile defines it.</t>
        </li>
        <li>
          <t>Evaluate each declared affected-party access method under the selected profile and derive <tt>access_binding</tt> from the integrity and profile constraints of those declarations. Evaluate <tt>retrievability</tt> separately; do not infer current availability from a signed URI.</t>
        </li>
        <li>
          <t>Verify the event evidence named by <tt>filing_window.basis</tt>, compute the closing time, and return <tt>indeterminate</tt> if the required clock input is unavailable.</t>
        </li>
        <li>
          <t>Verify any filing receipt under the exact trigger profile, forum key, Authorization Artifact digest, identifiers, CPO digest, time, and replay rules. Distinguish an accepted filing from a refused or invalid submission.</t>
        </li>
        <li>
          <t>Verify any Effect Application Record against the exact policy, executor acceptance, trigger receipt, executor key, idempotency profile, state-machine profile, and application deadline.</t>
        </li>
        <li>
          <t>Separately evaluate whether the trigger, application, execution, and finality transitions are ordered under the bound serialization profile. Do not substitute signed wall-clock fields for the required ordering evidence.</t>
        </li>
        <li>
          <t>Return the structured result in Section 6.2.</t>
        </li>
      </ol>
      <t>An Authorization Artifact, CPO issuer signature, direct or companion binding, identifier, or action-digest failure makes <tt>binding</tt> invalid. A forum-acceptance failure changes <tt>forum_acknowledgement</tt>; a selection-signature failure changes <tt>selection_provenance</tt>; a notice failure changes <tt>notice_evidence</tt>; missing filing-clock evidence changes <tt>filing_window_status</tt>; and an effect acceptance, trigger, application, or ordering failure changes only its corresponding effect result. Those failures MUST NOT be collapsed into or misreported as a cryptographic binding failure. Failure to retrieve an otherwise valid digest-bound procedure makes discoverability <tt>incomplete</tt>; it does not rewrite a valid cryptographic binding as invalid.</t>
      <section anchor="selection-provenance">
        <name>Selection provenance</name>
        <t>The verifier derives exactly one value:</t>
        <ul spacing="normal">
          <li>
            <t><tt>unilateral</tt>: only the authorization issuer selected or authenticated the forum;</t>
          </li>
          <li>
            <t><tt>multiparty</tt>: every selector role required by the local selection profile signed the same <tt>selection_input</tt>;</t>
          </li>
          <li>
            <t><tt>external</tt>: a locally trusted external Selection Authority selected or authenticated the forum under the referenced policy;</t>
          </li>
          <li>
            <t><tt>indeterminate</tt>: evidence is missing, invalid, ambiguous, or unsupported.</t>
          </li>
        </ul>
        <t><tt>multiparty</tt> and <tt>external</tt> describe authenticated selection provenance. Neither means <tt>independent</tt>.</t>
      </section>
      <section anchor="structured-result">
        <name>Structured result</name>
        <sourcecode type="json"><![CDATA[
{
  "binding": "valid | invalid",
  "pre_execution_evidence": "executor_attested | transparency_prior | absent | invalid | not_claimed | indeterminate",
  "discoverability": "complete | incomplete",
  "forum_acknowledgement": "valid_exact | valid_class | invalid_scope | invalid | absent | indeterminate",
  "forum_operational_status": "reachable | unreachable | not_checked | indeterminate",
  "selection_provenance": "unilateral | multiparty | external | indeterminate",
  "access_binding": "valid | invalid | not_claimed | indeterminate",
  "notice_evidence": "issued | delivered | invalid | absent | not_claimed | indeterminate",
  "retrievability": "available | unavailable | not_checked | indeterminate",
  "filing_window_status": "not_open | open | closed | indeterminate",
  "policy_freshness": "current | stale | indeterminate",
  "declared_effect": "none | hold_before_execution | fence_after_execution | invalid | unsupported",
  "effect_acceptance": "executor_accepted | absent | invalid | not_required | indeterminate",
  "effect_trigger": "valid | refused | invalid | not_observed | not_applicable | indeterminate",
  "effect_ordering": "verified | invalid | not_evidenced | not_applicable | indeterminate",
  "effect_application": "executor_claimed_applied | executor_claimed_refused | too_late | already_applied | failed | invalid | not_observed | not_applicable | indeterminate",
  "reasons": ["closed reason codes"]
}
]]></sourcecode>
        <t><tt>access_binding</tt> reports the integrity and selected-profile status of the declared affected-party access methods. It is <tt>valid</tt> when the required access declarations are present, covered by the verified CPO binding and signature, and satisfy the selected access-profile constraints; <tt>invalid</tt> when a required declaration or binding fails; <tt>not_claimed</tt> when the selected profile makes no affected-party access claim; and <tt>indeterminate</tt> when required evidence or profile interpretation cannot be completed. It does not report delivery or current retrievability.</t>
        <t><tt>policy_freshness</tt> is <tt>current</tt> only when a selected policy-freshness profile supplies authenticated freshness, version, or expiry rules and all required policy material satisfies them; <tt>stale</tt> only when such a profile is evaluable and its bound rule classifies required material as stale; and <tt>indeterminate</tt> when no selected freshness profile exists or its required evidence cannot be evaluated. CBAP-1 defines no policy-freshness profile and therefore returns <tt>indeterminate</tt> on its positive path.</t>
        <t>Every named profile that instantiates the Section 6.2 structured result MUST define a closed vocabulary for <tt>reasons</tt> and a deterministic rule for populating and ordering that array on negative results. CBAP-1 defines its closed reason vocabulary and first-failure precedence in the CBAP-1 failure-precedence section below, and requires <tt>reasons: []</tt> on its positive path.</t>
        <t>A conforming implementation MUST NOT collapse this result into <tt>contestable: true</tt> or <tt>independent: true</tt> without applying an explicitly identified local policy. In particular, <tt>forum_acknowledgement: valid_exact</tt> does not imply <tt>forum_operational_status: reachable</tt>; <tt>notice_evidence: issued</tt> does not imply human receipt; <tt>effect_acceptance: executor_accepted</tt> does not imply that a filing occurred; <tt>effect_trigger: valid</tt> does not imply application; and <tt>effect_application: executor_claimed_applied</tt> does not prove physical state or remedy. An effect failure does not invalidate the contestation path unless a separate local policy expressly requires the effect as a condition of reliance.</t>
      </section>
      <section anchor="effect-result-derivation">
        <name>Effect-result derivation</name>
        <t>The effect fields are derived independently. At minimum, a verifier applies the following rules:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Evidence state</th>
              <th align="left">Acceptance</th>
              <th align="left">Trigger</th>
              <th align="left">Ordering</th>
              <th align="left">Application</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Declared mode is <tt>none</tt></td>
              <td align="left">
                <tt>not_required</tt></td>
              <td align="left">
                <tt>not_applicable</tt></td>
              <td align="left">
                <tt>not_applicable</tt></td>
              <td align="left">
                <tt>not_applicable</tt></td>
            </tr>
            <tr>
              <td align="left">Active mode, no acceptance statement</td>
              <td align="left">
                <tt>absent</tt></td>
              <td align="left">evaluated if supplied</td>
              <td align="left">
                <tt>not_applicable</tt> until a valid trigger exists</td>
              <td align="left">
                <tt>invalid</tt> if a record claims application; otherwise <tt>not_observed</tt></td>
            </tr>
            <tr>
              <td align="left">Valid acceptance, no filing receipt observed</td>
              <td align="left">
                <tt>executor_accepted</tt></td>
              <td align="left">
                <tt>not_observed</tt></td>
              <td align="left">
                <tt>not_applicable</tt></td>
              <td align="left">
                <tt>not_observed</tt></td>
            </tr>
            <tr>
              <td align="left">Valid acceptance, refused filing receipt</td>
              <td align="left">
                <tt>executor_accepted</tt></td>
              <td align="left">
                <tt>refused</tt></td>
              <td align="left">
                <tt>not_applicable</tt></td>
              <td align="left">
                <tt>not_observed</tt></td>
            </tr>
            <tr>
              <td align="left">Valid acceptance and trigger, no application record</td>
              <td align="left">
                <tt>executor_accepted</tt></td>
              <td align="left">
                <tt>valid</tt></td>
              <td align="left">
                <tt>not_evidenced</tt> unless independently established</td>
              <td align="left">
                <tt>not_observed</tt></td>
            </tr>
            <tr>
              <td align="left">Valid record with <tt>disposition: applied</tt>, verified ordering</td>
              <td align="left">
                <tt>executor_accepted</tt></td>
              <td align="left">
                <tt>valid</tt></td>
              <td align="left">
                <tt>verified</tt></td>
              <td align="left">
                <tt>executor_claimed_applied</tt></td>
            </tr>
            <tr>
              <td align="left">Valid record with <tt>disposition: applied</tt>, ordering unavailable</td>
              <td align="left">
                <tt>executor_accepted</tt></td>
              <td align="left">
                <tt>valid</tt></td>
              <td align="left">
                <tt>not_evidenced</tt> or <tt>indeterminate</tt></td>
              <td align="left">
                <tt>executor_claimed_applied</tt></td>
            </tr>
            <tr>
              <td align="left">Invalid or mismatched application record</td>
              <td align="left">preserve prior result</td>
              <td align="left">preserve prior result</td>
              <td align="left">independently evaluated</td>
              <td align="left">
                <tt>invalid</tt></td>
            </tr>
            <tr>
              <td align="left">Conflicting valid executor records with no deterministic resolution</td>
              <td align="left">preserve prior result</td>
              <td align="left">preserve prior result</td>
              <td align="left">
                <tt>indeterminate</tt> if affected</td>
              <td align="left">
                <tt>indeterminate</tt></td>
            </tr>
          </tbody>
        </table>
        <t>The penultimate positive row is intentionally non-collapsed: it reports what the executor key claimed while refusing to report that the claim was correctly ordered against execution or finality. A user interface MUST NOT present that tuple as an effective hold or fence. Evidence supplied for an active transition when the declared mode is <tt>none</tt> is ignored for effect semantics. An implementation SHOULD retain an <tt>unexpected_effect_evidence</tt> operator diagnostic outside the <tt>reasons</tt> array; it does not alter the bound declaration.</t>
      </section>
      <section anchor="cbap-1-verification-procedure">
        <name>CBAP-1 verification procedure</name>
        <t>In addition to the generic algorithm, a CBAP-1 verifier performs the following closed procedure in order:</t>
        <ol spacing="normal" type="1"><li>
            <t>Validate the verification-time input as an integer in <tt>0..18446744073709551615</tt>. Return <tt>verification_time_invalid</tt> on a parse, type, sign, or range failure without parsing the bundle.</t>
          </li>
          <li>
            <t>Parse the outer bundle without accepting duplicate keys, indefinite-length items, non-shortest arguments, disallowed tags or simple values, floats, invalid UTF-8, unknown members, values outside <tt>cbap1-bundle</tt>, or any declared length that cannot be consumed with checked cursor arithmetic. Re-encode the parsed bundle under Section 4.13 and require byte-for-byte equality.</t>
          </li>
          <li>
            <t>Require every policy pair to contain exactly one 32-byte digest and one byte string. Reject duplicate policy digests. Recompute SHA-256 over each policy byte string and require equality. At this step only the internal shape, order, uniqueness, and digest integrity of the policy set are evaluated; referenced-policy presence is evaluated after the signed payloads are validated.</t>
          </li>
          <li>
            <t>Parse each object byte string as exactly one tagged COSE_Sign1 object. Require the protected and unprotected header rules of Section 4.14, an embedded deterministic payload, a recognized profile version and object type, and exact <tt>kid</tt> equality between the protected header and payload signer field.</t>
          </li>
          <li>
            <t>Resolve each <tt>kid</tt> in the supplied trust profile to exactly one Ed25519 public key authorized for the required issuer, forum, or executor role. Verify every signature over the received protected and payload bytes with empty external AAD.</t>
          </li>
          <li>
            <t>Recompute <tt>action_digest</tt> from the bundle's action bytes. Require the same digest at terms label <tt>6</tt>, Authorization Artifact label <tt>6</tt>, executor-verification label <tt>5</tt>, and execution-record label <tt>6</tt>.</t>
          </li>
          <li>
            <t>Require the CPO terms to use the expected CBAP-1 ABP digest and Authorization Trust Profile digest. Require effect policy <tt>[0]</tt>, filing-window basis <tt>[1, duration]</tt> with <tt>duration</tt> in <tt>1..18446744073709551615</tt>, at least one public-transparency access entry, an empty selection-statement array, by-value bytes for every policy referenced by the CPO and Exact Forum Acceptance, conforming HTTPS URIs, and all other single-object CBAP-1 profile constraints not assigned below to a cross-object boundary. Do not compare the Authorization Artifact projection or any signed-artifact digest at this step.</t>
          </li>
          <li>
            <t>Require the Authorization Artifact's authorization identifier, issuer key, action digest, and validity projection to equal the corresponding CPO terms. Do not compare its CPO digest at this step.</t>
          </li>
          <li>
            <t>Project <tt>forum_terms</tt> exactly as Section 4.16 specifies. Verify its digest in the forum's exact acceptance, the forum signature and key, and the equality of the CPO forum key and acceptance signer key.</t>
          </li>
          <li>
            <t>Hash the complete signed exact acceptance and require equality with the CPO acceptance reference.</t>
          </li>
          <li>
            <t>Hash the complete signed CPO and require equality with the Authorization Artifact's CPO digest.</t>
          </li>
          <li>
            <t>Hash the complete signed Authorization Artifact and require equality at executor-verification label <tt>3</tt> and execution-record label <tt>3</tt>.</t>
          </li>
          <li>
            <t>Verify the executor verification record, require decision <tt>execute</tt>, and require its authorization identifier at label <tt>4</tt>, action digest at label <tt>5</tt>, CPO digest at label <tt>6</tt>, executor key, nonce, and <tt>verified-at</tt> value to match the bound objects and profile.</t>
          </li>
          <li>
            <t>Hash the complete signed executor verification record. Verify the execution record and require that digest at label <tt>4</tt>, the authorization digest at label <tt>3</tt>, authorization identifier at label <tt>5</tt>, action digest at label <tt>6</tt>, executor key, nonce, and disposition <tt>executed</tt> all match.</t>
          </li>
          <li>
            <t>Require <tt>not-before &lt;= verified-at &lt;= executed-at &lt;= not-after</tt>.</t>
          </li>
          <li>
            <t>Compute <tt>filing_deadline = executed-at + duration-seconds</tt> with checked unsigned arithmetic. Require the Exact Forum Acceptance <tt>signed-at &lt;= not-before</tt>, <tt>valid-from &lt;= not-before</tt>, and <tt>valid-until &gt;= filing_deadline</tt>; require CPO <tt>issued-at &lt;= verified-at</tt> and <tt>expires-at &gt;= filing_deadline</tt>; and require at least one declared access method with <tt>available-until &gt;= filing_deadline</tt>. Compare the supplied verification time with <tt>executed-at</tt> and the deadline to derive <tt>not_open</tt>, <tt>open</tt>, or <tt>closed</tt>.</t>
          </li>
          <li>
            <t>Return every Section 6.2 field independently. The positive CBAP-1 path yields <tt>binding: valid</tt>, <tt>pre_execution_evidence: executor_attested</tt>, <tt>discoverability: complete</tt>, <tt>forum_acknowledgement: valid_exact</tt>, <tt>forum_operational_status: not_checked</tt>, <tt>selection_provenance: unilateral</tt>, <tt>access_binding: valid</tt>, <tt>notice_evidence: not_claimed</tt>, <tt>retrievability: not_checked</tt>, <tt>policy_freshness: indeterminate</tt>, <tt>declared_effect: none</tt>, <tt>effect_acceptance: not_required</tt>, <tt>effect_trigger: not_applicable</tt>, <tt>effect_ordering: not_applicable</tt>, <tt>effect_application: not_applicable</tt>, and <tt>reasons: []</tt>; <tt>filing_window_status</tt> is derived as <tt>not_open</tt>, <tt>open</tt>, or <tt>closed</tt> from the supplied verification time. It does not yield forum reachability, delivery, independence, policy fairness, or physical execution order.</t>
          </li>
        </ol>
        <t>A deterministic-encoding, COSE structure, signature, required role, action digest, CPO digest, authorization digest, verification-record digest, identifier, validity, or ordering failure MUST produce a closed reason code identifying the first failed boundary. The implementation MUST continue to keep unrelated higher-level results separate where the failed input still permits them to be evaluated safely.</t>
      </section>
      <section anchor="cbap-1-failure-precedence-and-reason-codes">
        <name>CBAP-1 failure precedence and reason codes</name>
        <t>CBAP-1 closes the externally observable failure boundary. On the positive path, <tt>reasons</tt> MUST be the empty array. On a negative path, <tt>reasons</tt> MUST contain exactly one of the codes in the table below: the first failing boundary under the stated precedence. An implementation MAY retain more detailed diagnostics for operators, but it MUST NOT place implementation-specific strings in <tt>reasons</tt> or substitute a later, more specific failure for the first one.</t>
        <table>
          <thead>
            <tr>
              <th align="right">Precedence</th>
              <th align="left">Reason code</th>
              <th align="left">Boundary</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">1</td>
              <td align="left">
                <tt>verification_time_invalid</tt></td>
              <td align="left">The supplied verification time is not an unsigned integer representable in CBAP-1.</td>
            </tr>
            <tr>
              <td align="right">2</td>
              <td align="left">
                <tt>outer_encoding_invalid</tt></td>
              <td align="left">The outer item is truncated, has trailing bytes, violates Core Deterministic CBOR, or uses a forbidden CBOR construct.</td>
            </tr>
            <tr>
              <td align="right">3</td>
              <td align="left">
                <tt>bundle_schema_invalid</tt></td>
              <td align="left">The outer item is not the closed <tt>cbap1-bundle</tt>, has an unsupported profile version, or contains a member of the wrong CDDL type.</td>
            </tr>
            <tr>
              <td align="right">4</td>
              <td align="left">
                <tt>policy_set_invalid</tt></td>
              <td align="left">The policy array is empty, unsorted, duplicated, malformed, or internally digest-inconsistent.</td>
            </tr>
            <tr>
              <td align="right">5</td>
              <td align="left">
                <tt>cpo_invalid</tt></td>
              <td align="left">The CPO COSE envelope, payload schema, object type, <tt>kid</tt>, role resolution, or signature is invalid.</td>
            </tr>
            <tr>
              <td align="right">6</td>
              <td align="left">
                <tt>forum_acceptance_invalid</tt></td>
              <td align="left">The Exact Forum Acceptance COSE envelope, payload schema, object type, <tt>kid</tt>, role resolution, or signature is invalid.</td>
            </tr>
            <tr>
              <td align="right">7</td>
              <td align="left">
                <tt>authorization_invalid</tt></td>
              <td align="left">The Authorization Artifact COSE envelope, payload schema, object type, <tt>kid</tt>, role resolution, or signature is invalid.</td>
            </tr>
            <tr>
              <td align="right">8</td>
              <td align="left">
                <tt>executor_verification_invalid</tt></td>
              <td align="left">The executor-verification COSE envelope, payload schema, object type, <tt>kid</tt>, role resolution, or signature is invalid.</td>
            </tr>
            <tr>
              <td align="right">9</td>
              <td align="left">
                <tt>execution_record_invalid</tt></td>
              <td align="left">The execution-record COSE envelope, payload schema, object type, <tt>kid</tt>, role resolution, or signature is invalid.</td>
            </tr>
            <tr>
              <td align="right">10</td>
              <td align="left">
                <tt>action_digest_mismatch</tt></td>
              <td align="left">The action bytes do not hash to the one action digest required across the four signed payloads that carry it: CPO terms label <tt>6</tt>, Authorization Artifact label <tt>6</tt>, Executor Verification label <tt>5</tt>, and Execution Record label <tt>6</tt>.</td>
            </tr>
            <tr>
              <td align="right">11</td>
              <td align="left">
                <tt>profile_binding_mismatch</tt></td>
              <td align="left">The ABP, Authorization Trust Profile, effect mode, filing-window form or non-zero duration, referenced-policy presence, access form, HTTPS URI syntax, signer identity, validity form, or other mandatory CBAP-1 profile constraint does not match the supplied trust inputs and closed profile.</td>
            </tr>
            <tr>
              <td align="right">12</td>
              <td align="left">
                <tt>authorization_projection_mismatch</tt></td>
              <td align="left">The Authorization Artifact projection does not equal the authorization identifier, issuer, action digest, or validity required by the CPO terms. The signed CPO digest is evaluated only at precedence 15.</td>
            </tr>
            <tr>
              <td align="right">13</td>
              <td align="left">
                <tt>forum_terms_mismatch</tt></td>
              <td align="left">The accepted forum-terms digest is not the exact projection defined in Section 4.16, or the forum identifier and forum key are inconsistent.</td>
            </tr>
            <tr>
              <td align="right">14</td>
              <td align="left">
                <tt>acceptance_binding_mismatch</tt></td>
              <td align="left">The complete signed acceptance digest is not the digest bound into the CPO.</td>
            </tr>
            <tr>
              <td align="right">15</td>
              <td align="left">
                <tt>cpo_binding_mismatch</tt></td>
              <td align="left">The complete signed CPO digest is not the digest bound into the Authorization Artifact.</td>
            </tr>
            <tr>
              <td align="right">16</td>
              <td align="left">
                <tt>authorization_digest_mismatch</tt></td>
              <td align="left">The complete signed Authorization Artifact digest is not the digest bound into both executor records.</td>
            </tr>
            <tr>
              <td align="right">17</td>
              <td align="left">
                <tt>executor_verification_mismatch</tt></td>
              <td align="left">Executor Verification label <tt>4</tt> does not carry the bound authorization identifier, label <tt>5</tt> does not carry the action digest, label <tt>6</tt> does not carry the CPO digest, or its decision, key, nonce, or verification time is invalid or inconsistent.</td>
            </tr>
            <tr>
              <td align="right">18</td>
              <td align="left">
                <tt>execution_record_mismatch</tt></td>
              <td align="left">Execution Record label <tt>4</tt> does not bind the exact executor-verification record, label <tt>5</tt> does not carry the authorization identifier, label <tt>6</tt> does not carry the action digest, or its authorization digest, executor key, nonce, or required disposition is invalid or inconsistent.</td>
            </tr>
            <tr>
              <td align="right">19</td>
              <td align="left">
                <tt>executor_ordering_invalid</tt></td>
              <td align="left">The authenticated executor times do not satisfy authorization validity and <tt>verified-at &lt;= executed-at</tt>.</td>
            </tr>
            <tr>
              <td align="right">20</td>
              <td align="left">
                <tt>filing_deadline_overflow</tt></td>
              <td align="left">Adding the filing duration to <tt>executed-at</tt> exceeds the CBAP-1 unsigned-integer range.</td>
            </tr>
            <tr>
              <td align="right">21</td>
              <td align="left">
                <tt>filing_horizon_invalid</tt></td>
              <td align="left">Exact Forum Acceptance <tt>signed-at</tt> is after <tt>not-before</tt>, <tt>valid-from</tt> is after <tt>not-before</tt>, or <tt>valid-until</tt> is before the filing deadline; CPO <tt>issued-at</tt> is after executor <tt>verified-at</tt> or <tt>expires-at</tt> is before the filing deadline; or no affected-party access declaration remains valid through the filing deadline.</td>
            </tr>
          </tbody>
        </table>
        <t>The verifier evaluates local input 1 first, then the outer item, the policy set, and the five signed objects in table order. Within a signed object it evaluates: tagged COSE_Sign1 shape; protected and unprotected headers; embedded deterministic payload; closed payload schema; protected-to-payload <tt>kid</tt> equality; unique role-authorized trust resolution; and signature. Within a closed map, member constraints are evaluated in ascending numeric-label order. Within a list, items are evaluated from index zero upward. Cross-object checks then follow precedence 10 through 21.</t>
        <t>The first-reason rule is a reproducibility rule, not permission to collapse the Section 6.2 result. A verifier still evaluates independently derivable fields when doing so is safe. Fields that depend on the failed boundary take their existing <tt>invalid</tt>, <tt>incomplete</tt>, <tt>indeterminate</tt>, or <tt>not_checked</tt> value. In particular, <tt>policy_set_invalid</tt> does not by itself prove <tt>binding: invalid</tt>, and a reachability failure is outside this closed CBAP-1 byte-verification procedure.</t>
      </section>
    </section>
    <section anchor="lifecycle">
      <name>Lifecycle</name>
      <t>The common pre-execution sequence is: forum manifest or exact acceptance; Contestation Terms; selection signatures; signed CPO; signed authorization binding; executor verification; optional Executor Effect Acceptance Statement; and an executor record binding the verification and, when present, effect-acceptance digests.</t>
      <t>The remaining order depends on the effect mode:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Mode</th>
            <th align="left">Required protocol order</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>none</tt></td>
            <td align="left">execution or refusal; notice, delivery, or publication; optional filing</td>
          </tr>
          <tr>
            <td align="left">
              <tt>hold_before_execution</tt></td>
            <td align="left">accepted filing receipt; verified trigger ordering before the execution boundary; Effect Application Record; executor hold or refusal record binding that application record</td>
          </tr>
          <tr>
            <td align="left">
              <tt>fence_after_execution</tt></td>
            <td align="left">execution; notice, delivery, or publication; accepted filing receipt; verified trigger ordering before finality; Effect Application Record</td>
          </tr>
        </tbody>
      </table>
      <t>An external dispute procedure, if any, is outside this document and may continue after any of those rows. This document ends after authenticating the filing-trigger and the executor's claimed state transition. It neither defines adjudication nor converts a hold or fence into a remedy.</t>
      <t>Changing the forum, procedure, Standing Policy, filing window, or effect policy requires a new CPO and a new authorization binding. An active effect additionally requires a new Executor Effect Acceptance Statement. A replacement MUST NOT narrow an already-open filing window instantiated by the prior binding for an action that has executed unless the previously bound procedure itself authorized that transition.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section follows the guidance in <xref target="RFC7942"/> and is intended to be
removed before publication as an RFC.</t>
      <section anchor="maturity-and-coverage">
        <name>Maturity and coverage</name>
        <t>As of 12 August 2026, CBAP-1 has a Python reference
implementation, an oracle-blind Rust reconstruction produced with AI-based
coding assistance in a context-isolated session, and a JavaScript
cross-check. The cross-check re-encoded the positive bundle byte-for-byte and
verified all five Ed25519 signatures. The shared positive bundle has SHA-256:</t>
        <t><tt>8a47e89abb2c77a9de27ffb59a5bc89a7226509236e35b0f11cf6819fd1b6646</tt></t>
        <t>The reconstruction received the specification and its declared public inputs
without evaluator answers. The evidence record distinguishes mechanical byte
access for integrity hashing from semantic evaluator access: before the
relevant implementation freeze, no evaluator case was decoded, semantically
inspected, or executed, and expected outcomes and reasons remained withheld.</t>
        <t>The first frozen reconstruction assigned two digest labels differently from
the retained evaluator and failed bidirectional verification at that boundary.
The supplied challenge text had typed both members without assigning their
labels in normative prose. That divergence was recorded before repair, and the
original submission remains frozen at SHA-256:</t>
        <t><tt>956b88d2832e4265913cb73f93e69b960ef6f1d860f8acbc5b50ea453cbab2f0</tt></t>
        <t>After the assignment and other attributable ambiguities were repaired in the
specification, the final A3 source-and-artifact package was frozen at SHA-256:</t>
        <t><tt>f2b9b0745ca8b751322f416ed62e73769b2396934b8beb811d5f71b4fc88b129</tt></t>
        <t>The reconstruction passed 56 local tests. It matched the retained evaluator outcomes
for the positive byte vector, the closed failure-precedence corpus, and all 28
URI cases. The URI result comprised eight valid acceptances and 20
<tt>profile_binding_mismatch</tt> rejections, with each case invoked once. Additional
differential checking of 255,022 generated IPv6 candidates found no divergence.</t>
      </section>
      <section anchor="provenance-and-limits">
        <name>Provenance and limits</name>
        <t>Automated tools could propose source, test, and analysis candidates, but did
not assign evaluator outcomes. Recorded outcomes were determined under pinned
rules and inputs after the corresponding implementation state had been frozen.
The document author controlled the specification, evaluator design, retained
inputs, and adjudication. The experiment therefore tests specification
reconstructibility, ambiguity detection, and bounded behavioural agreement; it
does not establish independence of authorship or evaluation.</t>
        <t>The results do not constitute an independent human implementation, external
review, interoperability certification, production deployment evidence,
exhaustive parser safety, or a security audit.</t>
      </section>
      <section anchor="availability-license-and-contact">
        <name>Availability, license, and contact</name>
        <t>A stable public location and an explicit software license for the
implementation and evidence packages are to be designated as part of the
verifiable release publication that follows this submission. Until then, this
section records development evidence but does not claim public implementation
or evidence-package availability.</t>
        <t>Implementation and test-package contact: Tiago Pinto
<eref target="mailto:tiago@donttrustverify.pt">tiago@donttrustverify.pt</eref>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="issuer-controlled-forum">
        <name>Issuer-controlled forum</name>
        <t>A discoverable forum can still be captured. An issuer-only signature therefore yields <tt>unilateral</tt>, never <tt>external</tt> or <tt>multiparty</tt>.</t>
      </section>
      <section anchor="forum-substitution">
        <name>Forum substitution</name>
        <t>The forum identifier, endpoint, verification key, procedure, and selection policy are digest- or signature-bound. A verifier MUST refuse substitution after authorization.</t>
      </section>
      <section anchor="policy-equivocation">
        <name>Policy equivocation</name>
        <t>Serving different CPOs or policy documents to different audiences can move the fork from the authorization to the contestation layer. Deployments claiming cross-audience consistency SHOULD register CPOs or their digests in a transparency service and MUST define how readers detect split views.</t>
      </section>
      <section anchor="dead-or-selective-endpoint">
        <name>Dead or selective endpoint</name>
        <t>Cryptographic binding and forum acknowledgement do not prove availability. A forum can refuse connections, selectively deny classes of filers, or disappear after signing. Availability evidence and service-level enforcement are deployment concerns. Discoverability MUST become <tt>incomplete</tt> when required material cannot be obtained within local policy. A failed reachability check MUST NOT retroactively invalidate a historically valid acknowledgement; the results remain separate.</t>
      </section>
      <section anchor="deadline-capture">
        <name>Deadline capture</name>
        <t>An issuer can declare a filing window too short to use. Verification authenticates the declared filing-window inputs and computes the window; it does not establish fairness. Relying parties SHOULD apply minimum-window policy and MUST NOT infer legitimacy from syntactic validity.</t>
      </section>
      <section anchor="standing-capture">
        <name>Standing capture</name>
        <t>A Standing Policy can exclude the person most affected by an action. This document makes the policy identity stable and, when the policy bytes are available, inspectable; it does not make the policy legitimate. Profiles claiming affected-party recourse MUST specify how affected parties are represented without requiring them to have participated in the original authorization.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>Enumerating affected persons in a public CPO can create a privacy and safety risk. Standing SHOULD be expressed by role or policy where possible. Personally identifying evidence SHOULD be disclosed only to the forum under an appropriate confidentiality mechanism.</t>
      </section>
      <section anchor="contestation-as-denial-of-service">
        <name>Contestation as denial of service</name>
        <t>Attackers can submit repetitive or fabricated filings. Anti-replay, rate limiting, authentication, and abuse controls MUST NOT silently alter the bound standing policy or filing window.</t>
      </section>
      <section anchor="credential-self-revocation-trap">
        <name>Credential self-revocation trap</name>
        <t>An action can disable the only credential accepted by the contestation lookup or forum. An account-suspension action followed by an account-login-only contestation path is the canonical case. Profiles claiming affected-party access MUST define a surviving method, such as a separately delivered capability, an alternate verified identity, or a privacy-preserving public lookup. Merely declaring an authentication profile does not prove survivability.</t>
      </section>
      <section anchor="acknowledgement-replay-and-class-confusion">
        <name>Acknowledgement replay and class confusion</name>
        <t>An issuer can replay genuine forum acceptance evidence issued for a different ABP, Authorization Trust Profile, policy version, binding interval, or submission endpoint. Exact acknowledgements MUST match the <tt>forum_terms_digest</tt>. A FAM MUST bind accepted ABP and Authorization Trust Profile digest pairs, and the Authorization Artifact MUST be successfully verified and projected under a listed pair. Matching labels or URIs are insufficient. Failure to establish membership yields <tt>invalid_scope</tt>, not <tt>valid_class</tt>.</t>
      </section>
      <section anchor="notice-issuance-versus-delivery">
        <name>Notice issuance versus delivery</name>
        <t>A signer can generate a valid Contestability Notice and never transmit it. The base result is therefore <tt>issued</tt>, not <tt>delivered</tt>. A <tt>delivered</tt> result requires an authenticated transport-specific receipt that identifies the same notice digest and intended delivery context. No protocol receipt proves that a human read or understood the notice.</t>
      </section>
      <section anchor="notice-phishing-and-correlation">
        <name>Notice phishing and correlation</name>
        <t>A malicious notice can direct an Affected Party to an attacker-controlled endpoint or can use predictable authorization identifiers to expose sensitive actions. The notice MUST bind the CPO digest and authenticated access method. Deployments SHOULD use unguessable lookup capabilities or privacy-preserving authenticated retrieval when public correlation would reveal sensitive information.</t>
      </section>
      <section anchor="backdating-and-enforcement-illusion">
        <name>Backdating and enforcement illusion</name>
        <t>An issuer can construct a valid CPO after execution and backdate <tt>issued_at</tt>. Signatures establish integrity and signer attribution, not when an executor possessed an object. A profile claiming pre-execution enforcement MUST carry authenticated ordering evidence from the enforcement path. Without it, the binding can remain cryptographically valid while <tt>pre_execution_evidence</tt> is <tt>absent</tt>. Even <tt>executor_attested</tt> proves only the executor key's signed claim and digest bindings, not the physical order of events inside the executor.</t>
      </section>
      <section anchor="exact-acceptance-disclosure">
        <name>Exact-acceptance disclosure</name>
        <t>Exact acceptance exposes at least a stable terms digest and interaction timing to the forum before authorization. Depending on the action space, an unsalted action digest can also permit dictionary attacks. Deployments SHOULD prefer a class manifest when instance-specific acceptance is unnecessary, SHOULD register only a CPO or manifest digest in public transparency infrastructure, and SHOULD use profile-defined salted commitments for low-entropy action data where cross-artifact verification remains possible.</t>
      </section>
      <section anchor="manifest-equivocation-and-downgrade">
        <name>Manifest equivocation and downgrade</name>
        <t>A forum can issue different FAMs to different audiences or replace a restrictive manifest with a broader one. The CPO and selection signatures bind one exact manifest digest, so substitution fails locally. Cross-audience detection requires transparency or gossip under a selected profile. A verifier MUST NOT select a newer, broader, or more available manifest in place of the digest bound by the CPO.</t>
      </section>
      <section anchor="forum-key-rotation-and-compromise">
        <name>Forum-key rotation and compromise</name>
        <t>Key rotation MUST NOT permit a new forum key to rewrite old acceptance evidence. Historical verification requires the key that signed the exact statement or manifest, its validity evidence at signing time, and the selected compromise policy. A successor key can sign a new manifest or a continuity statement only under the previously bound withdrawal policy. A current key-discovery response alone is insufficient to validate a historical signature.</t>
      </section>
      <section anchor="signature-multiplicity-and-common-control">
        <name>Signature multiplicity and common control</name>
        <t>Multiple signatures do not necessarily represent multiple independent parties. An issuer can operate separate issuer, forum, and selector keys. Selection provenance therefore depends on role authorization and controlling trust domains supplied by local policy, not signature count. Three keys under one controlling party MUST NOT be reported as <tt>multiparty</tt> merely because all three signatures verify.</t>
      </section>
      <section anchor="false-automatic-effect-advertising">
        <name>False automatic-effect advertising</name>
        <t>An issuer can publish an active effect policy while naming an executor that never agreed to implement it. The CPO signature authenticates that advertisement but not executor acceptance. Without a valid Executor Effect Acceptance Statement, <tt>effect_acceptance</tt> is <tt>absent</tt> or <tt>invalid</tt>; an implementation MUST NOT display the action as automatically held, fenced, stayed, or reversible. If the executor accepted and later ignores a valid trigger, the acceptance remains valid while application is <tt>not_observed</tt>, <tt>failed</tt>, or <tt>indeterminate</tt> as the evidence permits. Nonperformance MUST NOT be rewritten as a binding failure.</t>
      </section>
      <section anchor="trigger-replay-and-profile-substitution">
        <name>Trigger replay and profile substitution</name>
        <t>A valid filing receipt can be replayed against another authorization, CPO, policy, executor, or state transition. All identifiers and digests in Sections 5.4 and 5.5 MUST match, and the bound idempotency profile MUST make repeated processing deterministic. A receipt created under a different forum key or submission-receipt profile is not a trigger even if the bytes describe the same filing. Reusing a valid trigger to create multiple transitions yields <tt>already_applied</tt> or an equivocation condition, not multiple applications.</t>
      </section>
      <section anchor="race-with-execution-or-finality">
        <name>Race with execution or finality</name>
        <t>An attacker or merely concurrent system can cause the filing trigger and the execution or finality transition to cross between verification and application. Signed timestamps do not solve this time-of-check/time-of-use race. An active effect profile MUST bind a serialization mechanism enforced by the system of record, such as an authenticated monotonic sequence, compare-and-swap precondition, or atomic transaction. If the verifier cannot establish the required ordering, <tt>effect_ordering</tt> is <tt>not_evidenced</tt> or <tt>indeterminate</tt>, even when the executor signed <tt>disposition: applied</tt>.</t>
      </section>
      <section anchor="filing-trigger-denial-of-service">
        <name>Filing-trigger denial of service</name>
        <t>An automatic hold can let inexpensive filings block expensive or urgent actions. The trigger profile can authenticate submissions, rate limits, deposits, or eligibility gates, but those controls MUST be bound before execution and MUST NOT silently change the Standing Policy or filing window. A forum receipt authenticates a record that the filing was accepted under the forum profile; it does not prove that the filer deserved to stop the action. Deployments SHOULD prefer <tt>fence_after_execution</tt> or <tt>none</tt> where pre-execution holds create unacceptable safety or availability risk.</t>
      </section>
      <section anchor="ambiguous-state-commitments">
        <name>Ambiguous state commitments</name>
        <t>An executor can claim <tt>applied</tt> while committing to a state encoding whose meaning is mutable, partial, or compatible with both fenced and unfenced outcomes. The state-machine profile and target-state digest MUST define the committed state and transition unambiguously. Unsupported, lossy, or non-deterministic state projection yields <tt>effect_application: indeterminate</tt> or <tt>invalid</tt>; signature validity alone is insufficient.</t>
      </section>
      <section anchor="effect-is-not-remedy">
        <name>Effect is not remedy</name>
        <t>A hold result is satisfied only when the bound evidence records the profile-defined hold state and the required ordering places that record before the execution boundary. A fence result is satisfied only when the bound evidence records the profile-defined fence state and the required ordering places that record after execution and before the finality boundary. Neither result proves reversal of earlier observations, compensates an Affected Party, determines liability, or authorizes a new action. Implementations MUST NOT label an Effect Application Record as an award, reversal, restoration, refund, or remedy unless a separate protocol and authorization establish that result.</t>
      </section>
      <section anchor="executor-equivocation-and-common-control">
        <name>Executor equivocation and common control</name>
        <t>An executor can sign conflicting application records or share control with the issuer and forum. Conflicting records for the same idempotency key and sequence are equivocation evidence. Common control does not invalidate the signatures, but it weakens the governance inference a relying party may draw from them. This protocol reports authenticated role statements and never upgrades them to independent enforcement.</t>
      </section>
      <section anchor="split-control-illusion">
        <name>Split-control illusion</name>
        <t>An Effect Executor can accept a hold or fence while lacking authority over the action executor or finality state. A message bus subscription or advisory callback is not control of the transition. When the parties differ, the serialization profile MUST bind the cross-system state machine, signer roles, and atomic or fail-closed handoff. Without that evidence, <tt>effect_acceptance</tt> can remain <tt>executor_accepted</tt>, but <tt>effect_ordering</tt> is <tt>not_evidenced</tt> or <tt>invalid</tt> and no effective hold or fence can be reported.</t>
      </section>
    </section>
    <section anchor="relationship-to-existing-work">
      <name>Relationship to Existing Work</name>
      <section anchor="emilia-protocol-artifacts">
        <name>EMILIA Protocol artifacts</name>
        <t>EP authorization receipts <xref target="I-D.schrock-ep-authorization-receipts"/> bind human evidence to an action and record authorization lifecycle facts. Other EP artifacts describe outcome, revocation, remedy, and reliance evidence.</t>
        <t>This document specifies a transport-independent, pre-execution binding from an authorization to the contestation path, with a derived statement of forum-selection provenance. It neither replaces nor requires EP.</t>
      </section>
      <section anchor="agentic-dispute-protocol-and-adrp">
        <name>Agentic Dispute Protocol and ADRP</name>
        <t>The Agentic Dispute Protocol <xref target="I-D.kotecha-agentic-dispute-protocol"/> defines filing, evidence, adjudication, awards, and arbitrator discovery. ADRP <xref target="I-D.stone-adrp"/> defines an Arbitration Mandate, dispute state machine, arbitrator pool, rulings, appeals, and remedy directives.</t>
        <t>This document does none of those things. A CPO can identify an ADP or ADRP endpoint and procedure. Its contribution is the binding and verification layer that exists before either dispute protocol begins, including the distinction between issuer-declared and non-unilateral forum selection.</t>
      </section>
      <section anchor="oauth-and-agent-authorization-frameworks">
        <name>OAuth and agent authorization frameworks</name>
        <t>OAuth Rich Authorization Requests <xref target="RFC9396"/>, WIMSE-based guidance, and agent authorization frameworks such as <xref target="I-D.liu-ai-agent-authorization-integration"/> address request scope, identity, delegation, policy, consent, and lifecycle. A future profile can carry a CPO digest in an OAuth authorization detail or token. This document does not extend OAuth in its base version.</t>
      </section>
      <section anchor="scitt">
        <name>SCITT</name>
        <t>A CPO or companion binding statement can be registered as a SCITT Signed Statement <xref target="RFC9943"/>. SCITT registration can improve discoverability and equivocation detection but does not prove forum independence, policy fairness, or legal validity.</t>
      </section>
      <section anchor="rats-and-cose">
        <name>RATS and COSE</name>
        <t>The reusable FAM has a role analogous to an endorsement in the RATS architecture <xref target="RFC9334"/>: a role-specific signer vouches for defined capabilities or scope, while the relying party applies its own policy. It is not attestation evidence and does not appraise a runtime. CBAP-1 selects tagged COSE_Sign1 with embedded payloads and fully specified Ed25519 signatures. It does not use COSE_Sign multi-signatures: each role emits a separate signed statement so that signature topology and failure attribution remain explicit.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The initial individual draft requests no IANA action. A later protocol revision may request media types, a well-known URI, or a registry of structured reason codes after the encoding and deployment model stabilize.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9864">
          <front>
            <title>Fully-Specified Algorithms for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This specification refers to cryptographic algorithm identifiers that fully specify the cryptographic operations to be performed, including any curve, key derivation function (KDF), and hash functions, as being "fully specified". It refers to cryptographic algorithm identifiers that require additional information beyond the algorithm identifier to determine the cryptographic operations to be performed as being "polymorphic". This specification creates fully-specified algorithm identifiers for registered JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) polymorphic algorithm identifiers, enabling applications to use only fully-specified algorithm identifiers. It deprecates those polymorphic algorithm identifiers.</t>
              <t>This specification updates RFCs 7518, 8037, and 9053. It deprecates polymorphic algorithms defined by RFCs 8037 and 9053 and provides fully-specified replacements for them. It adds to the instructions to designated experts in RFCs 7518 and 9053.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9864"/>
          <seriesInfo name="DOI" value="10.17487/RFC9864"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6874">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes how the zone identifier of an IPv6 scoped address, defined as in the IPv6 Scoped Address Architecture (RFC 4007), can be represented in a literal IPv6 address and in a Uniform Resource Identifier that includes such a literal address. It updates the URI Generic Syntax specification (RFC 3986) accordingly.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6874"/>
          <seriesInfo name="DOI" value="10.17487/RFC6874"/>
        </reference>
        <reference anchor="RFC7049">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7049"/>
          <seriesInfo name="DOI" value="10.17487/RFC7049"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="RFC9844">
          <front>
            <title>Entering IPv6 Zone Identifiers in User Interfaces</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="August" year="2025"/>
            <abstract>
              <t>This document describes how the zone identifier of an IPv6 scoped address, defined in the IPv6 Scoped Address Architecture specification (RFC 4007), should be entered into a user interface. This document obsoletes RFC 6874 and updates RFCs 4007, 7622, and 8089.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9844"/>
          <seriesInfo name="DOI" value="10.17487/RFC9844"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
        <reference anchor="I-D.kotecha-agentic-dispute-protocol">
          <front>
            <title>Agentic Dispute Protocol</title>
            <author fullname="Vivek Kotecha" initials="V." surname="Kotecha">
              <organization>Consulate, Inc.</organization>
            </author>
            <date day="13" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies the Agentic Dispute Protocol (ADP), a
   standardized framework for autonomous agents and AI systems to file,
   process, and resolve disputes through structured, automated
   processes.  The protocol defines message formats, transport
   mechanisms, evidence submission standards, and cryptographic proof
   requirements for internet-native dispute resolution.

   ADP is designed to handle disputes arising from AI agent
   interactions, service level agreement breaches, and automated
   contract enforcement, providing deterministic, auditable, and legally
   enforceable outcomes.

   ADP includes chain of custody tracking, dual-format award
   specifications (JSON and PDF), arbitrator discovery mechanisms, and
   support for multiple resolution frameworks including expert
   determination, binding arbitration, mediation, and hybrid approaches.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kotecha-agentic-dispute-protocol-00"/>
        </reference>
        <reference anchor="I-D.liu-ai-agent-authorization-integration">
          <front>
            <title>AI Agent Authorization Integration Framework</title>
            <author fullname="Dapeng Liu" initials="D." surname="Liu">
              <organization>Alibaba Group</organization>
            </author>
            <author fullname="Judy Zhu" initials="J." surname="Zhu">
              <organization>Alibaba Group</organization>
            </author>
            <author fullname="Suresh Krishnan" initials="S." surname="Krishnan">
              <organization>Cisco</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Hui Xue" initials="H." surname="Xue">
              <organization>Alibaba Group</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This document describes how to integrate multiple OAuth 2.0
   extensions to enable secure authorization for AI agents acting on
   behalf of users.  It combines cross-domain identity, policy-based
   authorization, user consent evidence, and multi-hop delegation into a
   cohesive framework for autonomous agent authorization.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-ai-agent-authorization-integration-00"/>
        </reference>
        <reference anchor="I-D.schrock-ep-authorization-receipts">
          <front>
            <title>Authorization Receipts for High-Risk Agent Actions</title>
            <author fullname="Iman Schrock" initials="I." surname="Schrock">
              <organization>EMILIA Protocol, Inc.</organization>
            </author>
            <date day="16" month="August" year="2026"/>
            <abstract>
              <t>   This document defines the EMILIA Protocol (EP) authorization receipt,
   an evidence artifact binding an enrolled approver key to one
   canonical action before execution.  An approver-held key signs an
   Authorization Context containing the action hash, policy reference,
   shared authorization instance, per-signoff nonce, audience, and
   validity window.  A Trust Receipt carries the signed contexts,
   terminal consumption record, and Merkle inclusion material so a
   relying party can verify the recorded event offline under
   independently selected log, directory, policy, and approver trust
   inputs.

   The receipt establishes only the guarantees of the selected
   verification profile.  The mapping from an enrolled approver
   identifier to a natural person is asserted by the directory
   authority.  Offline verification does not establish current
   revocation status, global non-replay, comprehension, legality,
   safety, or execution.  Replay prevention requires an online atomic
   consumption store at the executor.  The state-machine invariants are
   machine-checked under the assumptions stated in this document.

   This revision defines the closed EP-AUTHORIZATION-BUNDLE-v1 pre-
   execution profile and its verification algorithm.  The bundle carries
   the Action Object, signed Authorization Contexts, signoffs, key
   proofs, and presentation evidence; it deliberately carries no
   terminal consumption or execution claim.  An optional, profile-
   identified authorization binding can commit the human evidence to an
   independently verified native authorization artifact without
   replacing that artifact or making this receipt format depend on its
   transport or trust model.

   A receipt is evidence, not authorization.  This document does not
   treat a local user interaction as an authorization decision.  It
   defines one evidence artifact that an authorization architecture can
   use in a human-confirmation flow: the signed Authorization Context is
   action-bound confirmation evidence an authorization server MAY
   validate and bind to the grant it issues.  The resulting Trust
   Receipt records terminal consumption and remains evidence; neither
   object makes the authorization decision.  That decision remains with
   the authorization server.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-authorization-receipts-12"/>
        </reference>
        <reference anchor="I-D.stone-adrp">
          <front>
            <title>ADRP: Agent Dispute Resolution Protocol</title>
            <author fullname="Ben Stone" initials="B. E. N. S. S. T. O. N." surname="Stone">
              <organization>SwarmSync.AI</organization>
            </author>
            <date day="25" month="April" year="2026"/>
            <abstract>
              <t>   This document defines the Agent Dispute Resolution Protocol (ADRP), a
   wire protocol and state machine for resolving disputes that arise
   from cryptographically-attested agent-to-agent (A2A) transactions.
   ADRP is the companion specification to ATXN (draft-stone-atxn-00),
   which defines what an A2A transaction is.  ADRP defines what happens
   when a party contests one.

   ADRP severs an equivalence that every prior agentic commerce design
   has implicitly assumed: that a valid cryptographic proof bundle
   equals contractual satisfaction.  It does not.  Conduit-style
   cryptographic verifiers prove that an agent took specified actions;
   they do not prove that those actions satisfied the principal's Intent
   Mandate.  ADRP bifurcates disputes into a cryptographic class
   (resolvable by code from the proof bundle and mandate chain) and a
   semantic class (resolvable only against pre-committed machine-
   readable acceptance criteria, with arbitration escalation when those
   criteria are absent or under-specified).

   ADRP introduces the Arbitration Mandate as a fourth element of the
   AP2 mandate chain (Intent / Cart / Payment / Arbitration), pre-signed
   by the principal at agent-deployment time.  The Arbitration Mandate
   is the FAA Section 2-compliant written agreement that anchors the
   entire protocol legally without statutory change.

   ADRP defines a counter-attestation override pattern in which a signed
   RulingBundle supersedes a Conduit ProofBundle by a signing-time
   precedence rule rather than by mutation.  Both the original
   attestation and the override are preserved forever in the hash chain;
   "override" is a verification-time computation, not a write.

   Companion specifications (all co-submitted as Internet-Drafts, work
   in progress):

   *  ATXN (draft-stone-atxn-00): defines the A2A transaction primitive
      that ADRP resolves disputes over

   *  AIVS (draft-stone-aivs-01): cryptographic audit-trail substrate
      for proof bundles

   *  VCAP (draft-stone-vcap-01): verified-commerce escrow rails
      consumed by ADRP EscrowDirectives

   *  ATEP (draft-stone-atep-01): trust passports referenced by Standing
      Tokens in ADRP

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-stone-adrp-00"/>
        </reference>
      </references>
    </references>
    <?line 1514?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>AI-based tools were used during the development and evaluation of this work.
The author made the design decisions, reviewed and approved the submitted
text, and remains solely responsible for its content and technical claims.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
stCjKef++2zXHT2nQgp66IypLTEjNz2jmw5cjVaPplbNWtSeKabrHsHBlCWQ
wOQvdh18td1BlBvPBpeUTvmkY64j2EFfu3pxdTbQuTni0qu06a7oWAt/ox3r
PIbtrx6wqY92bOrOvYu6mFr7UuLmXOxC1Q7KFqehE3TyX3/vOyfjP13XCfyn
dYmeckmAtqPTLEZDNYjf/C9Jt9dpZM9Yb6DYogmMe6BcaGrNtnV2vBIscg3t
vTt/YwoL7b6Tf/p90lrB9MIOG6l3al3TW5tk2WXaRb1/rKjEx6sFIW8gysdn
RcNcfsPT5DNQ4Wl6bqfEVkaMuogoJ7dTa0rL9NfEHtxJ+V90IrKLYcqlEGL/
swLi456kkrdDGeQlU8+YqhAYh1G4KEkk0JjSJzZzmbYS2s7t6j+8ecxwJM4l
SOGDD+lXE6eWuFV1Ank+Y2LcLoTofLudf9BGcBgP9bQZ98YCo2DNuBvga7n9
wxPqmt7xSBTt6zxFF8eHgS8GsqHRgNb4WFrfR5vB9hm+DXH6B4NjsO4iIVfa
+rFlhIwdMSObFW37Os0r9hlgPF6DlJ3C1NFlbDJPtGPwmKz1kCYw9lk7Zmei
MdnRPX0dR5+86eDxO+yK4V5F3RxyweLAhr8uY8FlU1m9tnrtGNpHErmCqo/X
vy+EL0iAxHzeZdma8joZuOA2vwHjY7IEBrPU/IUQrL2z7ijyLXZgwgaDoFvj
bnMe10qqo4MLpk6vs+U28tD2pDcwyw5ZY9a1ivZAgsG9Ta90sLD4n8Sd4fMb
xs63rCBANCbZgGTv0YtpyOHofa3PCycqOc1b1X1Kg2Cb7Lx1UNRfW7GTXSkY
Q+yHPelzt2MfNfG1r0pSKRs+juBQZztVPe0190zLHV6FdMqLBp6ICTMXdxet
Iyzd9zbLFKNnzFOwN/UgrBkjrbjECp/RR+z0oWf9EWRZoOiPyQ+6GRIJP++E
vw9CyK/X8f2R2yAMy+PQ686UH/W6h9ZzM0pmEyLdow8f4ofJCX6lbKT9VXaR
U30ufAWYSzHnIu/bFP+pB84di9/n5ZKSl57g1j2NXHtPfvjpFSfXU78R3MdZ
voAto7+Evk08syOcGfubrmoQWKt098Rw+Vpdly06/vFbDkW4NN22U3HM1UVE
/jg9wTAX4r+rSjS4nz79I3kceY7HOEeRoHXWtCeoFb+UPYVuW7yL6B3mjvTj
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

-->

</rfc>
