<?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.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mcguinness-oauth-actor-proofs-01" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="OAuth Actor Proofs">OAuth Actor-Signed Hop Proofs</title>
    <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-actor-proofs-01"/>
    <author fullname="Karl McGuinness">
      <organization>Independent</organization>
      <address>
        <email>public@karlmcguinness.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="09"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>delegation</keyword>
    <keyword>actor</keyword>
    <keyword>non-repudiation</keyword>
    <keyword>proof</keyword>
    <abstract>
      <?line 79?>

<t>This document defines OAuth Actor-Signed Hop Proofs, an optional companion to the OAuth Actor Profile for Delegation.  Each proof is a signed JSON Web Token (JWT) recording an actor's participation and authorized target for one hop.  The <tt>actor_proofs</tt> claim carries a hash-linked chain verified through trusted actor-key sources.  This document specifies proof conveyance, validation, optional links to Actor Receipts, metadata parameters, and introspection response members.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://mcguinness.github.io/draft-mcguinness-oauth-actor-profile/draft-mcguinness-oauth-actor-proofs.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mcguinness-oauth-actor-proofs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mcguinness/draft-mcguinness-oauth-actor-profile"/>.</t>
    </note>
  </front>
  <middle>
    <?line 83?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The OAuth Actor Profile for Delegation <xref target="I-D.mcguinness-oauth-actor-profile"/> makes actor identity visible in delegated tokens through a common <tt>act</tt> claim.  The OAuth Actor Receipts companion <xref target="I-D.mcguinness-oauth-actor-receipts"/> adds authorization-server-signed per-hop provenance.  Both are issuer assertions: an authorization server attests that an actor was added at a hop.  Nothing in either profile requires the actor's own cryptographic participation, so a compromised or dishonest issuer can fabricate the participation of an actor that never authorized the delegation.</t>
      <t>This document defines OAuth Actor-Signed Hop Proofs, an optional companion profile that adds actor-side evidence.  At each covered hop, the actor signs its participation and authorized target; the AS validates the proof and includes it in <tt>actor_proofs</tt>, and recipients verify the actor's signature through trusted key sources.  The design center is:</t>
      <ul spacing="normal">
        <li>
          <t>keep the visible actor chain in <tt>act</tt>;</t>
        </li>
        <li>
          <t>keep authorization-server-signed provenance in <tt>actor_receipts</tt> when the receipts companion is in use;</t>
        </li>
        <li>
          <t>carry actor-signed participation and hop-time target consent in separately signed proofs.</t>
        </li>
      </ul>
      <t>This profile adds the <tt>actor_proof</tt> token request parameter, the <tt>actor_proofs</tt> and related claims, and discovery metadata.  It does not define transparency logging of proofs.</t>
      <section anchor="relationship-to-receipts">
        <name>Relationship to the Actor Receipts Companion</name>
        <t>The AS signs receipts; the actor signs proofs.  A token <bcp14>MAY</bcp14> carry either, both, or neither, and recipients select a validation posture by local policy:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Receipts-only</strong>: proofs are absent or ignored; trust follows <xref target="I-D.mcguinness-oauth-actor-receipts"/>.</t>
          </li>
          <li>
            <t><strong>Proofs-only</strong>: receipts are absent or ignored; trust rests on actor-key resolution and actor signatures.</t>
          </li>
          <li>
            <t><strong>Belt-and-suspenders</strong>: both are validated, providing independent issuer-side and actor-side attestations for covered hops, linked by the sibling references in <xref target="sibling-receipt-issuance"/>.</t>
          </li>
        </ul>
        <t>Receipts and proofs are separate compact JWTs, rather than one JWS with both signatures over a shared payload (JWS JSON Serialization, <xref section="7.2" sectionFormat="of" target="RFC7515"/>), because their signers, adoption prerequisites, and threat models differ.  Receipts require only issuer support, whereas proofs also require actors capable of signing and a trusted actor-key source for every actor whose proof a recipient uses (<xref target="actor-key-resolution"/>), which can require more configuration than trusting the smaller set of receipt issuers; deployments can rely on receipts for actors without signing keys.  Separate artifacts keep the two trust anchors independent (<xref target="threat-model"/>) and let deployments adopt, validate, and hash-chain issuer and actor evidence independently.</t>
      </section>
      <section anchor="related-work">
        <name>Relationship to Other Actor-Evidence Work</name>
        <t>Several concurrent efforts add actor-side or issuer-side delegation evidence to OAuth deployments; they differ from this profile chiefly in where the evidence is carried, who signs it, and who can verify it.</t>
        <ul spacing="normal">
          <li>
            <t><xref target="I-D.mw-oauth-actor-chain"/> retains actor-signed step proofs at the AS and carries an issuer-signed cumulative commitment in the token, so actor-signature verification depends on AS retention.  This profile instead carries the proofs for direct recipient verification, increasing token size at each hop.</t>
          </li>
          <li>
            <t><xref target="I-D.liu-oauth-chain-delegation"/> carries AS-signed hop records inline, optionally countersigned by the delegator.  Those fields carry no target binding, and records are re-signed at domain boundaries.</t>
          </li>
          <li>
            <t><xref target="I-D.jiang-oauth-intent-admission"/> defines a single-hop intent artifact signed by the admission authority.</t>
          </li>
        </ul>
        <t>The distinguishing property of this profile is a recipient-verifiable artifact, signed by the actor itself before issuance, over an explicit target binding.  This comparison is intended to inform, not preempt, working group discussion of convergence.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

<t>This document uses OAuth terminology from <xref target="RFC6749"/> and <xref target="RFC8693"/>, and Transaction Token terminology from <xref target="I-D.ietf-oauth-transaction-tokens"/>.  AS, RS, and TTS denote authorization server, resource server, and Transaction Token Service, respectively.  Actor Receipt and Receipt Chain are defined in <xref target="I-D.mcguinness-oauth-actor-receipts"/>.  Outer Token denotes the token associated with a proof chain, whether or not it also carries receipts.</t>
      <t>The following terms are used in this document:</t>
      <dl>
        <dt>Actor Proof:</dt>
        <dd>
          <t>A JWT created and signed by the actor added at one visible actor hop, attesting to that actor's participation and the target binding it authorized for that hop.</t>
        </dd>
        <dt>Proof Chain:</dt>
        <dd>
          <t>The ordered <tt>actor_proofs</tt> array carried in a token or introspection response.</t>
        </dd>
        <dt>Actor Signing Key:</dt>
        <dd>
          <t>An asymmetric key controlled by an actor and used to sign actor proofs.  This document does not standardize how actor signing keys are established; see <xref target="actor-key-resolution">Actor Key Resolution and Trust</xref>.</t>
        </dd>
        <dt>Actor-Key Source:</dt>
        <dd>
          <t>A mechanism, trusted by a recipient under explicit local policy, that resolves an actor identifier pair (<tt>act.iss</tt>, <tt>act.sub</tt>) to one or more actor verification keys.</t>
        </dd>
        <dt>Target Binding:</dt>
        <dd>
          <t>The audience and optional resource constraints that the actor authorized for the token issued at its hop, carried in the proof's <tt>target</tt> claim.  A target binding records hop-time consent; it is not an audience restriction on the proof artifact itself.</t>
        </dd>
        <dt>Sibling Receipt:</dt>
        <dd>
          <t>The Actor Receipt, if any, created under <xref target="I-D.mcguinness-oauth-actor-receipts"/> for the same visible actor hop as a proof.</t>
        </dd>
        <dt>Complete Proof Coverage:</dt>
        <dd>
          <t>The condition in which the number of proofs in the <tt>actor_proofs</tt> claim equals the number of visible actor hops in the token's <tt>act</tt> chain, and every proof aligns with the corresponding visible hop.</t>
        </dd>
      </dl>
      <t>Examples in this document are illustrative and omit unrelated claims, signatures, and validation steps that a complete deployment would need.</t>
    </section>
    <section anchor="actor-proofs-claim">
      <name>The <tt>actor_proofs</tt> Claim</name>
      <t>The <tt>actor_proofs</tt> claim is a new top-level JWT claim for tokens that conform to the core actor profile and to this companion profile.</t>
      <dl>
        <dt><tt>actor_proofs</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>.  An array of strings.  Each string <bcp14>MUST</bcp14> be the compact serialization of a signed JWT proof as defined in <xref target="actor-proof-jwt-format"/>.  When present, the array:
</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>MUST NOT</bcp14> be empty; issuers <bcp14>MUST</bcp14> omit the claim rather than including an empty array;</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> be ordered from newest covered hop to oldest covered hop;</t>
            </li>
            <li>
              <t><bcp14>MUST NOT</bcp14> contain more entries than the visible actor-chain depth of the token's <tt>act</tt> claim;</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> represent a contiguous outermost prefix of the visible <tt>act</tt> chain.</t>
            </li>
          </ul>
        </dd>
      </dl>
      <t>If a token carries the <tt>actor_proofs</tt> claim, it <bcp14>MUST</bcp14> also carry an <tt>act</tt> claim conforming to the core actor profile.</t>
      <dl>
        <dt><tt>actor_proofs_complete</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>.  A boolean JWT claim in the outer token.  When <tt>true</tt>, the issuer attests that the <tt>actor_proofs</tt> claim covers every visible hop in the token's <tt>act</tt> chain.
</t>
          <t>The attestation is relative to the visible chain at issuance time; it does not attest that the visible chain is itself unfiltered (see <tt>chain_complete</tt> in the core actor profile <xref target="I-D.mcguinness-oauth-actor-profile"/>).  Consumer enforcement, including the count-equality check, is defined in step 4 of <xref target="consumer-processing"/>.</t>
          <t>Issuers <bcp14>SHOULD</bcp14> set <tt>actor_proofs_complete</tt> to <tt>true</tt> for complete coverage and <tt>false</tt> for partial coverage.  An absent value provides no completeness attestation; consumers that require the literal value <tt>true</tt> treat absence as <tt>false</tt>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="actor-proof-jwt-format">
      <name>Actor Proof JWT Format</name>
      <t>Each element of the <tt>actor_proofs</tt> array is a signed JWT represented using the JWS compact serialization <xref target="RFC7515"/>.</t>
      <section anchor="jose-header">
        <name>JOSE Header</name>
        <t>The JOSE header of an actor proof:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> include an asymmetric digital-signature <tt>alg</tt> value;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> use <tt>alg: none</tt> or a MAC-based symmetric algorithm;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> include <tt>typ</tt> with the value <tt>actor-proof+jwt</tt>;</t>
          </li>
          <li>
            <t><bcp14>SHOULD</bcp14> include <tt>kid</tt> when the actor's key source publishes multiple verification keys;</t>
          </li>
          <li>
            <t><bcp14>MAY</bcp14> include <tt>crit</tt>; a proof whose <tt>crit</tt> header lists an extension header the consumer does not understand is invalid per <xref section="4.1.11" sectionFormat="of" target="RFC7515"/>.</t>
          </li>
        </ul>
        <t>Actors, issuers, and consumers <bcp14>MUST</bcp14> apply the JWT best practices in <xref target="RFC8725"/> when creating and validating proofs, except for the audience requirements of <xref section="3.9" sectionFormat="of" target="RFC8725"/>, from which this profile departs by prohibiting <tt>aud</tt> as described in <xref target="proof-claims"/>.</t>
      </section>
      <section anchor="proof-claims">
        <name>Proof Claims</name>
        <section anchor="identity-claims">
          <name>Identity Claims</name>
          <dl>
            <dt><tt>iss</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The identifier of the actor that signed the proof.  It <bcp14>MUST</bcp14> equal the proof's <tt>act.sub</tt> value.
</t>
              <t>The <tt>iss</tt> value is interpreted within the namespace given by <tt>act.iss</tt>.  A bare <tt>iss</tt> <bcp14>MUST NOT</bcp14> serve as the sole key-resolution or trust index; use (<tt>act.iss</tt>, <tt>act.sub</tt>) as specified in <xref target="actor-key-resolution"/>.</t>
            </dd>
            <dt><tt>sub</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The subject identifier on whose behalf the actor authorized the delegation, as known to the actor at signing time.  <tt>actor_proofs[0].sub</tt> <bcp14>MUST</bcp14> equal the outer token's top-level <tt>sub</tt>.  Older proofs' <tt>sub</tt> values can differ (<xref target="subject-re-expression-across-hops"/>).</t>
            </dd>
            <dt><tt>sub_iss</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The namespace authority under which the proof's <tt>sub</tt> value is interpreted, with the semantics defined for the <tt>sub_iss</tt> claim in <xref target="I-D.mcguinness-oauth-actor-receipts"/>.  When <tt>sub_iss</tt> is absent, the namespace is determined as for a receipt that omits it.</t>
            </dd>
            <dt><tt>act</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  A single-hop actor object identifying the signing actor.  This object:
</t>
              <ul spacing="normal">
                <li>
                  <t><bcp14>MUST</bcp14> conform to the core actor profile's actor-object rules;</t>
                </li>
                <li>
                  <t><bcp14>MUST</bcp14> include <tt>act.sub</tt> and <tt>act.iss</tt>;</t>
                </li>
                <li>
                  <t><bcp14>MUST NOT</bcp14> contain <tt>cnf</tt>;</t>
                </li>
                <li>
                  <t><bcp14>MUST NOT</bcp14> contain a nested <tt>act</tt>.</t>
                </li>
              </ul>
              <t>The <tt>act</tt> claim supplies the namespace context and visible-hop alignment.</t>
              <t>The token's <tt>act</tt> chain can retain confirmation members as extension data under the core actor profile; the proof's actor object omits them and still satisfies visible-hop alignment (step 7 of <xref target="consumer-processing"/>).</t>
            </dd>
          </dl>
          <t>This profile defines no subject <tt>sub_profile</tt> claim for proofs; subject classification remains issuer-asserted.  Actor classification can appear in <tt>act.sub_profile</tt>.</t>
        </section>
        <section anchor="target-binding">
          <name>Target Binding</name>
          <dl>
            <dt><tt>target</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  A JSON object recording the target binding the actor authorized for the token issued at this hop.  Its members are:
</t>
              <dl>
                <dt><tt>target.aud</tt>:</dt>
                <dd>
                  <t><bcp14>REQUIRED</bcp14>.  A string or array of strings.  The audiences the actor authorizes for the token issued at this hop.</t>
                </dd>
                <dt><tt>target.resource</tt>:</dt>
                <dd>
                  <t><bcp14>OPTIONAL</bcp14>.  An array of URIs with the semantics of the <tt>resource</tt> request parameter of <xref target="RFC8707"/>.  When present, it narrows the target binding beyond <tt>target.aud</tt>.</t>
                </dd>
              </dl>
              <t>Issuer-side enforcement at the covered hop is defined in <xref target="accepting-a-proof"/>, and consumer evaluation in step 9 of <xref target="consumer-processing"/>.</t>
              <t>Other specifications <bcp14>MAY</bcp14> define extension members.  An extension member <bcp14>MUST</bcp14> be defined with constraining semantics only: its presence narrows what the actor authorized and its absence leaves the binding as expressed by the defined members.  Consumers <bcp14>MUST</bcp14> ignore unrecognized <tt>target</tt> members unless another specification or local agreement defines their meaning; actors <bcp14>MUST NOT</bcp14> rely on unrecognized extension members being enforced.</t>
            </dd>
          </dl>
        </section>
        <section anchor="chain-linkage">
          <name>Chain Linkage</name>
          <dl>
            <dt><tt>prh</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The previous proof hash, computed over the next older proof in the chain; the oldest proof, including the sole proof of a single-element chain, omits it.
</t>
              <t>This profile reuses the <tt>prh</tt> and <tt>prh_alg</tt> claims from <xref target="I-D.mcguinness-oauth-actor-receipts"/> with the same construction, applied to proof JWTs.  The proof chain is linked independently of any receipt chain carried in the same token: each companion's <tt>prh</tt> values hash that companion's own artifacts.</t>
            </dd>
            <dt><tt>prh_alg</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  An identifier naming the hash algorithm used to compute <tt>prh</tt>.  The value, consistency, and extension rules of the receipt <tt>prh_alg</tt> claim apply to proof chains.
</t>
              <ul spacing="normal">
                <li>
                  <t>When absent, the default is <tt>sha-256</tt>.</t>
                </li>
                <li>
                  <t>The proof chain's <tt>prh_alg</tt> is independent of the receipt chain's <tt>prh_alg</tt> in the same token; the two chains <bcp14>MAY</bcp14> use different algorithms.</t>
                </li>
              </ul>
            </dd>
          </dl>
        </section>
        <section anchor="sibling-receipt-reference">
          <name>Sibling Receipt Reference</name>
          <dl>
            <dt><tt>receipt_jti</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The <tt>jti</tt> of the sibling receipt created for the same hop under <xref target="I-D.mcguinness-oauth-actor-receipts"/>.
</t>
              <t>To include this claim, the actor needs a prospective receipt identifier.  Most deployments instead use the receipt's <tt>proof_jti</tt> claim, which the issuer sets after validating the proof (<xref target="sibling-receipt-issuance"/>).  Consumer step 10 validates both references.</t>
            </dd>
          </dl>
        </section>
        <section anchor="time-and-uniqueness">
          <name>Time and Uniqueness</name>
          <dl>
            <dt><tt>iat</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The time at which the proof was signed, as defined in <xref target="RFC7519"/>.</t>
            </dd>
            <dt><tt>exp</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  Expiration time for the proof, as defined in <xref target="RFC7519"/>.
</t>
              <t>The <tt>exp</tt> value needs to cover the lifetime of any token that will carry or inherit this proof (<xref target="issuer-processing"/>).  Longer validity supports delegated sessions but also extends exposure to key compromise and proof reuse (<xref target="proof-to-token-binding-limits"/>).</t>
              <t>With instance binding through receipts in strict mode or a provisioned <tt>origin_jti</tt> (<xref target="proof-to-token-binding-limits"/>), <tt>exp</tt> <bcp14>MAY</bcp14> cover the delegated session only while the outer token stays instance-bound.  Refresh or reissuance ends instance binding, so actors <bcp14>SHOULD</bcp14> keep proof <tt>exp</tt> short unless they know the token will not be refreshed or reissued.  Without instance binding, <tt>exp</tt> <bcp14>SHOULD</bcp14> be short to limit proof reuse.</t>
            </dd>
            <dt><tt>jti</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  A unique identifier for the proof, as defined in <xref target="RFC7519"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="outer-token-binding">
          <name>Outer-Token Binding</name>
          <dl>
            <dt><tt>origin_jti</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The <tt>jti</tt> of the outer token issued at the hop this proof covers, following the pattern of the <tt>origin_jti</tt> claim defined in <xref target="I-D.mcguinness-oauth-actor-receipts"/>.
</t>
              <t>This requires provisioning the prospective token identifier before signing.  Consumer step 9 evaluates it; see also <xref target="proof-to-token-binding-limits"/>.</t>
              <t>A Transaction Token Service <bcp14>MAY</bcp14> include <tt>jti</tt> in a Transaction Token, because <xref section="9.2" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/> permits additional claims; without it, a Transaction Token's proof chain is never instance-bound.</t>
            </dd>
          </dl>
        </section>
        <section anchor="excluded-standard-claims">
          <name>Excluded Standard Claims</name>
          <dl>
            <dt><tt>aud</tt>:</dt>
            <dd>
              <t>Prohibited.  Actors <bcp14>MUST NOT</bcp14> include <tt>aud</tt> in a proof, and consumers <bcp14>MUST</bcp14> reject a proof that carries it (step 5 of <xref target="consumer-processing"/>).
</t>
              <t>Proofs are validated as part of outer-token processing, not as independent JWTs against an audience; the outer token carries the audience scoping for the request, and the actor's consented audiences are carried in <tt>target.aud</tt>.  This profile departs from <xref section="3.9" sectionFormat="of" target="RFC8725"/> on those grounds.  Rejecting a proof that carries <tt>aud</tt> produces the result that <xref section="4.1.3" sectionFormat="of" target="RFC7519"/> requires when the processing principal does not identify itself with the <tt>aud</tt> value.</t>
            </dd>
          </dl>
        </section>
        <section anchor="extension-claims">
          <name>Extension Claims</name>
          <t>A proof <bcp14>MAY</bcp14> contain additional claims defined by another specification or by deployment policy.  Consumers ignore unrecognized claims unless another specification or local agreement defines their meaning, per <xref section="4" sectionFormat="of" target="RFC7519"/>.</t>
        </section>
      </section>
      <section anchor="proof-chain-linkage">
        <name>Proof-Chain Linkage</name>
        <t>When an actor signs a new proof that extends an inherited proof chain:</t>
        <ul spacing="normal">
          <li>
            <t>if there is an older proof immediately following it in the array, the new proof <bcp14>MUST</bcp14> include <tt>prh</tt>, and that value <bcp14>MUST</bcp14> be the base64url encoding, without padding, of the hash of the ASCII octets of the exact compact JWT string of that next proof;</t>
          </li>
          <li>
            <t>if the new proof is the only proof in the array, it <bcp14>MUST</bcp14> omit <tt>prh</tt>.</t>
          </li>
        </ul>
        <t>The hash input is the exact compact JWS string, without JSON <xref target="RFC8259"/> canonicalization.  Systems that carry, store, or forward <tt>actor_proofs</tt> arrays <bcp14>MUST</bcp14> preserve each proof byte-for-byte.</t>
      </section>
    </section>
    <section anchor="actor-proof-parameter">
      <name>Conveying Proofs at Issuance</name>
      <t>This document defines one token request parameter:</t>
      <dl>
        <dt><tt>actor_proof</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>.  The compact serialization of a single actor proof JWT for the new outermost actor hop of the requested token.  A request carries at most one <tt>actor_proof</tt> parameter (<xref section="3.2" sectionFormat="of" target="RFC6749"/>).</t>
        </dd>
      </dl>
      <t>The parameter is defined for token endpoint requests that produce delegated tokens under the core actor profile, including OAuth 2.0 Token Exchange <xref target="RFC8693"/> requests and JWT assertion grants.  A Transaction Token request made over HTTP is a Token Exchange request (<xref section="11" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>) and carries the proof in the <tt>actor_proof</tt> parameter; other Transaction Token Service interfaces convey the proof by equivalent means.</t>
      <t>The AS authenticates the actor and derives its identity under the core actor profile, then separately validates the proof (<xref target="accepting-a-proof"/>).  The <tt>actor_proof</tt> parameter supplies participation and consent evidence; it does not serve as the <tt>actor_token</tt> parameter and does not authenticate the request.</t>
      <t>This document does not define a challenge mechanism by which an authorization server provides prospective values (such as the outer token's <tt>jti</tt>, a receipt's <tt>jti</tt>, or the newest inbound proof for opaque inbound tokens) to the actor before signing.  Deployments and companion profiles <bcp14>MAY</bcp14> define such mechanisms; the <tt>origin_jti</tt> and <tt>receipt_jti</tt> claims are the intended insertion points.</t>
    </section>
    <section anchor="issuer-processing">
      <name>Issuer Processing</name>
      <t>This section defines how an authorization server or Transaction Token Service accepts, validates, embeds, preserves, and extends <tt>actor_proofs</tt>.</t>
      <t>When a proof that the issuer retains from an inbound token or refresh state has an <tt>exp</tt> earlier than the <tt>exp</tt> the issuer would set for the issued token, the issuer:</t>
      <ol spacing="normal" type="1"><li>
          <t><bcp14>MAY</bcp14> lower the issued token's <tt>exp</tt> to the earliest <tt>exp</tt> among the retained proofs;</t>
        </li>
        <li>
          <t>otherwise, where local policy permits absent coverage, <bcp14>MUST</bcp14> drop the <tt>actor_proofs</tt> array;</t>
        </li>
        <li>
          <t>otherwise, <bcp14>MUST</bcp14> fail the request with the <tt>invalid_grant</tt> error code on a refresh or JWT bearer grant request (<xref section="5.2" sectionFormat="of" target="RFC6749"/>), or the <tt>invalid_request</tt> error code on a Token Exchange request (<xref section="2.2.2" sectionFormat="of" target="RFC8693"/>).</t>
        </li>
      </ol>
      <section anchor="accepting-a-proof">
        <name>Accepting a Proof for a New Actor Hop</name>
        <t>An issuer that receives a valid <tt>actor_proof</tt> naming the actor it establishes <bcp14>MUST</bcp14> add a new outermost hop for that actor, rather than preserving the inbound chain under the core actor profile's allowance for a repeated actor.</t>
        <t>When an issuer adds a new outermost actor hop and the token request carries the <tt>actor_proof</tt> parameter, the issuer:</t>
        <ol spacing="normal" type="1"><li>
            <t><bcp14>MUST</bcp14> validate the proof's structure per <xref target="actor-proof-jwt-format"/>: <tt>typ</tt> value, asymmetric <tt>alg</tt>, presence and JSON types of the <bcp14>REQUIRED</bcp14> claims <tt>iss</tt>, <tt>sub</tt>, <tt>act</tt>, <tt>target</tt> (including <tt>target.aud</tt>), <tt>iat</tt>, <tt>exp</tt>, and <tt>jti</tt>, the absence of <tt>aud</tt>, and the single-hop <tt>act</tt> rules.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that the proof's (<tt>act.iss</tt>, <tt>act.sub</tt>) pair equals the actor identifier pair the issuer will emit as the new outermost visible <tt>act</tt> object, and that the proof's <tt>iss</tt> equals the proof's <tt>act.sub</tt>.  Deployment configuration supplies the actor with the <tt>act.iss</tt> value the issuer will emit.  When the proof carries <tt>act.sub_profile</tt>, the issuer <bcp14>MUST</bcp14> verify that it matches, under the set comparison of step 7 of <xref target="consumer-processing"/>, the <tt>act.sub_profile</tt> the issuer emits for the new outermost actor.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that the proof's <tt>sub</tt> equals the top-level <tt>sub</tt> of the token being issued.  An issuer that re-expresses the subject at this hop <bcp14>MUST NOT</bcp14> embed the proof; re-expression breaks the alignment between <tt>actor_proofs[0].sub</tt> and the outer token's top-level <tt>sub</tt> that consumers verify under <xref target="consumer-processing"/>.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> resolve the actor's verification key through an actor-key source trusted under the issuer's local policy and validate the proof's signature (<xref target="actor-key-resolution"/>).</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that the proof has not expired, ensure that the issued outer token's <tt>exp</tt> is no later than the proof's <tt>exp</tt>, lowering it when needed, and verify that <tt>iat</tt> is plausible under the issuer's clock-skew policy.</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> issue an outer token whose <tt>aud</tt> or effective resource indicators exceed the proof's target binding.  Every audience of the issued token <bcp14>MUST</bcp14> be present in <tt>target.aud</tt>, and every effective resource indicator <bcp14>MUST</bcp14> equal an entry of <tt>target.resource</tt> under simple string comparison (<xref section="6.2.1" sectionFormat="of" target="RFC3986"/>) when that member is present.  When <tt>target.resource</tt> is present and the request supplies no resource indicators, the issuer uses <tt>target.resource</tt> as the effective resource indicators and <bcp14>MUST NOT</bcp14> issue a token whose effective resources exceed it.  On a request other than Token Exchange, the issuer <bcp14>MAY</bcp14> narrow the issued resource indicators to fit the target binding, as <xref section="2.2" sectionFormat="of" target="RFC8707"/> leaves acceptable resources to its policy.  On a Token Exchange request, it does not drop a requested audience or resource, because both name targets where the requested token must be usable (<xref section="2.1" sectionFormat="of" target="RFC8693"/>); <xref target="error-handling"/> gives the error to return when the requested target cannot be issued within the target binding after any narrowing.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify, when the proof carries <tt>origin_jti</tt>, that it equals the issued token's <tt>jti</tt>, and, when the proof carries <tt>receipt_jti</tt> and the issuer creates a sibling receipt for this hop (<xref target="sibling-receipt-issuance"/>), that it equals that receipt's <tt>jti</tt>.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> include the validated proof as <tt>actor_proofs[0]</tt> of the issued token, subject to the chain rules below.</t>
          </li>
        </ol>
        <t>When no inbound <tt>actor_proofs</tt> are being preserved, the proof starts a new chain and <bcp14>MUST</bcp14> omit <tt>prh</tt>.  The resulting one-element array constitutes complete coverage only when the visible <tt>act</tt> chain has depth 1; <xref target="actor-proofs-claim"/> governs how the issuer sets <tt>actor_proofs_complete</tt> in each case.</t>
        <t>If proof validation fails, the issuer <bcp14>MUST NOT</bcp14> embed the proof.  When local policy or the deployment's resource requirements require actor-signed evidence for the issuance, the issuer <bcp14>MUST</bcp14> fail the request under the error model of <xref target="error-handling"/>; otherwise it <bcp14>MAY</bcp14> issue the token without <tt>actor_proofs</tt>.</t>
      </section>
      <section anchor="extending-an-existing-proof-chain">
        <name>Extending an Existing Proof Chain</name>
        <t>When an issuer adds a new outermost actor hop and also preserves an inbound <tt>actor_proofs</tt> array, it:</t>
        <ol spacing="normal" type="1"><li>
            <t><bcp14>MUST</bcp14> validate the inbound proof chain by applying the consumer processing rules in <xref target="consumer-processing"/> before relying on it or carrying it forward.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that each inbound proof's <tt>exp</tt> is no earlier than the issued outer token's <tt>exp</tt>, applying the lifetime rule in <xref target="issuer-processing"/> when an inbound proof's <tt>exp</tt> is earlier than the <tt>exp</tt> the issuer would set.  Issuers <bcp14>MAY</bcp14> apply a small clock-skew margin to this comparison, consistent with the consumer-side skew tolerance in <xref target="consumer-processing"/>, but <bcp14>MUST NOT</bcp14> broadly accept inbound proofs whose <tt>exp</tt> precedes the issued outer token's <tt>exp</tt> by more than a deployment-defined skew bound.</t>
          </li>
          <li>
            <t>preserves each inbound proof byte-for-byte, as required by <xref target="proof-chain-linkage"/>.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> accept exactly one new proof, conveyed per <xref target="actor-proof-parameter"/> and validated per <xref target="accepting-a-proof"/>, for the new outermost actor hop.  Without a valid new proof, the issuer <bcp14>MUST NOT</bcp14> carry the inbound <tt>actor_proofs</tt> array forward; it continues without proofs where local policy permits absent coverage, and otherwise <bcp14>MUST</bcp14> fail the request under <xref target="error-handling"/>.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> verify that the new proof's <tt>prh</tt> equals the hash of the exact compact serialization of the inbound array's newest proof, computed using the algorithm named by the inherited <tt>prh_alg</tt> (defaulting to SHA-256 when absent), and <bcp14>MUST</bcp14> verify that the new proof's <tt>prh_alg</tt> matches the inherited chain's value or is omitted when the chain omits it.  An issuer that does not support the inbound <tt>prh_alg</tt> <bcp14>MUST</bcp14> reject the chain rather than rehash; rehashing would invalidate prior actors' signatures.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> prepend the new proof to the inherited array.</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> set <tt>actor_proofs_complete</tt> to <tt>true</tt> unless every inbound proof validated and the issued token's proof count equals its visible actor-chain depth, and <bcp14>SHOULD</bcp14> set it to <tt>false</tt> otherwise.</t>
          </li>
        </ol>
        <t>Byte-for-byte preservation (<xref target="proof-chain-linkage"/>) precludes reserializing, re-signing, normalizing, trimming, or otherwise altering a prior proof.</t>
        <t>The actor needs to know the newest inbound proof's exact serialization, or its hash and <tt>prh_alg</tt>, before signing.  For an inbound JWT, the actor can read <tt>actor_proofs[0]</tt>.  For an opaque inbound token, the deployment needs to supply that information through a mechanism it defines (<xref target="actor-proof-parameter"/>).  If that information is unavailable, the issuer <bcp14>MUST NOT</bcp14> accept a proof without <tt>prh</tt> as a chain extension; it <bcp14>MAY</bcp14> instead start a new chain under <xref target="accepting-a-proof"/> where local policy permits partial coverage (<xref target="partial-coverage-and-full-coverage"/>).</t>
        <t>If inbound proofs fail validation, the issuer <bcp14>MUST NOT</bcp14> propagate them.  It <bcp14>MAY</bcp14> continue without them only when local policy permits partial or absent coverage, and <bcp14>MAY</bcp14> then begin a new chain at its own hop under <xref target="accepting-a-proof"/>; the result is partial coverage and <bcp14>MUST NOT</bcp14> carry <tt>actor_proofs_complete: true</tt>.  Otherwise it <bcp14>MUST</bcp14> fail the request under the error model of the underlying protocol.</t>
      </section>
      <section anchor="reissuance-without-a-new-actor-hop">
        <name>Reissuance Without a New Actor Hop</name>
        <t>An issuer that reissues, translates, or introspects and re-emits a token without adding a new outermost actor hop:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MAY</bcp14> carry an <tt>actor_proofs</tt> array received in an inbound token or its introspection response forward unchanged, and <bcp14>MUST</bcp14> first validate it against that token under <xref target="consumer-processing"/>, as step 1 of <xref target="extending-an-existing-proof-chain"/> requires for extension; an array the issuer retained across refresh follows the refresh rules below instead.  If the array fails validation, the issuer <bcp14>MUST NOT</bcp14> carry it forward, and <bcp14>MUST</bcp14> fail the request under the error model of the underlying protocol unless local policy permits the issued token to lack it;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> accept or embed a new proof, and <bcp14>MUST</bcp14> reject, with the <tt>invalid_request</tt> error code (<xref section="5.2" sectionFormat="of" target="RFC6749"/>), a request that carries an <tt>actor_proof</tt> parameter;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> preserve <tt>actor_proofs_complete</tt> when carrying the array unchanged.  If it cannot attest that value, the issuer <bcp14>MUST</bcp14> drop the whole array;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> continue to carry an inherited <tt>actor_proofs</tt> array if it cannot preserve the visible hop alignment required by <xref target="consumer-processing"/>;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> change the top-level <tt>sub</tt> claim while retaining proofs; doing so breaks alignment with <tt>actor_proofs[0].sub</tt>;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> set the outer token's <tt>exp</tt> later than the earliest <tt>exp</tt> among the retained proofs, and applies the lifetime rule in <xref target="issuer-processing"/> when it would otherwise set a later <tt>exp</tt>.</t>
          </li>
        </ul>
        <t>If such an issuer changes the visible outermost actor, it has added a new hop and <bcp14>MUST</bcp14> follow <xref target="extending-an-existing-proof-chain"/>.</t>
        <t>If reissuance exceeds the newest proof's target binding, the issuer <bcp14>MUST</bcp14> drop <tt>actor_proofs</tt> unless deployment agreement designates it, for the recipients of the reissued token, as a trusted reissuing issuer permitted to retarget (<xref target="target-binding-strict-mode"/>).  A reissued token with a new <tt>jti</tt> diverges from a present <tt>actor_proofs[0].origin_jti</tt> (<xref target="target-binding-strict-mode"/>).</t>
        <t>An actor that intends its proof to remain usable after a later redemption without a new hop, for example an Identity Assertion JWT Authorization Grant that a Resource Authorization Server redeems (<xref target="I-D.mcguinness-oauth-actor-profile"/>), can include the known downstream audiences in <tt>target.aud</tt>, subject to its consent policy.  This addresses audience divergence only: a new <tt>jti</tt> still diverges from a present <tt>origin_jti</tt> (<xref target="target-binding-strict-mode"/>), and a changed subject or the proof's expiry still ends the proof's use for the redeemed token.</t>
        <t>If proofs are dropped while receipts remain, inherited <tt>proof_jti</tt> references become informational.  Recipients that require bound siblings enforce proof presence through the <tt>actor_proofs_required</tt> or <tt>actor_proofs_complete_required</tt> metadata parameter, or through local policy.</t>
        <t>An AS that supports refresh tokens for delegated access tokens carrying proofs:</t>
        <ul spacing="normal">
          <li>
            <t>needs to retain the <tt>actor_proofs</tt> array in issuer-controlled state across refresh, either in durable storage (for example, a token-state database or refresh-token state) or embedded in a self-contained refresh token, so that each refreshed access token can carry the proofs forward unchanged.</t>
          </li>
          <li>
            <t>takes the array from that retained state rather than from the previous access token: it validates the refresh request per <xref section="6" sectionFormat="of" target="RFC6749"/>, checks the retained proofs against its issuance state, and neither requires the previous access token to remain unexpired nor re-runs <xref target="consumer-processing"/> against it.</t>
          </li>
          <li>
            <t>applies the lifetime rule in <xref target="issuer-processing"/> to each refreshed access token.  Refresh ends instance binding, which is why <xref target="proof-claims"/> asks actors to keep proof <tt>exp</tt> short.</t>
          </li>
          <li>
            <t>after dropping <tt>actor_proofs</tt> under that rule, restores actor-signed evidence only through a new delegated issuance that adds a hop with a fresh proof, because refresh adds no actor hop.</t>
          </li>
        </ul>
      </section>
      <section anchor="partial-coverage-and-full-coverage">
        <name>Partial Coverage and Full Coverage</name>
        <t>This document permits partial proof coverage to support progressive deployment.  An issuer <bcp14>MAY</bcp14> begin a new proof chain even when older inner actor hops remain visible but uncovered.  When local policy or resource requirements require full actor-signed evidence, the issuer <bcp14>MUST</bcp14> either emit complete proof coverage or fail the request under the error model of the underlying protocol.</t>
        <t>Partial coverage leaves the oldest hops uncovered, including the original subject-to-actor delegation.  Deployments needing evidence for that hop should enable proof support at the origin and its actors first.</t>
        <t>When an introspection server filters the visible <tt>act</tt> chain (see the <tt>chain_complete</tt> introspection member defined in the core actor profile <xref target="I-D.mcguinness-oauth-actor-profile"/>), the <tt>actor_proofs</tt> member covers only the visible filtered chain.  In that case, the <tt>actor_proofs_complete</tt> member describes coverage relative to the visible filtered chain, not the unfiltered delegation chain; recipients that need true-chain completeness <bcp14>MUST</bcp14> evaluate the <tt>chain_complete</tt> member separately.</t>
      </section>
      <section anchor="transaction-token-service-rebinding">
        <name>Transaction Token Service Rebinding</name>
        <t>A Transaction Token Service that establishes a new presenter and makes that presenter the new outermost actor follows the same proof rules as any other issuer that adds a new outermost actor hop, as defined in <xref target="extending-an-existing-proof-chain"/> (or <xref target="accepting-a-proof"/> when no inbound <tt>actor_proofs</tt> array exists).  The new presenter is the signing actor for the new proof.</t>
      </section>
      <section anchor="sibling-receipt-issuance">
        <name>Sibling Receipt Issuance</name>
        <t>When a deployment uses both this profile and <xref target="I-D.mcguinness-oauth-actor-receipts"/>, the issuer that adds a hop creates the receipt and embeds the proof for that hop in the same issuance operation.  The two artifacts are siblings: independent attestations of the same hop by different signers.</t>
        <t>This document defines the following extension claim for Actor Receipt JWTs, under the extension-claims rule of <xref target="I-D.mcguinness-oauth-actor-receipts"/>:</t>
        <dl>
          <dt><tt>proof_jti</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  The <tt>jti</tt> of the proof the receipt issuer validated for the same hop.  When the issuer embeds a proof and creates a sibling receipt for one hop, the receipt <bcp14>SHOULD</bcp14> include <tt>proof_jti</tt> equal to that proof's <tt>jti</tt>.</t>
          </dd>
        </dl>
        <t>Byte-for-byte preservation keeps the <tt>proof_jti</tt> value fixed, making later proof substitution detectable through sibling validation (step 10 of <xref target="consumer-processing"/>).</t>
      </section>
    </section>
    <section anchor="consumer-processing">
      <name>Consumer Processing</name>
      <t>An issuer, resource server, or other recipient that relies on <tt>actor_proofs</tt> <bcp14>MUST</bcp14> perform the following steps.</t>
      <ol spacing="normal" type="1"><li>
          <t>Validate the outer token according to its token type and the core actor profile, including any presenter proof the core actor profile requires of the recipient.  At a resource server, actor authorization under the core actor profile follows this processing, so it can use validated proofs (<xref target="use-by-resource-servers"/>).</t>
        </li>
        <li>
          <t>If <tt>actor_proofs</tt> is absent, treat the token as lacking actor-signed evidence.  Local policy or Protected Resource Metadata parameters such as <tt>actor_proofs_required</tt> and <tt>actor_proofs_complete_required</tt> defined in <xref target="discovery-capability-signaling"/> determine whether that is acceptable.  If <tt>actor_proofs_complete</tt> is present with the value <tt>true</tt> while <tt>actor_proofs</tt> is absent, the combination is malformed; the recipient <bcp14>MUST</bcp14> treat this as a failed required check and apply the rejection rule following step 11.</t>
        </li>
        <li>
          <t>Verify that <tt>actor_proofs</tt>, if present, is a non-empty JSON array of strings.  Verify that <tt>actor_proofs_complete</tt>, if present, is a JSON boolean.</t>
        </li>
        <li>
          <t>Verify that the number of proofs does not exceed the visible actor-chain depth of the outer token.  If the outer token carries <tt>actor_proofs_complete: true</tt>, verify that the proof count exactly equals the visible actor-chain depth; if it does not, the check fails.</t>
        </li>
        <li>
          <t>For each proof, in array order:
          </t>
          <ul spacing="normal">
            <li>
              <t>parse the string as a compact JWT;</t>
            </li>
            <li>
              <t>verify that the JOSE header uses an asymmetric digital-signature <tt>alg</tt> value accepted for that actor, and reject proofs that use <tt>alg: none</tt> or a MAC-based symmetric algorithm (<xref section="3.1" sectionFormat="of" target="RFC8725"/>);</t>
            </li>
            <li>
              <t>verify that the <tt>typ</tt> header parameter equals <tt>actor-proof+jwt</tt>;</t>
            </li>
            <li>
              <t>verify that the proof's (<tt>act.iss</tt>, <tt>act.sub</tt>) pair is within the scope of an actor-key source the recipient trusts, before performing any network retrieval keyed by the proof's content;</t>
            </li>
            <li>
              <t>resolve the actor's verification key from that source (<xref target="actor-key-resolution"/>);</t>
            </li>
            <li>
              <t>validate the proof signature;</t>
            </li>
            <li>
              <t>reject a proof whose <tt>crit</tt> header parameter lists an extension header parameter that the recipient does not understand;</t>
            </li>
            <li>
              <t>verify that all <bcp14>REQUIRED</bcp14> proof claims are present and have the expected JSON types, including <tt>iss</tt>, <tt>sub</tt>, <tt>act</tt>, <tt>target</tt> with <tt>target.aud</tt>, <tt>iat</tt>, <tt>exp</tt>, and <tt>jti</tt>;</t>
            </li>
            <li>
              <t>verify that <bcp14>OPTIONAL</bcp14> claims used by this profile have the expected JSON types when present, including <tt>sub_iss</tt>, <tt>target.resource</tt>, <tt>prh</tt>, <tt>prh_alg</tt>, <tt>receipt_jti</tt>, and <tt>origin_jti</tt>;</t>
            </li>
            <li>
              <t>reject a proof that carries an <tt>aud</tt> claim (<xref target="proof-claims"/>);</t>
            </li>
            <li>
              <t>verify that the proof <tt>act</tt> object is single-hop, contains no nested <tt>act</tt>, and contains no <tt>cnf</tt>, and that the proof <tt>iss</tt> equals the proof <tt>act.sub</tt>;</t>
            </li>
            <li>
              <t>enforce the <tt>exp</tt> and <tt>iat</tt> claims and other JWT validity rules.  An expired proof is invalid even for an older hop; only the small clock-skew leeway of <xref section="4.1.4" sectionFormat="of" target="RFC7519"/> applies.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Verify proof-chain linkage:
          </t>
          <ul spacing="normal">
            <li>
              <t>each proof other than the oldest <bcp14>MUST</bcp14> include <tt>prh</tt>;</t>
            </li>
            <li>
              <t>each non-oldest proof's <tt>prh</tt> <bcp14>MUST</bcp14> hash the next older proof using the algorithm named by <tt>prh_alg</tt>, defaulting to <tt>sha-256</tt> when <tt>prh_alg</tt> is absent;</t>
            </li>
            <li>
              <t>all proofs in the chain <bcp14>MUST</bcp14> carry the same <tt>prh_alg</tt> value (or all omit it); a mixed-algorithm chain <bcp14>MUST</bcp14> be rejected;</t>
            </li>
            <li>
              <t>the named algorithm <bcp14>MUST</bcp14> be one the recipient supports; a chain naming an unsupported algorithm <bcp14>MUST</bcp14> be rejected;</t>
            </li>
            <li>
              <t>the oldest proof <bcp14>MUST</bcp14> omit <tt>prh</tt>.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Verify visible-hop alignment:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>actor_proofs[0].act.sub</tt> <bcp14>MUST</bcp14> equal the outer token's <tt>act.sub</tt>, and <tt>actor_proofs[0].act.iss</tt> <bcp14>MUST</bcp14> equal the outer token's <tt>act.iss</tt>;</t>
            </li>
            <li>
              <t><tt>actor_proofs[1].act.sub</tt> <bcp14>MUST</bcp14> equal the outer token's <tt>act.act.sub</tt>, and <tt>actor_proofs[1].act.iss</tt> <bcp14>MUST</bcp14> equal the outer token's <tt>act.act.iss</tt>;</t>
            </li>
            <li>
              <t>and so on for the number of proofs present;</t>
            </li>
            <li>
              <t>when <tt>act.sub_profile</tt> is present in the proof <tt>act</tt> object, the corresponding visible <tt>act</tt> object <bcp14>MUST</bcp14> contain <tt>act.sub_profile</tt> with the same value.  <tt>sub_profile</tt> values are compared as sets: the space-delimited values are compared case-insensitively, their order is insignificant, and duplicate values are ignored (<xref section="3.3" sectionFormat="of" target="I-D.mora-oauth-entity-profiles"/>); comparison never rewrites a signed proof;</t>
            </li>
            <li>
              <t>when <tt>act.sub_profile</tt> is present only in the visible <tt>act</tt> object, the proof remains aligned for this profile.  The actor does not attest the visible value, and recipients that require actor-signed evidence for actor classification <bcp14>MUST</bcp14> reject the proof chain or apply explicit local mapping rules.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Verify subject alignment:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>actor_proofs[0].sub</tt> <bcp14>MUST</bcp14> equal the outer token's top-level <tt>sub</tt>;</t>
            </li>
            <li>
              <t>when <tt>actor_proofs[0].sub_iss</tt> is present and the recipient has a top-level subject namespace authority for the outer token's <tt>sub</tt> from local configuration, an inbound subject token's claims, or another deployment-defined source, the two <bcp14>MUST</bcp14> identify the same namespace authority, evaluated by case-sensitive string comparison; treating lexically distinct identifiers as the same authority requires explicit trusted local mapping rules;</t>
            </li>
            <li>
              <t>older proofs <bcp14>MAY</bcp14> carry differing <tt>sub</tt> or <tt>sub_iss</tt> values.  This acceptance is structural only: authorization that depends on subject equivalence across those proofs is subject to the continuity rules of <xref target="subject-re-expression-across-hops"/>.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Evaluate outer-token binding and target binding:
          </t>
          <ul spacing="normal">
            <li>
              <t>when the outer token has no <tt>jti</tt>, a present <tt>actor_proofs[0].origin_jti</tt> binds no instance and the chain has diverged (<xref target="target-binding-strict-mode"/>); otherwise, when <tt>actor_proofs[0].origin_jti</tt> is present and equals the outer token's <tt>jti</tt>, the proof chain is bound to the current outer-token instance; when it is present and differs, the chain has diverged: <xref target="target-binding-strict-mode"/> decides whether the recipient rejects it (rejection is the default), and an accepted value is historical provenance;</t>
            </li>
            <li>
              <t>when <tt>actor_proofs[0].origin_jti</tt> is absent, the proof chain carries no instance binding of its own; this is not by itself a validation failure;</t>
            </li>
            <li>
              <t>verify that every audience of the outer token is present in <tt>actor_proofs[0].target.aud</tt>, and, when the outer token's effective resource indicators are determinable from token claims, the introspection response, or trusted local context, that each equals an entry of <tt>actor_proofs[0].target.resource</tt> under simple string comparison (<xref section="6.2.1" sectionFormat="of" target="RFC3986"/>) when that member is present.  A recipient that cannot determine the outer token's effective resources treats the proof as consent to the audience only, not as divergence, and <bcp14>MUST NOT</bcp14> infer resource-level consent.  A token whose audience or resources exceed the newest proof's target binding has also diverged; <xref target="target-binding-strict-mode"/> decides whether the recipient rejects the chain (rejection is the default) and limits an accepted chain to participation evidence, not actor consent to the current target;</t>
            </li>
            <li>
              <t>target bindings of proofs other than <tt>actor_proofs[0]</tt> are historical consent for their own hops.  The recipient <bcp14>MUST NOT</bcp14> evaluate them against the current outer token's audience or resources.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Verify sibling references, when the token also carries <tt>actor_receipts</tt> validated under <xref target="I-D.mcguinness-oauth-actor-receipts"/>:
          </t>
          <ul spacing="normal">
            <li>
              <t>for each index i covered by both arrays, when <tt>actor_receipts[i]</tt> carries <tt>proof_jti</tt>, it <bcp14>MUST</bcp14> equal <tt>actor_proofs[i].jti</tt>, and when <tt>actor_proofs[i]</tt> carries <tt>receipt_jti</tt>, it <bcp14>MUST</bcp14> equal <tt>actor_receipts[i].jti</tt>;</t>
            </li>
            <li>
              <t>a mismatched sibling reference <bcp14>MUST</bcp14> cause the recipient to reject both receipt-based and proof-based provenance for the token;</t>
            </li>
            <li>
              <t>a sibling reference that names an artifact at an index not covered by the other array is unverifiable; recipients whose policy requires bound siblings <bcp14>MUST</bcp14> reject the token's proof-based provenance, and other recipients <bcp14>MUST</bcp14> treat the reference as informational only;</t>
            </li>
            <li>
              <t>when receipts are absent or not validated, <tt>receipt_jti</tt> values are informational only.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Apply any additional consumer-processing rules defined by companion profiles whose claims appear in the proof or outer token (see <xref target="extensibility"/>).</t>
        </li>
      </ol>
      <t>Step 1 is a prerequisite: an outer token that fails its own validation is rejected under the rules for its token type, not treated as lacking proofs.  If any later required check fails, the recipient <bcp14>MUST</bcp14> reject the proof chain and treat the token as lacking actor-signed evidence (step 2).  The recipient rejects the token only when local policy or Protected Resource Metadata requires that evidence, using the underlying protocol's error handling for the stage at which the failure occurred.</t>
      <t>A recipient that has rejected a proof chain under this profile <bcp14>MAY</bcp14>, under explicit local policy, extract structural information from the chain for use by companion profiles.  The recipient <bcp14>MUST NOT</bcp14> treat such partial validation as conformance with this profile, and <bcp14>MUST NOT</bcp14> relax the rejection requirements defined above.</t>
      <section anchor="subject-re-expression-across-hops">
        <name>Subject Re-Expression Across Hops</name>
        <t>Older proofs can carry a <tt>sub</tt> value that differs from that of the current outer token when the subject has been re-expressed across issuer namespaces between hops.  This document does not define a universal subject-mapping algorithm; step 8 of <xref target="consumer-processing"/> requires only <tt>actor_proofs[0].sub</tt> to equal the current outer token's <tt>sub</tt>.</t>
        <t>Permitting differing <tt>sub</tt> values across proofs creates a cross-subject insertion risk: a proof signed by a legitimate actor for an unrelated subject's delegation could satisfy the structural hop-alignment check when the actor identity at that hop matches.  An attacker who compromises any single actor signing key can sign proofs naming any subject and any target, and graft them onto a downstream chain whose re-expressed <tt>sub</tt> identifies a victim subject.</t>
        <t>Deployments where subject continuity is a security requirement <bcp14>SHOULD</bcp14> adopt one of the following:</t>
        <ul spacing="normal">
          <li>
            <t>require exact, namespace-aware matching of subject identifiers across all proofs (the same <tt>sub</tt> under the same namespace authority; see <tt>sub_iss</tt> in <xref target="identity-claims"/>); or</t>
          </li>
          <li>
            <t>enforce explicit trusted subject-mapping rules that can positively confirm that each distinct subject identifier refers to the same underlying entity.</t>
          </li>
        </ul>
        <t>When neither condition is met, the recipient <bcp14>MUST</bcp14> treat subject continuity as unverified and <bcp14>MUST NOT</bcp14> rely on older proofs whose subject identifiers (<tt>sub</tt> or <tt>sub_iss</tt>) differ to support authorization that requires subject continuity (for example, a decision that treats every covered hop as having acted for the current token's subject).</t>
      </section>
      <section anchor="complete-proof-coverage">
        <name>Complete Proof Coverage</name>
        <t>Coverage is structurally complete when all validation succeeds and the proof count equals the visible actor-chain depth.  This suffices when local policy requires only structural completeness.</t>
        <t>When Protected Resource Metadata sets <tt>actor_proofs_complete_required: true</tt>, the token or introspection response <bcp14>MUST</bcp14> also carry <tt>actor_proofs_complete: true</tt>.  Recipients <bcp14>MUST</bcp14> reject tokens that fail the applicable completeness requirement.</t>
      </section>
      <section anchor="use-by-resource-servers">
        <name>Use by Resource Servers</name>
        <t>Resource servers can use validated proofs as evidence for authorization, diagnostics, and audit, subject to the limits in <xref target="threat-model"/>, with or without receipts.  Such use rests on the validated top-level <tt>actor_proofs</tt> claim: nested <tt>act</tt> objects remain informational for access control (<xref section="4.1" sectionFormat="of" target="RFC8693"/>), and, under this profile, a prior actor is an authorization input only as a hop covered by a proof validated under <xref target="consumer-processing"/>.  However, a valid proof chain:</t>
        <ul spacing="normal">
          <li>
            <t>proves only that the covered actors signed their participation and hop-time target bindings;</t>
          </li>
          <li>
            <t>does not prove that the represented delegation remains active, authorized, or acceptable under current policy;</t>
          </li>
          <li>
            <t>does not prove that any authorization server validated the hop; that attestation is the receipts companion's role;</t>
          </li>
          <li>
            <t>does not remove the need to authorize the current token itself;</t>
          </li>
          <li>
            <t>does not convey authority, authorization, entitlement, or delegation rights;</t>
          </li>
          <li>
            <t>is not actor consent to the current request; it is actor consent to the hop-time issuance within the recorded target binding.</t>
          </li>
        </ul>
        <t>Current authorization decisions <bcp14>MUST</bcp14> evaluate the current outer token, current policy, and current state, not the proof chain alone.</t>
      </section>
      <section anchor="consumer-introspection">
        <name>Introspection</name>
        <t>When an authorization server returns actor-proof information in an OAuth Token Introspection response <xref target="RFC7662"/>, it:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MAY</bcp14> return the <tt>actor_proofs</tt> member using the same array format defined in <xref target="actor-proofs-claim"/>;</t>
          </li>
          <li>
            <t><bcp14>MAY</bcp14> return the <tt>actor_proofs_complete</tt> member to indicate whether the returned array provides complete coverage for the visible chain as known to the introspection server.</t>
          </li>
        </ul>
        <t>For opaque tokens, the issuer stores proofs and returns them to authorized resource servers through introspection.  The same format and consumer rules apply, with the introspection response serving as the outer token's claim set.</t>
        <t>An introspection response carrying proofs <bcp14>MUST</bcp14> include the members needed for <xref target="consumer-processing"/>: the token's top-level <tt>sub</tt>, the visible <tt>act</tt> chain, the token's <tt>aud</tt>, and the token's <tt>iss</tt>.  It <bcp14>SHOULD</bcp14> include the <tt>jti</tt> member when maintained by the server; without it, the response supplies no instance binding under step 9.  If present, the <tt>actor_proofs_complete</tt> member <bcp14>MUST</bcp14> be a boolean.</t>
        <t>An RS receiving both inline and introspected proofs <bcp14>MUST</bcp14> select an authoritative source under local policy.  If it consumes both, differing arrays or completeness values <bcp14>MUST</bcp14> cause rejection of proof-based provenance.</t>
        <t>An introspection server <bcp14>MUST</bcp14> return the full stored array or omit <tt>actor_proofs</tt>.  Removing an older entry breaks the <tt>prh</tt> chain; removing the newest entry breaks hop alignment.  A server that filters the visible <tt>act</tt> chain can still return the full array when it filters only inner actors that no proof covers; if it filters a covered actor, it <bcp14>MUST</bcp14> omit both <tt>actor_proofs</tt> and <tt>actor_proofs_complete</tt>.  When the introspection server returns a stored array that it knows has partial coverage, it <bcp14>MUST</bcp14> include <tt>actor_proofs_complete: false</tt>.</t>
        <t>For an inactive token, the introspection server <bcp14>MUST NOT</bcp14> return <tt>actor_proofs</tt> or <tt>actor_proofs_complete</tt>.</t>
      </section>
    </section>
    <section anchor="discovery-capability-signaling">
      <name>Discovery and Capability Signaling</name>
      <t>This section follows the claim-pair and discovery conventions defined in <xref target="I-D.mcguinness-oauth-actor-receipts"/>.</t>
      <section anchor="authorization-server-metadata">
        <name>Authorization Server Metadata</name>
        <t>The following parameter is defined for use in Authorization Server Metadata <xref target="RFC8414"/>:</t>
        <dl>
          <dt><tt>actor_proofs_supported</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean.  When <tt>true</tt>, the authorization server advertises that it accepts the <tt>actor_proof</tt> token request parameter, validates proofs against actor keys, and embeds, preserves, or extends proof chains according to this document.  This value does not guarantee complete coverage for every visible hop in every resulting token.  When <tt>false</tt> or absent, the AS makes no claim of such support.</t>
          </dd>
        </dl>
        <t>This parameter applies equally to an authorization server that issues delegated JWT outputs and to a Transaction Token Service publishing metadata through the same framework.</t>
      </section>
      <section anchor="protected-resource-metadata">
        <name>Protected Resource Metadata</name>
        <t>The following parameters are defined for use in Protected Resource Metadata <xref target="RFC9728"/>:</t>
        <dl>
          <dt><tt>actor_proofs_required</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean.  When <tt>true</tt>, the resource server indicates that delegated requests are expected to carry valid actor proofs covering at minimum the outermost visible actor hop.  When <tt>false</tt> or absent, the resource server makes no metadata declaration about actor-signed evidence requirements.
</t>
            <t>Unlike receipt issuance, proof creation involves the actor directly: an actor that can sign proofs <bcp14>MAY</bcp14> use this declaration, together with <tt>actor_proofs_supported</tt> in Authorization Server Metadata, to decide whether to include the <tt>actor_proof</tt> parameter in its token requests.  The declaration also serves deployment coordination and expresses the enforcement posture under which this profile's anti-fabrication property holds (<xref target="downgrade-by-omission"/>).</t>
          </dd>
          <dt><tt>actor_proofs_complete_required</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean.  When <tt>true</tt>, the resource server indicates that it requires complete proof coverage: the proof count needs to equal the visible actor-chain depth and <tt>actor_proofs_complete</tt> needs to be <tt>true</tt> in the outer token or the introspection response.  This parameter refines <tt>actor_proofs_required</tt>; a resource server <bcp14>SHOULD NOT</bcp14> set <tt>actor_proofs_complete_required: true</tt> without also setting <tt>actor_proofs_required: true</tt>.  When <tt>false</tt> or absent, partial proof coverage is acceptable to the resource server, subject to any further local policy.</t>
          </dd>
        </dl>
        <t>No metadata parameter indicates that a resource server requires bound siblings (<tt>proof_jti</tt> on receipts); deployments that need bound siblings coordinate that requirement through deployment policy.</t>
      </section>
      <section anchor="introspection-response-members">
        <name>Introspection Response Members</name>
        <t>The following members are defined for use in OAuth Token Introspection responses <xref target="RFC7662"/>:</t>
        <dl>
          <dt><tt>actor_proofs</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  An array of strings using the same syntax as the JWT claim of the same name.</t>
          </dd>
          <dt><tt>actor_proofs_complete</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean.  When <tt>true</tt>, the introspection response indicates that the returned <tt>actor_proofs</tt> cover every visible hop in the token chain as known to the introspection server.  When <tt>false</tt>, the response makes no attestation of complete coverage.</t>
          </dd>
        </dl>
        <t>Consumer use of these members is described in <xref target="consumer-introspection"/>; introspection-server failure handling is addressed in <xref target="introspection-errors"/>.</t>
      </section>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>Proof validation failures use the underlying protocol's error mechanism for the stage at which validation occurs.  This document defines no new OAuth error codes.</t>
      <section anchor="authorization-server-and-transaction-token-service-errors">
        <name>Authorization Server and Transaction Token Service Errors</name>
        <t>When an authorization server or Transaction Token Service rejects a token request because an inbound <tt>actor_proofs</tt> chain or a newly submitted proof cannot be validated (signature failure, key-resolution failure for an actor outside the trusted key sources, expired proof, unsupported <tt>prh_alg</tt>, broken <tt>prh</tt> chain, hop or subject misalignment), it returns an error response per <xref section="5.2" sectionFormat="of" target="RFC6749"/>: <tt>invalid_request</tt> for a Token Exchange request, as <xref section="2.2.2" sectionFormat="of" target="RFC8693"/> requires, or <tt>invalid_grant</tt> for a JWT bearer grant request (<xref section="3.1" sectionFormat="of" target="RFC7523"/>), consistent with the core actor profile's error mapping for actor information that fails validation.</t>
        <t>When the requested target cannot be issued within the submitted proof's target binding after any narrowing under <xref target="accepting-a-proof"/>, the issuer <bcp14>SHOULD</bcp14> return <tt>invalid_target</tt>, per <xref section="2.2.2" sectionFormat="of" target="RFC8693"/> for a Token Exchange request and <xref section="2" sectionFormat="of" target="RFC8707"/> for other token requests.</t>
        <t>When the failure reflects an actor-authorization decision rather than a structural validation failure, the issuer uses the <tt>actor_unauthorized</tt> error code, as the core actor profile <xref target="I-D.mcguinness-oauth-actor-profile"/> requires.  An absent required proof, whether an <tt>actor_proof</tt> parameter or an inbound <tt>actor_proofs</tt> array, is an input-validation failure: the issuer returns the <tt>invalid_request</tt> error code for a Token Exchange request and the <tt>invalid_grant</tt> error code for a JWT bearer grant or refresh request.</t>
      </section>
      <section anchor="resource-server-errors">
        <name>Resource Server Errors</name>
        <t>When a resource server rejects a request because <tt>actor_proofs</tt> validation fails under <xref target="consumer-processing"/>, it <bcp14>SHOULD</bcp14> return <tt>invalid_token</tt> (<xref section="3.1" sectionFormat="of" target="RFC6750"/>) in a challenge that uses the authentication scheme the core actor profile's resource server processing selects, such as <tt>DPoP</tt> for a DPoP-bound token.  For a Transaction Token, the recipient instead rejects the token through the deployment's Transaction Token handling, because <xref target="I-D.ietf-oauth-transaction-tokens"/> defines no error response for a rejected Transaction Token.</t>
        <t>When the failure is specifically that required proofs are absent or coverage is incomplete (per <tt>actor_proofs_required</tt> or <tt>actor_proofs_complete_required</tt>), the resource server <bcp14>SHOULD</bcp14> include an <tt>error_description</tt> value identifying proof-coverage failure so that clients and operators can distinguish it from generic token-validation failures.</t>
      </section>
      <section anchor="introspection-errors">
        <name>Introspection Server Behavior</name>
        <t>When an introspection server cannot return proofs that the requesting resource server requires, it returns the introspection response per <xref target="RFC7662"/> with <tt>actor_proofs</tt> absent, or with a partial array and <tt>actor_proofs_complete: false</tt>; the resource server then applies its local policy to decide whether to accept the token.</t>
      </section>
    </section>
    <section anchor="extensibility">
      <name>Extensibility</name>
      <t>This profile composes with the extensibility framework defined in <xref target="I-D.mcguinness-oauth-actor-receipts"/> and adds proof-specific extension surfaces:</t>
      <ul spacing="normal">
        <li>
          <t><strong>New claims inside a proof JWT</strong> for additional per-hop actor-attested attributes.  Consumers ignore unrecognized claims under <xref target="proof-claims"/> unless another specification or local agreement defines their meaning.</t>
        </li>
        <li>
          <t><strong>New <tt>target</tt> extension members</strong> with constraining semantics, per the extension rule in <xref target="proof-claims"/>.  Specifications needing actor consent at scope or action granularity extend <tt>target</tt> rather than redefining it.</t>
        </li>
        <li>
          <t><strong>Challenge and provisioning mechanisms</strong> that supply prospective values to the actor before signing (<xref target="actor-proof-parameter"/>); such mechanisms strengthen instance binding without changing proof processing.</t>
        </li>
        <li>
          <t><strong>Actor events between hops</strong>, such as consent to a changed target.  Companion profiles <bcp14>SHOULD</bcp14> use a JWT type distinct from <tt>actor-proof+jwt</tt>, a parallel outer-token array, and an anchor to a proof <tt>jti</tt> or defined flow identifier, following the non-hop event pattern of <xref target="I-D.mcguinness-oauth-actor-receipts"/>.  Companion profiles <bcp14>MUST NOT</bcp14> add event entries to <tt>actor_proofs</tt>, which is reserved for the actor-signed hop proofs defined by this document.</t>
        </li>
        <li>
          <t><strong>Multi-actor co-signed hops</strong> are outside the scope of this document and would require a successor or companion profile with its own artifact structure.</t>
        </li>
      </ul>
      <t>Companion profile authoring rules:</t>
      <ul spacing="normal">
        <li>
          <t>Companion profiles <bcp14>MAY</bcp14> extend consumer processing under <xref target="consumer-processing"/> by adding rejection conditions; they <bcp14>MUST NOT</bcp14> relax any requirement needed for conformance to this profile.  This does not change the separately scoped partial-validation rule that follows step 11 of <xref target="consumer-processing"/>.</t>
        </li>
        <li>
          <t>Companion profiles that define per-hop signed artifacts <bcp14>SHOULD</bcp14> follow the claim-pair and discovery conventions of <xref target="I-D.mcguinness-oauth-actor-receipts"/>, and <bcp14>MAY</bcp14> reuse the <tt>prh</tt> and <tt>prh_alg</tt> chain-linkage construction.</t>
        </li>
      </ul>
      <t>Conflict resolution: when a recipient implements multiple companion profiles whose rules conflict, local policy determines precedence.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The general OAuth 2.0 Security Best Current Practice <xref target="RFC9700"/> and the JWT best practices in <xref target="RFC8725"/>, except its audience requirements for proof JWTs (see <tt>aud</tt> in <xref target="proof-claims"/>), apply to systems implementing this profile.</t>
      <section anchor="threat-model">
        <name>Threat Model</name>
        <section anchor="adversaries-mitigated-by-this-profile">
          <name>Adversaries Mitigated by This Profile</name>
          <ul spacing="normal">
            <li>
              <t><strong>Current outer-token issuer fabricating actor participation.</strong>  The issuer cannot forge the actor's signature at proof-covered hops, provided the recipient requires proofs (<xref target="downgrade-by-omission"/>) and resolves actor keys independently of that issuer (<xref target="actor-key-resolution"/>).</t>
            </li>
            <li>
              <t><strong>Current issuer exceeding the actor-authorized target at the covered hop.</strong>  Issuer-side enforcement (<xref target="accepting-a-proof"/>) and step 9 of <xref target="consumer-processing"/> detect a token exceeding the newest proof's target binding, subject to <xref target="target-binding-strict-mode"/>.</t>
            </li>
            <li>
              <t><strong>Compromised downstream issuer fabricating prior-hop participation.</strong>  Such an issuer cannot forge prior actors' proof signatures, and the <tt>prh</tt> chain prevents it from dropping or reordering inner proofs.</t>
            </li>
            <li>
              <t><strong>Token mutation in transit.</strong>  Each proof is independently signed; modification invalidates the proof's signature and any newer proof's <tt>prh</tt>.</t>
            </li>
            <li>
              <t><strong>Partial-coverage misclaim.</strong>  An issuer cannot drop an inner proof without breaking the <tt>prh</tt> chain, and it cannot claim <tt>actor_proofs_complete: true</tt> unless the proof count matches the visible actor-chain depth.  It can withhold coverage only at the innermost end, and only by beginning a new chain rather than trimming an inherited one.</t>
            </li>
            <li>
              <t><strong>Proof-chain substitution, when receipts with <tt>proof_jti</tt> are present.</strong>  Replacing a proof chain with one whose identifiers differ from the receipts' <tt>proof_jti</tt> values fails the sibling check in step 10 of <xref target="consumer-processing"/>.</t>
            </li>
          </ul>
        </section>
        <section anchor="adversaries-not-mitigated">
          <name>Adversaries Not Mitigated</name>
          <ul spacing="normal">
            <li>
              <t><strong>Compromised actor signing key.</strong>  Forged proofs are indistinguishable from legitimate ones and cannot be revoked individually (<xref target="actor-key-compromise"/>).</t>
            </li>
            <li>
              <t><strong>Issuer omission of proofs.</strong>  Omission is a downgrade, not merely denial of service, against recipients that do not require proofs (<xref target="downgrade-by-omission"/>).</t>
            </li>
            <li>
              <t><strong>Proof re-embedding within the validity window.</strong>  Any holder of a valid proof, including the issuer it was submitted to, can embed it in another token with matching context (<xref target="proof-to-token-binding-limits"/>).</t>
            </li>
            <li>
              <t><strong>Malicious or coerced actor.</strong>  Proofs attest that the actor's key signed the participation, not the actor's intent; neither companion detects an actor colluding with a compromised issuer.</t>
            </li>
            <li>
              <t><strong>Cross-subject graft with a compromised actor key.</strong>  Deployments where subject continuity is a security requirement limit this threat through the subject-matching options in <xref target="subject-re-expression-across-hops"/>.</t>
            </li>
            <li>
              <t><strong>Replay of an entire token plus its proofs.</strong>  This profile does not define replay detection; proofs inherit the outer token's replay characteristics.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="current-presenter-validation">
        <name>Current Presenter Validation</name>
        <t>When the outer token carries a top-level <tt>cnf</tt> claim (<xref target="RFC7800"/>), the current request is validated against it whenever the core actor profile requires the recipient to verify that binding (a resource server always; an AS in presenter rebind does not verify the previous presenter's binding), using a mechanism such as DPoP <xref target="RFC9449"/> or mutual-TLS <xref target="RFC8705"/>.  Proof signatures never satisfy current-request proof of possession.</t>
        <t>An actor proof does not substitute for that validation:</t>
        <ul spacing="normal">
          <li>
            <t>A recipient <bcp14>MUST NOT</bcp14> treat a proof signature as satisfying a proof-of-possession requirement for the current request, regardless of whether the proof signing key is the same key as a presenter key.</t>
          </li>
          <li>
            <t>Recipients <bcp14>MUST</bcp14> distinguish proof JWTs (identified by the <tt>typ</tt> value <tt>actor-proof+jwt</tt>) from artifacts that carry current-request proof-of-possession semantics under <xref target="RFC7800"/>, <xref target="RFC9449"/>, or <xref target="RFC8705"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="actor-key-resolution">
        <name>Actor Key Resolution and Trust</name>
        <t>Trust is per-actor-key and per-deployment, and is not transitive: a proof chain fails validation if any proof's signing key cannot be resolved through an actor-key source the recipient trusts (step 5 of <xref target="consumer-processing"/>).  Proofs and receipts have independent trust anchors; validating both survives compromise of either the issuer side or the actor side, but not of both.</t>
        <t>Trust establishment requirements:</t>
        <ul spacing="normal">
          <li>
            <t>A recipient needs to establish its trusted actor-key sources before relying on <tt>actor_proofs</tt>, through explicit pre-configuration, bilateral agreement, federation policy, or another explicit trust framework.</t>
          </li>
          <li>
            <t>A recipient <bcp14>MUST NOT</bcp14> treat the presence of a syntactically valid signed proof as sufficient grounds to trust the key that signed it.</t>
          </li>
          <li>
            <t>A recipient <bcp14>MUST NOT</bcp14> dereference key references supplied by the proof itself (such as <tt>jku</tt> or <tt>x5u</tt> header parameters) outside a pre-established trust framework, per <xref target="RFC8725"/>.</t>
          </li>
          <li>
            <t>Key resolution and trust evaluation use the (<tt>act.iss</tt>, <tt>act.sub</tt>) pair, checked in step 5 of <xref target="consumer-processing"/> before any retrieval.  The bare proof <tt>iss</tt> string is not a resolution index on its own (<xref target="identity-claims"/>), and identical <tt>act.sub</tt> strings under different namespace authorities are different actors.</t>
          </li>
        </ul>
        <t>This document profiles two resolution patterns; a deployment can support either or both:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Pre-established keys</strong>, registered in advance, for example as a registered OAuth client's JWKS at the authorization server or as keys configured at a resource server.  This pattern provides the strongest independence properties; attestation-based client authentication <xref target="I-D.ietf-oauth-attestation-based-client-auth"/> is an interoperable way to establish such keys.</t>
          </li>
          <li>
            <t><strong>Federation and workload identity systems</strong>, with the trust and freshness properties of the underlying system, such as OAuth SPIFFE client authentication <xref target="I-D.ietf-oauth-spiffe-client-auth"/>.</t>
          </li>
        </ul>
        <t>The independence requirement follows from the threat model: for the anti-fabrication property against a given issuer to hold at a hop, the recipient <bcp14>MUST</bcp14> resolve the actor's key for that hop through a source independent of that issuer.</t>
      </section>
      <section anchor="proof-to-token-binding-limits">
        <name>Proof-to-Token Binding Limits</name>
        <t>Without instance binding, any holder of a proof, including the issuer it was submitted to, can reuse it in another token with the same subject, actor, and target within its validity window; the signature evidences consent to that context, not to a particular token issuance.</t>
        <t>Available bindings:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Receipts composition.</strong>  When the token also carries receipts, the receipt chain's <tt>origin_jti</tt> anchoring and strict-mode rules in <xref target="I-D.mcguinness-oauth-actor-receipts"/> bind the token instance, and <tt>proof_jti</tt> (<xref target="sibling-receipt-issuance"/>) binds the proof chain to it; re-embedding then requires a fabricated receipt, which only an issuer able to sign trusted receipts can produce.  This is the <bcp14>RECOMMENDED</bcp14> posture for deployments that already use receipts and require instance binding.</t>
          </li>
          <li>
            <t><strong>Provisioned <tt>origin_jti</tt>.</strong>  Binds the proof to the outer-token instance directly when the actor receives the prospective <tt>jti</tt> before signing (step 9 of <xref target="consumer-processing"/>).</t>
          </li>
          <li>
            <t><strong><tt>jti</tt> uniqueness monitoring.</strong>  Recipients and audit pipelines <bcp14>MAY</bcp14> track proof <tt>jti</tt> values and flag the same proof appearing in more than one outer-token instance.</t>
          </li>
          <li>
            <t><strong>Short <tt>exp</tt>.</strong>  Bounds the re-embedding window unconditionally, at the cost of shorter delegated sessions (<xref target="proof-claims"/>).</t>
          </li>
        </ul>
        <t>Receipts composition relies on the receipt issuer's assertion and a provisioned <tt>origin_jti</tt> on the actor's own signature; neither binding signs the outer token's other contents.  Inner proofs inherit whatever binding <tt>actor_proofs[0]</tt> has through <tt>prh</tt>.</t>
        <section anchor="target-binding-strict-mode">
          <name>Target-Binding Strict Mode</name>
          <t>An outer token diverges from its proof chain when its audience or effective resources exceed <tt>actor_proofs[0]</tt>'s target binding, or when its <tt>jti</tt> differs from a present <tt>actor_proofs[0].origin_jti</tt>.  A recipient <bcp14>MUST</bcp14> reject a divergent proof chain unless local policy designates the outer token issuer as a trusted reissuing issuer.  Designation as a trusted reissuing issuer excuses only <tt>jti</tt> divergence unless local policy also permits that issuer to retarget.  Recipients that have not explicitly configured a set of trusted reissuing issuers therefore operate in strict mode by default, rejecting every divergent chain.</t>
          <t>Strict mode is the recommended default.  A recipient accepting target divergence <bcp14>MUST</bcp14> treat proofs only as participation evidence and <bcp14>MUST NOT</bcp14> infer consent to the current audience or resources.  With receipts, it <bcp14>SHOULD</bcp14> apply one reissuance-trust decision to both companions for different-issuer reissuance.  A same-issuer refresh, which the receipts companion can accept without instance binding, still diverges from a present proof <tt>origin_jti</tt> under this section.</t>
        </section>
      </section>
      <section anchor="hash-algorithm-agility">
        <name>Hash Algorithm Agility</name>
        <t>The <tt>prh</tt> and <tt>prh_alg</tt> agility rules of <xref target="I-D.mcguinness-oauth-actor-receipts"/> apply to proof chains unchanged: one algorithm per chain, whole-chain migration only, no rehashing of inherited artifacts, and rejection of mixed or unsupported algorithms.</t>
      </section>
      <section anchor="downgrade-by-omission">
        <name>Downgrade by Omission</name>
        <t>An issuer fabricating actor participation omits <tt>actor_proofs</tt> rather than forging a proof, so a recipient that accepts delegated tokens without proofs has no protection from this profile against it.</t>
        <t>Accordingly:</t>
        <ul spacing="normal">
          <li>
            <t>Resource servers that rely on actor-signed evidence <bcp14>MUST</bcp14> require proofs, through <tt>actor_proofs_required</tt> (and <tt>actor_proofs_complete_required</tt> where inner hops matter) or equivalent local policy, for the delegated tokens they accept.</t>
          </li>
          <li>
            <t>Recipients <bcp14>SHOULD</bcp14> treat the absence of proofs from an issuer that advertises <tt>actor_proofs_supported: true</tt>, for a resource that requires them, as a signal warranting scrutiny rather than silent acceptance.</t>
          </li>
        </ul>
      </section>
      <section anchor="proof-freshness">
        <name>Proof Freshness and Replay</name>
        <t>Proofs are historical attestations of hop-time consent, carried forward only in tokens that expire no later than they do (<xref target="reissuance-without-a-new-actor-hop"/>); they do not show that the delegation is still active or that the actor would consent today.  Deployments that need freshness signals beyond proof <tt>exp</tt> obtain them via introspection (<xref target="RFC7662"/>), fresh token issuance, or another mechanism outside the scope of this document.</t>
      </section>
      <section anchor="actor-key-compromise">
        <name>Actor Key Compromise</name>
        <t>Remediation for a compromised actor signing key is to remove the key or actor from the recipient's trusted actor-key sources; a short proof <tt>exp</tt> (<xref target="proof-claims"/>) limits how long proofs signed with it remain valid.  When a key compromise is detected, deployments <bcp14>SHOULD</bcp14> treat tokens carrying proofs from the affected actor as lacking trusted actor-signed evidence for those hops and <bcp14>SHOULD</bcp14> require fresh delegation with fresh proofs.</t>
      </section>
      <section anchor="proof-chain-size">
        <name>Proof Chain Size</name>
        <t>Each proof is a signed JWT of typically 400 to 800 bytes, comparable to a receipt, and the chain grows linearly with delegation depth; carrying both companions roughly doubles the per-hop bytes.  Deployments <bcp14>SHOULD</bcp14> verify that the outer token plus its companion arrays fits within the header-size budget of every component on the request path; the receipts companion's size guidance applies, and introspection delivery avoids header pressure for bearer-token clients.</t>
      </section>
      <section anchor="sibling-revocation-independence">
        <name>Sibling Revocation Independence</name>
        <t>A proof does not inherit revocation or trust state from its sibling receipt, or the reverse: removing a receipt issuer from the trusted-issuer set under <xref target="I-D.mcguinness-oauth-actor-receipts"/> leaves proofs for the same hops valid under their own actor keys.  Recipients that require issuer-side revocation semantics for a hop <bcp14>MUST</bcp14> require receipt validation alongside proof validation rather than relying on the proof alone; the sibling references of <xref target="sibling-receipt-issuance"/> identify the receipt whose trust state applies to a hop.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="what-proofs-disclose">
        <name>What Proofs Disclose</name>
        <t>Proofs can expose, to any party that receives the token or introspection response:</t>
        <ul spacing="normal">
          <li>
            <t>cryptographically transferable evidence of each covered actor's participation, retained and provable beyond token lifetime;</t>
          </li>
          <li>
            <t>actor key identifiers (<tt>kid</tt> values and resolved public keys), which are stable correlation handles across proofs, flows, and services;</t>
          </li>
          <li>
            <t>target bindings (<tt>target.aud</tt>, <tt>target.resource</tt>), which can reveal internal audience and resource identifiers a deployment would not otherwise expose to all recipients;</t>
          </li>
          <li>
            <t>the delegation graph of a workflow, tied together by <tt>prh</tt> chain hashes;</t>
          </li>
          <li>
            <t>subject re-expression patterns across namespaces, as with receipts.</t>
          </li>
        </ul>
      </section>
      <section anchor="minimization">
        <name>Minimization</name>
        <t>Deployments <bcp14>SHOULD</bcp14> minimize proof disclosure when actor-signed evidence is not required:</t>
        <ul spacing="normal">
          <li>
            <t>Issuers and introspection servers <bcp14>MAY</bcp14> withhold <tt>actor_proofs</tt> entirely when policy does not permit disclosure; a strict subset of an existing array cannot validate (<xref target="consumer-introspection"/>), so disclosure of an existing chain is all-or-nothing.</t>
          </li>
          <li>
            <t>Actors <bcp14>SHOULD</bcp14> omit <tt>target.resource</tt> when audience-level consent is sufficient, since resource URIs are often the most deployment-revealing values in a proof.</t>
          </li>
          <li>
            <t>Resource servers <bcp14>SHOULD</bcp14> require actor proofs only when they materially improve authorization, audit, or risk controls.</t>
          </li>
          <li>
            <t>Deployments <bcp14>SHOULD</bcp14> prefer per-resource-server policy on proof requirements over blanket inclusion in every token.</t>
          </li>
          <li>
            <t>Deployments <bcp14>SHOULD</bcp14> evaluate actor key lifetimes with correlation in mind: long-lived actor keys make every proof signed under them linkable.</t>
          </li>
        </ul>
      </section>
      <section anchor="selective-disclosure">
        <name>Selective Disclosure</name>
        <t>This profile does not define a per-claim selective-disclosure mechanism for proofs: chain integrity requires byte-for-byte preservation of each proof JWT, so selective omission of individual claims within a proof would break the chain.  Selective disclosure is therefore coarse-grained: issuance-time partial coverage of outermost hops, or whole-array omission.</t>
      </section>
      <section anchor="audience-restriction">
        <name>Audience Restriction</name>
        <t>A proof is carried with the outer token to whichever audiences the outer token serves; proofs have no independent audience scoping (<xref target="proof-claims"/>).  Deployments needing audience-specific disclosure constraints <bcp14>SHOULD</bcp14> partition proof issuance by audience at issuance time rather than relying on proof-level audience restriction, which this profile does not provide.</t>
      </section>
      <section anchor="detached-provability">
        <name>Detached Provability</name>
        <t>Unintended recipients can also verify proofs if they can resolve trusted actor keys.  Deployments <bcp14>SHOULD</bcp14> treat proof-bearing tokens as carrying durable, transferable participation evidence to anywhere the token reaches, and <bcp14>SHOULD</bcp14> scope token distribution and retention accordingly.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>This document requests registration of the following media type in the "Media Types" registry <xref target="RFC6838"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Type name: <tt>application</tt></t>
          </li>
          <li>
            <t>Subtype name: <tt>actor-proof+jwt</tt></t>
          </li>
          <li>
            <t>Required parameters: N/A</t>
          </li>
          <li>
            <t>Optional parameters: N/A</t>
          </li>
          <li>
            <t>Encoding considerations: 8bit; an actor proof is a JWS compact-serialized JWT <xref target="RFC7515"/> <xref target="RFC7519"/> consisting of base64url-encoded segments separated by period (<tt>.</tt>) characters.</t>
          </li>
          <li>
            <t>Security considerations: See <xref target="security-considerations"/> of this document and <xref target="RFC8725"/>.</t>
          </li>
          <li>
            <t>Interoperability considerations: N/A</t>
          </li>
          <li>
            <t>Published specification: This document</t>
          </li>
          <li>
            <t>Applications that use this media type: Applications that create, exchange, or validate OAuth Actor-Signed Hop Proofs.</t>
          </li>
          <li>
            <t>Fragment identifier considerations: N/A</t>
          </li>
          <li>
            <t>Additional information:
            </t>
            <ul spacing="normal">
              <li>
                <t>Deprecated alias names for this type: N/A</t>
              </li>
              <li>
                <t>Magic number(s): N/A</t>
              </li>
              <li>
                <t>File extension(s): N/A</t>
              </li>
              <li>
                <t>Macintosh file type code(s): N/A</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: Karl McGuinness, public@karlmcguinness.com</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: None</t>
          </li>
          <li>
            <t>Author: Karl McGuinness, public@karlmcguinness.com</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
        </ul>
        <t>The JOSE <tt>typ</tt> value <tt>actor-proof+jwt</tt> used by this document is the media type subtype name without the <tt>application/</tt> prefix, following common JWT typing practice.</t>
      </section>
      <section anchor="json-web-token-claims-registration">
        <name>JSON Web Token Claims Registration</name>
        <t>This document requests registration of the following JWT Claims in the "JSON Web Token Claims" registry <xref target="RFC7519"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>actor_proofs</tt></t>
          </li>
          <li>
            <t>Claim Description: Array of actor-signed hop proofs providing delegation participation evidence</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
          <li>
            <t>Claim Name: <tt>actor_proofs_complete</tt></t>
          </li>
          <li>
            <t>Claim Description: Boolean indicating whether actor_proofs covers every visible hop in the token's act chain</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
          <li>
            <t>Claim Name: <tt>target</tt></t>
          </li>
          <li>
            <t>Claim Description: Target binding (audience and resource constraints) authorized by the signer of an Actor Proof JWT</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
          <li>
            <t>Claim Name: <tt>receipt_jti</tt></t>
          </li>
          <li>
            <t>Claim Description: jti of the sibling Actor Receipt JWT created for the same delegation hop as an Actor Proof JWT</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
          <li>
            <t>Claim Name: <tt>proof_jti</tt></t>
          </li>
          <li>
            <t>Claim Description: jti of the sibling Actor Proof JWT validated for the same delegation hop as an Actor Receipt JWT</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
        </ul>
        <t>This document reuses the <tt>prh</tt>, <tt>prh_alg</tt>, <tt>origin_jti</tt>, and <tt>sub_iss</tt> claims registered by <xref target="I-D.mcguinness-oauth-actor-receipts"/>, with the semantics defined there, applied to Actor Proof JWTs as profiled in this document.  This document requests that IANA add this document to the Specification Document(s) entries for those four registrations, and requests that their Claim Description entries be updated to cover both artifact types:</t>
        <ul spacing="normal">
          <li>
            <t><tt>prh</tt>: Base64url-encoded hash of the immediately preceding (older) entry in a chained array of delegation-evidence JWTs (Actor Receipts, Actor Proofs, or companion event artifacts)</t>
          </li>
          <li>
            <t><tt>prh_alg</tt>: Hash algorithm identifier (from the IANA Named Information Hash Algorithm Registry) naming the algorithm used to compute prh in a delegation-evidence JWT</t>
          </li>
          <li>
            <t><tt>origin_jti</tt>: The jti of the outer token associated with the hop at which an Actor Receipt or Actor Proof JWT was created</t>
          </li>
          <li>
            <t><tt>sub_iss</tt>: Issuer or namespace authority for the subject in an Actor Receipt or Actor Proof JWT</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-parameters-registration">
        <name>OAuth Parameters Registration</name>
        <t>This document requests registration of the following parameter in the "OAuth Parameters" registry established by <xref target="RFC6749"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Parameter name: <tt>actor_proof</tt></t>
          </li>
          <li>
            <t>Parameter usage location: token request</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-authorization-server-metadata-registration">
        <name>OAuth Authorization Server Metadata Registration</name>
        <t>This document requests registration of the following metadata name in the "OAuth Authorization Server Metadata" registry <xref target="RFC8414"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>actor_proofs_supported</tt></t>
          </li>
          <li>
            <t>Metadata Description: Indicates support for accepting, validating, embedding, preserving, and extending actor-signed hop proofs</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-protected-resource-metadata-registration">
        <name>OAuth Protected Resource Metadata Registration</name>
        <t>This document requests registration of the following metadata names in the "OAuth Protected Resource Metadata" registry <xref target="RFC9728"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>actor_proofs_required</tt></t>
          </li>
          <li>
            <t>Metadata Description: Indicates that the resource expects delegated requests to carry valid actor proofs covering at minimum the outermost visible actor hop</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
          <li>
            <t>Metadata Name: <tt>actor_proofs_complete_required</tt></t>
          </li>
          <li>
            <t>Metadata Description: Indicates that the resource requires complete proof coverage for all visible actor hops</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-token-introspection-response-registration">
        <name>OAuth Token Introspection Response Registration</name>
        <t>This document requests registration of the following names in the "OAuth Token Introspection Response" registry <xref target="RFC7662"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Name: <tt>actor_proofs</tt></t>
          </li>
          <li>
            <t>Description: Array of actor-signed hop proofs returned by introspection</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
          <li>
            <t>Name: <tt>actor_proofs_complete</tt></t>
          </li>
          <li>
            <t>Description: Indicates whether the returned actor proofs provide complete visible-hop coverage</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): This document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document builds on the OAuth Actor Profile for Delegation <xref target="I-D.mcguinness-oauth-actor-profile"/>, on the OAuth Actor Receipts companion <xref target="I-D.mcguinness-oauth-actor-receipts"/>, on the OAuth 2.0 Token Exchange specification <xref target="RFC8693"/>, on the OAuth 2.0 Transaction Tokens work <xref target="I-D.ietf-oauth-transaction-tokens"/>, and on prior OAuth Working Group discussion of delegation transparency, sender-constrained tokens, and proof-of-possession mechanisms (<xref target="RFC7800"/>, <xref target="RFC8705"/>, <xref target="RFC9449"/>).  Related actor-evidence efforts and their relationship to this document are discussed in <xref target="related-work"/>.</t>
      <t>Contributors and reviewers will be acknowledged in future revisions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
          <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="RFC6749" target="https://www.rfc-editor.org/info/rfc6749" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC6750" target="https://www.rfc-editor.org/info/rfc6750" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6750.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="RFC6838" target="https://www.rfc-editor.org/info/rfc6838" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6838.xml">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC7515" target="https://www.rfc-editor.org/info/rfc7515" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7515.xml">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7519.xml">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC7523" target="https://www.rfc-editor.org/info/rfc7523" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7523.xml">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7523"/>
          <seriesInfo name="DOI" value="10.17487/RFC7523"/>
        </reference>
        <reference anchor="RFC7662" target="https://www.rfc-editor.org/info/rfc7662" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7662.xml">
          <front>
            <title>OAuth 2.0 Token Introspection</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7662"/>
          <seriesInfo name="DOI" value="10.17487/RFC7662"/>
        </reference>
        <reference anchor="RFC7800" target="https://www.rfc-editor.org/info/rfc7800" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7800.xml">
          <front>
            <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7800"/>
          <seriesInfo name="DOI" value="10.17487/RFC7800"/>
        </reference>
        <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8414" target="https://www.rfc-editor.org/info/rfc8414" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8414.xml">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC8693" target="https://www.rfc-editor.org/info/rfc8693" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8693.xml">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="RFC8705" target="https://www.rfc-editor.org/info/rfc8705" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8705.xml">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC8707" target="https://www.rfc-editor.org/info/rfc8707" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8707.xml">
          <front>
            <title>Resource Indicators for OAuth 2.0</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document specifies an extension to the OAuth 2.0 Authorization Framework defining request parameters that enable a client to explicitly signal to an authorization server about the identity of the protected resource(s) to which it is requesting access.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8707"/>
          <seriesInfo name="DOI" value="10.17487/RFC8707"/>
        </reference>
        <reference anchor="RFC8725" target="https://www.rfc-editor.org/info/rfc8725" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8725.xml">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </reference>
        <reference anchor="RFC9449" target="https://www.rfc-editor.org/info/rfc9449" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9449.xml">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="RFC9728" target="https://www.rfc-editor.org/info/rfc9728" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9728.xml">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-transaction-tokens-11" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-oauth-transaction-tokens.xml">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>CrowdStrike</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date day="30" month="July" year="2026"/>
            <abstract>
              <t>Transaction Tokens (Txn-Tokens) are designed to maintain and propagate user identity, workload identity and authorization context throughout the Call Chain within a trusted domain during the processing of external requests (e.g. such as API calls) or requests initiated internally within the Trust Domain. Txn-Tokens ensure that this context is preserved throughout the Call Chain thereby enhancing security and consistency in complex, multi-service architectures.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
        </reference>
        <reference anchor="I-D.mcguinness-oauth-actor-profile" target="https://datatracker.ietf.org/doc/html/draft-mcguinness-oauth-actor-profile-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.mcguinness-oauth-actor-profile.xml">
          <front>
            <title>OAuth Actor Profile for Delegation</title>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <date day="30" month="April" year="2026"/>
            <abstract>
              <t>OAuth deployments increasingly involve agents and workloads acting on behalf of human users across organizational boundaries. Existing specifications provide relevant building blocks (notably the act claim from RFC 8693 Token Exchange) but do not define a consistent profile for representing delegated actor relationships across JWT assertion grants (RFC 7523), JWT access tokens (RFC 9068), and Transaction Tokens, nor for classifying actor entity types or signaling support between authorization servers and resource servers. The result is inconsistent actor representation and actor- representation interoperability gaps that force deployments to rely on proprietary conventions. This document defines the OAuth Actor Profile for Delegation. It specifies a common act claim structure extended with sub_profile for entity-type classification, processing rules for authorization servers and resource servers across the three token families and their Token Exchange inputs, and OAuth discovery metadata parameters for advertising actor-profile support. The profile applies uniformly across token types and integrates with existing sender-constraint mechanisms (DPoP, mTLS). It does not standardize the policies by which systems determine whether a given actor is permitted to act for a subject; those decisions remain deployment-specific.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-actor-profile-00"/>
        </reference>
        <reference anchor="I-D.mcguinness-oauth-actor-receipts" target="https://datatracker.ietf.org/doc/html/draft-mcguinness-oauth-actor-receipts-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.mcguinness-oauth-actor-receipts.xml">
          <front>
            <title>OAuth Actor Receipts for Delegation Provenance</title>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <date day="4" month="July" year="2026"/>
            <abstract>
              <t>This document defines OAuth Actor Receipts, an optional companion provenance profile for delegated OAuth tokens that conform to the OAuth Actor Profile for Delegation. It introduces the actor_receipts claim, a signed per-hop receipt chain that records which issuer added each visible actor hop, optionally preserves the historical top-level cnf value associated with that hop subject to deployment disclosure policy, and links receipts together so recipients can validate prior- hop provenance without relying solely on the current outer token issuer. This document also defines metadata and introspection parameters for advertising and consuming actor-receipt support.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-actor-receipts-00"/>
        </reference>
        <reference anchor="I-D.mora-oauth-entity-profiles" target="https://www.ietf.org/archive/id/draft-mora-oauth-entity-profiles-01.txt">
          <front>
            <title>OAuth Entity Profiles</title>
            <author fullname="Sreyantha Chary Mora">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Pamela Dingle">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Karl McGuinness">
              <organization>Independent</organization>
            </author>
            <date year="2026" month="April" day="17"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mora-oauth-entity-profiles-01"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9700" target="https://www.rfc-editor.org/info/rfc9700" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9700.xml">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
        <reference anchor="I-D.mw-oauth-actor-chain" target="https://datatracker.ietf.org/doc/html/draft-mw-oauth-actor-chain-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.mw-oauth-actor-chain.xml">
          <front>
            <title>Cryptographically Verifiable Actor Chains for OAuth 2.0 Token Exchange</title>
            <author fullname="A Prasad" initials="A." surname="Prasad">
              <organization>Oracle</organization>
            </author>
            <author fullname="Ramki Krishnan" initials="R." surname="Krishnan"/>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Srinivasa Addepalli" initials="S." surname="Addepalli">
              <organization>Aryaka</organization>
            </author>
            <date day="15" month="June" year="2026"/>
            <abstract>
              <t>Multi-hop service-to-service and agentic workflows often exchange OAuth access tokens across a sequence of actors. OAuth 2.0 Token Exchange permits an act claim, including nested prior actors, but it does not define interoperable rules for preserving, extending, disclosing, and validating a delegation path across successive exchanges. This document defines six actor-chain profiles for OAuth 2.0 Token Exchange: Declared Full Disclosure, Declared Subset Disclosure, Declared Actor-Only Disclosure, Verified Full Disclosure, Verified Subset Disclosure, and Verified Actor-Only Disclosure. The profiles preserve the existing meanings of sub, act, and may_act. They add explicit profile selection, a stable workflow actor-chain identifier, profile-controlled actor disclosure, and, for verified profiles, actor-signed step proofs with cumulative commitment state.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mw-oauth-actor-chain-01"/>
        </reference>
        <reference anchor="I-D.liu-oauth-chain-delegation" target="https://datatracker.ietf.org/doc/html/draft-liu-oauth-chain-delegation-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.liu-oauth-chain-delegation.xml">
          <front>
            <title>Delegation Chain for OAuth 2.0</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>
            <date day="7" month="June" year="2026"/>
            <abstract>
              <t>RFC 8693 defines the act claim for expressing delegation semantics in JWTs, including nested multi-hop actor identification. However, act captures only the identity of each actor in the chain, not the authorization constraints applied at each hop, and is constructed unilaterally by the Authorization Server without cryptographic confirmation from the delegating agent. This specification defines the delegation_chain JWT claim as a structured delegation record companion to act: an ordered array of delegation records, each capturing the Authorization Server's attestation and, when present, the delegated policy constraints, and optionally carrying the delegator's cryptographic confirmation. Together, act and delegation_chain provide both runtime authorization and verifiable delegation lineage for multi-hop agent delegation. The specification supports cross-domain delegation by composing with the identity chaining transport pattern, and integrates a user interaction mechanism for explicit consent when required by policy or regulation.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-oauth-chain-delegation-00"/>
        </reference>
        <reference anchor="I-D.jiang-oauth-intent-admission" target="https://datatracker.ietf.org/doc/html/draft-jiang-oauth-intent-admission-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.jiang-oauth-intent-admission.xml">
          <front>
            <title>Intent Admission Assertions for Agentic Systems</title>
            <author fullname="Yuning Jiang" initials="Y." surname="Jiang">
              <organization>Huawei</organization>
            </author>
            <author fullname="LUN LI" initials="L." surname="Lun">
              <organization>Huawei</organization>
            </author>
            <author fullname="Yurong Song" initials="Y." surname="Song">
              <organization>Huawei</organization>
            </author>
            <author fullname="Faye Liu" initials="F." surname="Liu">
              <organization>Huawei</organization>
            </author>
            <date day="23" month="June" year="2026"/>
            <abstract>
              <t>In agentic systems, an intent expressed by a user, application, or agent may be forwarded to a remote system that triggers high-impact actions. If the originator of an intent is not authenticated, is not authorized to request the targeted action, or has not obtained the required consent, the receiving system may act on a forged or unauthorized intent. This document defines the Intent Admission Assertion (IAA): a signed, verifiable artifact by which an admission point authenticates an intent originator, authorizes the request against a permission policy, gates consent-required actions on explicit consent from the user or resource owner, and conveys the result to a downstream execution endpoint that re-verifies it before acting. The IAA is a JSON Web Token whose admission decision is expressed using Rich Authorization Requests (RFC 9396).</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-jiang-oauth-intent-admission-00"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-attestation-based-client-auth" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-attestation-based-client-auth-11" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-oauth-attestation-based-client-auth.xml">
          <front>
            <title>OAuth 2.0 Attestation-Based Client Authentication</title>
            <author fullname="Tobias Looker" initials="T." surname="Looker">
              <organization>MATTR</organization>
            </author>
            <author fullname="Paul Bastian" initials="P." surname="Bastian">
              <organization>Bundesdruckerei</organization>
            </author>
            <author fullname="Christian Bormann" initials="C." surname="Bormann">
              <organization>SPRIND</organization>
            </author>
            <date day="3" month="September" year="2026"/>
            <abstract>
              <t>This specification defines an extension to the OAuth 2.0 protocol (RFC 6749) that enables a client instance to include a key-bound attestation when interacting with an Authorization Server or Resource Server. This mechanism allows a client instance to prove its authenticity verified by a client attester without revealing its target audience to that attester. It may also serve as a mechanism for client authentication as per OAuth 2.0.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-attestation-based-client-auth-11"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-spiffe-client-auth" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-spiffe-client-auth-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-oauth-spiffe-client-auth.xml">
          <front>
            <title>OAuth SPIFFE Client Authentication</title>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Scott Rose" initials="S." surname="Rose">
              <organization>NIST</organization>
            </author>
            <author fullname="Stian Thorgersen" initials="S." surname="Thorgersen">
              <organization>IBM</organization>
            </author>
            <author fullname="Nancy Cam-Winget" initials="N." surname="Cam-Winget">
              <organization>Cisco Systems</organization>
            </author>
            <date day="15" month="June" year="2026"/>
            <abstract>
              <t>This specification profiles the Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants [RFC7521], the JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants [RFC7523], and OAuth 2.0 Attestation-Based Client Authentication [I-D.draft-ietf-oauth-attestation-based-client-auth] to enable the use of SPIFFE Verifiable Identity Documents (SVIDs) as client credentials in OAuth 2.0. It defines how OAuth clients with SPIFFE credentials can authenticate to OAuth authorization servers using their JWT-SVIDs, WIT-SVIDs, or X.509-SVIDs without the need for client secrets. This approach enhances security by enabling seamless integration between SPIFFE-enabled workloads and OAuth authorization servers while eliminating the need to distribute and manage shared secrets such as static client secrets.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-spiffe-client-auth-02"/>
        </reference>
      </references>
    </references>
    <?line 850?>

<section anchor="examples">
      <name>Examples</name>
      <t>The examples in this appendix show decoded proof contents.  The <tt>iat</tt> and <tt>exp</tt> values are illustrative; proof <tt>exp</tt> is set so that no inbound proof expires before the outer token that carries it (<xref target="extending-an-existing-proof-chain"/>).  The delegation scenario continues the two-hop travel example of <xref target="I-D.mcguinness-oauth-actor-receipts"/>: the subject alice delegates to an AI travel-assistant agent through the enterprise AS, and the agent's token is exchanged at the travel-provider AS, which adds a booking tool as the new outermost actor.</t>
      <section anchor="example-two-hop-delegation-chain-with-sibling-receipts">
        <name>Example: Two-Hop Delegation Chain with Sibling Receipts</name>
        <t>The following example shows an outer token that carries both companions:</t>
        <sourcecode type="json"><![CDATA[
{
  "jti": "e8f4a2d6-3b1c-4d7e-9f5a-0c2b4d6e8f0a",
  "iss": "https://as.travel-provider.example",
  "aud": "https://api.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service",
    "act": {
      "sub": "https://agents.enterprise.example/travel-assistant",
      "iss": "https://as.enterprise.example",
      "sub_profile": "ai_agent"
    }
  },
  "cnf": {
    "jkt": "ToolJKT"
  },
  "actor_receipts": [
    "<receipt-0>",
    "<receipt-1>"
  ],
  "actor_receipts_complete": true,
  "actor_proofs": [
    "<proof-0>",
    "<proof-1>"
  ],
  "actor_proofs_complete": true
}
]]></sourcecode>
        <t>The booking tool signed <tt>actor_proofs[0]</tt> when it requested the exchange at the travel-provider AS, before that AS issued the outer token:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://tools.travel-provider.example/booking-tool",
  "sub": "https://idp.enterprise.example/users/alice",
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service"
  },
  "target": {
    "aud": ["https://api.travel-provider.example"]
  },
  "prh": "Xm3VqLr8pTzKNdY5W2uEbc4gHf7jAsQ9R6vBnC1oD0k",
  "iat": 1776745180,
  "exp": 1776832000,
  "jti": "5f2e8d91-4a6b-4c3d-8e2f-1a9b8c7d6e5f"
}
]]></sourcecode>
        <t>The AI agent signed <tt>actor_proofs[1]</tt> earlier, when the enterprise AS added it as the first actor hop:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://agents.enterprise.example/travel-assistant",
  "sub": "https://idp.enterprise.example/users/alice",
  "sub_iss": "https://idp.enterprise.example",
  "act": {
    "sub": "https://agents.enterprise.example/travel-assistant",
    "iss": "https://as.enterprise.example",
    "sub_profile": "ai_agent"
  },
  "target": {
    "aud": ["https://as.travel-provider.example"]
  },
  "iat": 1776741580,
  "exp": 1776832000,
  "jti": "7a1c9e42-3b5d-4f6a-9c8e-2d4f6a8b0c1e"
}
]]></sourcecode>
        <t>The sibling receipts follow the same construction as the examples of <xref target="I-D.mcguinness-oauth-actor-receipts"/>, with the <tt>proof_jti</tt> claim defined in <xref target="sibling-receipt-issuance"/> included at receipt creation.  Because they carry <tt>proof_jti</tt>, these receipts have their own <tt>jti</tt> values, and the newest receipt's <tt>prh</tt> hashes a different older receipt.  The newest receipt, signed by the travel-provider AS, carries:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service"
  },
  "cnf": {
    "jkt": "ToolJKT"
  },
  "proof_jti": "5f2e8d91-4a6b-4c3d-8e2f-1a9b8c7d6e5f",
  "prh": "K9mPvXq2LwTnR7dYcE5uHb8jZa4gFs6iOk1rC3xW0eA",
  "iat": 1776745200,
  "exp": 1776832000,
  "jti": "b7d1f3a5-8c2e-4a6b-9d0f-1e3a5c7b9d1f",
  "origin_jti": "e8f4a2d6-3b1c-4d7e-9f5a-0c2b4d6e8f0a"
}
]]></sourcecode>
        <t>The example verifies as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The current audience is within <tt>actor_proofs[0].target.aud</tt>.</t>
          </li>
          <li>
            <t>The older proof's target records consent for its own hop and is not compared with the current audience.</t>
          </li>
          <li>
            <t>Receipt <tt>proof_jti</tt> values link the two chains, and the newest receipt's <tt>origin_jti</tt> anchors the current token instance.</t>
          </li>
        </ul>
        <t>The recipient verifies each proof against a pre-established key registered for its actor (<xref target="actor-key-resolution"/>).  Receipt binding does not prevent a compromised issuer from signing a replacement receipt.</t>
      </section>
      <section anchor="example-proofs-only-partial-coverage">
        <name>Example: Proofs-Only Partial Coverage</name>
        <t>In this example, the enterprise AS has not yet deployed proof support, so no proof exists for the AI-agent hop, and the travel-provider AS accepts a proof from the booking tool when it adds the tool as the new outermost actor.  The resulting access token carries a one-element proof chain and no receipts:</t>
        <sourcecode type="json"><![CDATA[
{
  "jti": "a4c8e2f6-1b3d-4e5f-9a7c-8d6e4f2a0b1c",
  "iss": "https://as.travel-provider.example",
  "aud": "https://api.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service",
    "act": {
      "sub": "https://agents.enterprise.example/travel-assistant",
      "iss": "https://as.enterprise.example",
      "sub_profile": "ai_agent"
    }
  },
  "cnf": {
    "jkt": "ToolJKT"
  },
  "actor_proofs": [
    "<proof-0>"
  ],
  "actor_proofs_complete": false
}
]]></sourcecode>
        <t>The single proof covers the outermost hop:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://tools.travel-provider.example/booking-tool",
  "sub": "https://idp.enterprise.example/users/alice",
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service"
  },
  "target": {
    "aud": ["https://api.travel-provider.example"],
    "resource": ["https://api.travel-provider.example/bookings"]
  },
  "iat": 1776745180,
  "exp": 1776832000,
  "jti": "9c3b7f15-6d2e-4a8b-b1f4-e5a7c9d1b3f6"
}
]]></sourcecode>
        <t>The <tt>prh</tt> claim is omitted because this is a single-element chain.  <tt>actor_proofs_complete: false</tt> signals that the inner AI-agent hop carries no actor-signed evidence.  Resource servers that set <tt>actor_proofs_complete_required: true</tt> reject this token; others validate the booking tool's signed participation and its consent to the token's audience, and treat the agent hop as carried solely by the visible <tt>act</tt> chain.  The token carries no resource claim, so a recipient that cannot determine its effective resources from other context does not infer consent to <tt>target.resource</tt> (step 9 of <xref target="consumer-processing"/>).  Because no receipts are present, the proof chain carries no outer-token instance binding; per <xref target="proof-to-token-binding-limits"/>, a recipient requiring instance binding would require the receipts companion or a provisioned <tt>origin_jti</tt>.</t>
      </section>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]</t>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Restructured and tightened the text: each rule has one home, dependencies are cited rather than restated, scope and related work are in the Introduction, and Security Considerations point to the rules they rely on.</t>
        </li>
        <li>
          <t>Defined one lifetime rule for extension, reissuance, and refresh, and made an expired older proof invalid; retained proofs are validated against the issuer's state on refresh.</t>
        </li>
        <li>
          <t>Clarified instance binding: a new <tt>jti</tt> diverges from a provisioned <tt>origin_jti</tt>, trusted-reissuer designation excuses only that divergence unless retargeting is permitted, and the binding options are described by the trust each relies on; an outer token without <tt>jti</tt> leaves <tt>origin_jti</tt> historical, and the shared reissuance-trust decision covers different-issuer reissuance.</t>
        </li>
        <li>
          <t>Tightened target binding: resource indicators match by simple string comparison, <tt>target.resource</tt> supplies the effective resources when a request names none, consent is audience-only when the token's resources are unknown, Token Exchange targets are not narrowed, and the issuer checks <tt>origin_jti</tt> and <tt>receipt_jti</tt>.</t>
        </li>
        <li>
          <t>Added guidance for proofs that need to survive assertion-grant redemption.</t>
        </li>
        <li>
          <t>An issuer adding a hop without a valid new proof drops the inbound proofs, an issuer that accepts a valid <tt>actor_proof</tt> adds the hop and lowers the token's <tt>exp</tt> to the proof's when needed, a request that adds no hop but carries <tt>actor_proof</tt> is rejected, and a reissuer validates proofs before carrying them forward.</t>
        </li>
        <li>
          <t>A failed proof check removes only actor-signed evidence unless policy or metadata requires proofs.  Authorization based on proofs rests on the validated <tt>actor_proofs</tt> claim, with or without receipts, and nested <tt>act</tt> stays informational, per <xref section="4.1" sectionFormat="of" target="RFC8693"/>.</t>
        </li>
        <li>
          <t>Prohibited <tt>aud</tt> in proofs.</t>
        </li>
        <li>
          <t>Removed receipt-attested presenter keys as an actor-key source, and rejected a chain with any untrusted signing key.</t>
        </li>
        <li>
          <t>Aligned error codes with <xref target="RFC8693"/> and <xref target="RFC7523"/>, and required <tt>actor_unauthorized</tt> for actor-authorization failures.</t>
        </li>
        <li>
          <t>Clarified completeness and introspection: <tt>actor_proofs_complete</tt> after extension depends on the proof count, an introspection <tt>false</tt> makes no completeness attestation, and filtering a covered actor omits the proofs.</t>
        </li>
        <li>
          <t>Compared <tt>sub_profile</tt> values as sets with a matching issuer check, and had deployment configuration supply the <tt>act.iss</tt> the actor signs.</t>
        </li>
        <li>
          <t>Allowed a TTS to include <tt>jti</tt>, carried <tt>actor_proof</tt> in Transaction Token requests, and deferred Transaction Token rejection at the resource server to the deployment.</t>
        </li>
        <li>
          <t>Checked <tt>alg</tt> and <tt>typ</tt> before key resolution, and placed resource-server actor authorization after proof processing.</t>
        </li>
        <li>
          <t>Removed BCP 14 keywords from guidance no other party can observe, named the IETF as change controller, and aligned the examples with the base profile.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2963bbVrYm+l9PgbbHOLFySMVyfJV2796K7VScxLHbcipd
p0aNEkiAEmIS4AZAySqP7GfpZ+knO/O+5loAKTmd6h89dv2oyCSBdZtr3uc3
p9PpXl/1y/Iou/PmZNNfZCfzvmmnp9V5XRbZd806e9s2zaK7s5fPZm15Gf/O
vpznfXnetNdHWdcXe0Uzr/MVvLNo80U/Xc3PN1Vdl103bXJ4dprTGGt6dnr/
cK/bzFZV11VN3V+v4bFXL99/u1dvVrOyPdqr1i0M2rebrn9w//6z+w9gKm2Z
w2en5XzTVv31nb2rpv1w3jabNXz6SznLcIZNW/0j7+GdOMm+mTfLO3sfymv4
aXG0l00zmgr+UZTL8px+if+iueEfdVNP23K9KSr7jma8d1nWmxJekd1mxCzj
Jd35BaZY1efZn/Ah/HyVV0v4nKbxb1XZLw6a9hy/yNv5BXxx0ffr7uirr/B3
+FF1WR7oz77CD76atc1VV35Fb/gKnzyv+ovNDJ4NO/7VTUewqJYlPruEE+x6
P649csDvPaiaW73txh/BqR9c9CvYnb2ctg3PA6aQZYvNcsmU80PeLrPX8z/J
K+hbWHheyxYDkdRFuS7h/+qevi15Q9eb2bKa/9sHeN6tYN6s9vbqpl3Bw5d0
eO++ff71s6eP5c/HTx4+sz8f3dc/n379VP588ujwUfjzmf354Gv98/HjB/rn
0/v6hqcPHulvnz48fKh/Pn6mjz19cv9R+POJ/flAP3320Gb27MkDms6r6Qui
BNnXvs3rDjYXdmXaNx/KutMf7T6nG37VlvOyWvfwMv1d0+byC9hzuHf6IhoP
CD3iIy/pJ3gT6Cd36Cd23Pg/PvL42E/b8jqv+4s8e36Rt9fZaxjTfhaf/+tq
3jZds+i3v+0t/P8yz17AvVuWv/81Y7R4Mz0WcKGOsgf3Hzye3n84PXxCH3Zl
W5VdVS8a2QR4rC/buuynL/DWGMvcutfIL2m38/a8hN/rdb26uorZA9D5V1Xx
1S3ed9B/7PdwTvH1ePaEyZjO/iqijflFXtX63bLayJf08TTwU/3Fr1Ven8tv
Klhv3U/zQjj+CEHnPbIiesN0lndlMZ0vK3oIvh35fbeuFosy/tHewcHB3t50
Cgx91sENmfd7e+8vqi4D2bRZwe+A7S8qOM5sp9ibZHmdNWucSr7MgIus4cSB
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

-->

</rfc>
