<?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-mission-resource-access-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="OAuth Mission Resource Access">Mission Resource Access Profile for OAuth 2.0</title>
    <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-mission-resource-access-00"/>
    <author fullname="Karl McGuinness">
      <organization>Independent</organization>
      <address>
        <email>public@karlmcguinness.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="22"/>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>mission</keyword>
    <keyword>agent</keyword>
    <keyword>authorization</keyword>
    <keyword>rar</keyword>
    <abstract>
      <?line 115?>

<t>This document defines <tt>mission_resource_access</tt>, a general-purpose OAuth
2.0 Rich Authorization Requests (RAR) <tt>authorization_details</tt> type for
Mission-Bound Authorization for OAuth 2.0 (the "issuance profile"). An
entry names one resource, matched exactly or by path prefix; the actions
permitted there, including wildcard action families; machine-actionable
constraints, including a registered Common Constraints vocabulary; and a
per-entry delegation policy.</t>
      <t>The document also defines how two entries compare and narrow, how a
resource server enforces an entry, when an entry can be projected to
OAuth <tt>scope</tt>, and how an authorization server declares its support for
these semantics. The issuance profile is type-agnostic: a deployment can
support this type, another <tt>authorization_details</tt> type, or both.</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/mission-bound-authorization/draft-mcguinness-oauth-mission-resource-access.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mcguinness-oauth-mission-resource-access/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mcguinness/mission-bound-authorization"/>.</t>
    </note>
  </front>
  <middle>
    <?line 131?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The issuance profile <xref target="I-D.draft-mcguinness-oauth-mission"/> commits a
Mission's Authority Set as one or more <xref target="RFC9396"/>
        <tt>authorization_details</tt> entries, of any type the authorization server
supports. It derives, commits, and gates entries of every type the same
way, and leaves each type's comparison and transformation semantics to
the specification that defines the type, since an entry's <tt>type</tt>
determines its allowable contents (<xref section="2" sectionFormat="of" target="RFC9396"/>).</t>
      <t>This document is that specification for one type,
<tt>mission_resource_access</tt>. It defines:</t>
      <ul spacing="normal">
        <li>
          <t>the entry (<xref target="resource-access-type"/>) and how its <tt>resource</tt> is matched
(<xref target="resource-matching"/>);</t>
        </li>
        <li>
          <t>the subset rule that compares two entries (<xref target="subset"/>), and the Common
Constraints with their subset and intersection rules
(<xref target="common-constraints"/>);</t>
        </li>
        <li>
          <t>resource server enforcement (<xref target="rs-enforcement"/>) and delegate
eligibility (<xref target="delegate-eligibility"/>);</t>
        </li>
        <li>
          <t>the resource contract reference an entry can commit at approval, and
its exact preservation (<xref target="resource-contract"/>); and</t>
        </li>
        <li>
          <t>when an entry meets the issuance profile's scope-projection condition
(<xref target="scope-projection"/>), and the type's declaration under that
profile's transformation-capability map
(<xref target="transformation-capabilities"/>).</t>
        </li>
      </ul>
      <t>This document defines one <tt>authorization_details</tt> type a deployment of
the issuance profile <xref target="I-D.draft-mcguinness-oauth-mission"/> <bcp14>MAY</bcp14> support;
the issuance profile is complete, and type-agnostic, without it. The
type is general-purpose: an authorization server with no need for a
narrower, audience-specific type can use it directly, as the issuance
profile's worked examples do.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions and Terminology</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>All JSON in this document is non-normative; the member definitions in
the text are authoritative.</t>
      <t>Mission, Authority Set, Subject, Approver, and other terms are used as
defined in <xref target="I-D.draft-mcguinness-oauth-mission"/>.</t>
      <t>A "consumer" of an entry is the party evaluating it: the authorization
server when it validates, compares, or narrows the entry, and the
resource server when it enforces it.</t>
    </section>
    <section anchor="resource-access-type">
      <name>The Mission Resource Access Type</name>
      <t><tt>mission_resource_access</tt> is a general-purpose, cross-resource
<tt>authorization_details</tt> type (<xref section="2" sectionFormat="of" target="RFC9396"/>). An entry has
these members:</t>
      <dl>
        <dt><tt>type</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. A string. <tt>mission_resource_access</tt>.</t>
        </dd>
        <dt><tt>resource</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. A string. The resource the entry applies to: an absolute URI
compared with the target of an operation (<xref target="resource-matching"/>).
</t>
          <ul spacing="normal">
            <li>
              <t>A per-entry <tt>resource</tt>, which <xref target="RFC9396"/> permits, lets one token
scope distinct authority to distinct resources; a Mission-bound
token's <tt>aud</tt>, derived from the entries' <tt>resource</tt> values, is
typically coarser (<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
            </li>
            <li>
              <t>The <tt>resource</tt> authorization request parameter does not affect how
the authorization server processes <tt>authorization_details</tt>
(<xref section="3.2" sectionFormat="of" target="RFC9396"/>).</t>
            </li>
          </ul>
        </dd>
        <dt><tt>resource_match</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. A string: <tt>exact</tt> (the default when the member is absent) or
<tt>prefix</tt>.
</t>
          <ul spacing="normal">
            <li>
              <t>Under <tt>exact</tt>, the entry applies to an operation target equal to
<tt>resource</tt>.</t>
            </li>
            <li>
              <t>Under <tt>prefix</tt>, the entry applies to the <tt>resource</tt> itself and to
targets beneath it at a path-segment boundary. <xref target="entry-validation"/>
limits the <tt>resource</tt> value a <tt>prefix</tt> entry may carry.</t>
            </li>
            <li>
              <t><xref target="resource-matching"/> defines the operation target and both
comparisons; <xref target="subset"/> defines containment between effective
resource sets.</t>
            </li>
            <li>
              <t>These two values are the only ones defined; a consumer <bcp14>MUST</bcp14> treat an
entry whose <tt>resource_match</tt> value it does not recognize as
unenforceable and fail closed
(<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
            </li>
          </ul>
        </dd>
        <dt><tt>actions</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. An array of strings. Each value is an action identifier
whose whole value matches <tt>[A-Za-z0-9_.:-]+</tt>, or an action family: an
identifier followed by <tt>.*</tt>. A family authorizes every action whose
dot-separated identifier extends the family name at a segment
boundary: <tt>invoices.*</tt> authorizes <tt>invoices.read</tt> and
<tt>invoices.q3.export</tt>, not <tt>invoicesx.read</tt>.
</t>
          <ul spacing="normal">
            <li>
              <t>Like an OAuth scope, an action value carries meaning only at the
<tt>resource</tt> that defines it: a consumer enforces only the actions it
recognizes for that resource, and an unrecognized action grants
nothing.</t>
            </li>
            <li>
              <t>An authorization server <bcp14>SHOULD</bcp14> draw action identifiers from a
namespace the serving resource documents, so the set is
interpretable across vendors.</t>
            </li>
            <li>
              <t>The authorization server <bcp14>MUST</bcp14> ensure that a consent rendering
presents a family as every action under its name, not as one
action.</t>
            </li>
            <li>
              <t>An authorization server <bcp14>SHOULD</bcp14> treat deriving a family as high-risk
breadth.</t>
            </li>
            <li>
              <t>A resource that documents an action family <bcp14>SHOULD</bcp14> treat the family's
membership as part of its authorization contract, and <bcp14>SHOULD</bcp14> place
an action that confers materially different authority under a new
family or namespace version rather than under an existing family
(<xref target="action-family-growth"/>).</t>
            </li>
          </ul>
        </dd>
        <dt><tt>constraints</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. An object. Machine-actionable per-resource bounds (for
example, <tt>max_amount</tt>). A member name defined as a Common Constraint
(<xref target="common-constraints"/>) has shared semantics across deployments; any
other name is deployment-defined.
</t>
          <ul spacing="normal">
            <li>
              <t>Because a <tt>constraints</tt> member narrows authority, <xref target="rs-enforcement"/>
requires a resource server that cannot enforce one to fail closed.</t>
            </li>
            <li>
              <t>To avoid that failure mode, the authorization server <bcp14>SHOULD</bcp14> emit for
a given <tt>resource</tt> only <tt>constraints</tt> keys that the resource server
serving it is known to understand and enforce: by registration, by
deployment policy, or by the resource's
<tt>mission_constraints_supported</tt> metadata
(<xref target="protected-resource-metadata"/>).</t>
            </li>
          </ul>
        </dd>
        <dt><tt>delegation</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. An object. The delegation policy for this entry
(<xref target="delegate-eligibility"/>). When absent, this entry's authority is
non-delegable: it <bcp14>MUST NOT</bcp14> appear in a delegated token. This applies
to the entry the authorization server evaluates for a delegated
token, not to a copy a cross-domain grant conveys without the member
(<xref target="delegate-eligibility"/>). When present, it has these members:
</t>
          <dl>
            <dt><tt>max_depth</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. An integer. The maximum delegation depth at which this
entry's authority may be exercised (<xref target="delegate-eligibility"/>).</t>
            </dd>
            <dt><tt>allowed_delegates</tt>:</dt>
            <dd>
              <t><bcp14>RECOMMENDED</bcp14>. An array of objects. The permitted delegates, each a
delegate matcher (<xref target="matching-allowed-delegates"/>):
<tt>{ "sub": "&lt;client_id&gt;" }</tt> for a specific delegate, or
<tt>{ "sub_profile": "&lt;actor-type&gt;" }</tt> for an actor-type class.
</t>
              <t>When absent, eligibility falls to the authorization server's
delegation-authorization policy, applied at every exchange
(<xref target="delegate-eligibility"/>); absence never grants blanket
eligibility. The member is <bcp14>RECOMMENDED</bcp14> so that eligibility is
committed and rendered with the entry rather than left wholly to
policy.</t>
            </dd>
          </dl>
          <t>A companion profile <bcp14>MAY</bcp14> define additional <tt>delegation</tt> members. Such a
member is policy, not authority (<xref target="subset"/>): a derived entry's value
for it <bcp14>MUST NOT</bcp14> be broader than the parent entry's. The authorization
server <bcp14>MUST</bcp14> refuse an entry whose <tt>delegation</tt> carries a member other
than <tt>max_depth</tt> and <tt>allowed_delegates</tt> with the
<tt>invalid_authorization_details</tt> error code (<xref section="5" sectionFormat="of" target="RFC9396"/>),
unless a companion profile it implements defines that member's
processing. An authorization server cannot fulfill the processing
obligations of a member it does not implement.</t>
        </dd>
        <dt><tt>resource_contract</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. An object. A reference to the resource contract under which
the resource interprets the entry's <tt>actions</tt> and <tt>constraints</tt>
(<xref target="resource-contract"/>). The entry's <tt>type</tt> stays
<tt>mission_resource_access</tt>; the reference carries the version. When
present, it has exactly these members:
</t>
          <dl>
            <dt><tt>id</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. A string containing an absolute URI that names the
contract across its versions.</t>
            </dd>
            <dt><tt>version</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. A non-empty string naming one version of the contract.</t>
            </dd>
            <dt><tt>digest</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. A string. The SHA-256 digest of the JCS <xref target="RFC8785"/>
serialization of that version's contract document, in the
integrity-anchor encoded form
(<xref target="I-D.draft-mcguinness-oauth-mission"/>): <tt>sha-256:</tt> followed by
the base64url encoding of the digest, without padding.</t>
            </dd>
          </dl>
        </dd>
      </dl>
      <t>The following Authority Set has two entries for one resource:</t>
      <sourcecode type="json"><![CDATA[
[
  { "type": "mission_resource_access",
    "resource": "https://erp.example.com",
    "actions": ["invoices.read"],
    "constraints": {
      "resource_issued_after": "2026-07-01T00:00:00Z",
      "resource_issued_before": "2026-09-30T23:59:59Z"
    },
    "delegation": {
      "max_depth": 2,
      "allowed_delegates": [{ "sub_profile": "ai_agent" }]
    } },
  { "type": "mission_resource_access",
    "resource": "https://erp.example.com",
    "actions": ["journal-entries.write"],
    "constraints": {
      "max_amount": { "amount": "500.00", "currency": "USD" }
    } }
]
]]></sourcecode>
      <t>The read entry is delegable to depth 2 and bounded to a third-quarter
issuance window by the <tt>resource_issued_after</tt> and
<tt>resource_issued_before</tt> Common Constraints (<xref target="common-constraints"/>).
The write entry carries no <tt>delegation</tt>, so it is non-delegable. The
example assumes an operation contract that identifies
<tt>https://erp.example.com</tt> as the operation target
(<xref target="resource-matching"/>).</t>
      <section anchor="entry-validation">
        <name>Entry Validation</name>
        <t>These validity rules add to each member's type and presence
requirements (<xref target="resource-access-type"/>,
<xref target="initial-common-constraints"/>). The authorization server applies them
when it validates a proposed or carried entry (<xref target="conformance"/>); a
resource server applies them where a rule says so.</t>
        <t>A <tt>resource</tt> value under <tt>prefix</tt> <bcp14>MUST NOT</bcp14> carry a query or fragment
component; the authorization server <bcp14>MUST</bcp14> refuse such an entry with the
<tt>invalid_authorization_details</tt> error code (<xref section="5" sectionFormat="of" target="RFC9396"/>).</t>
        <t>This type does not use the <xref target="RFC9396"/> common <tt>locations</tt> field:
<tt>resource</tt> identifies where an entry applies. The authorization server
<bcp14>MUST</bcp14> refuse an entry carrying <tt>locations</tt> with the
<tt>invalid_authorization_details</tt> error code.</t>
        <t>The authorization server <bcp14>MUST</bcp14> also refuse an entry with the
<tt>invalid_authorization_details</tt> error code when:</t>
        <ul spacing="normal">
          <li>
            <t>its <tt>resource</tt> is not an <tt>absolute-URI</tt> (<xref section="4.3" sectionFormat="of" target="RFC3986"/>),
so no entry's <tt>resource</tt> carries a fragment component;</t>
          </li>
          <li>
            <t>its <tt>resource</tt> is an <tt>http</tt> or <tt>https</tt> URI without the <tt>//</tt> authority
form naming a non-empty host (<xref section="4.2.1" sectionFormat="of" target="RFC9110"/>,
<xref section="4.2.2" sectionFormat="of" target="RFC9110"/>);</t>
          </li>
          <li>
            <t>its <tt>resource_match</tt> is a value the authorization server does not
recognize (<xref target="resource-access-type"/>);</t>
          </li>
          <li>
            <t>its <tt>actions</tt> array is empty, or one of its values is neither an
action identifier nor an action family (<xref target="resource-access-type"/>);</t>
          </li>
          <li>
            <t>its <tt>delegation.max_depth</tt> is not a non-negative integer, so a
negative or fractional value is refused;</t>
          </li>
          <li>
            <t>an <tt>allowed_delegates</tt> matcher carries neither <tt>sub</tt> nor
<tt>sub_profile</tt>, or carries any other member
(<xref target="matching-allowed-delegates"/>);</t>
          </li>
          <li>
            <t>its <tt>resource_contract</tt> is not an object with exactly the members
<tt>id</tt>, <tt>version</tt>, and <tt>digest</tt>, or one of them does not have the form
<xref target="resource-access-type"/> gives it;</t>
          </li>
          <li>
            <t>its <tt>time_window</tt> Common Constraint has a <tt>not_before</tt> later than its
<tt>not_after</tt>, a window that admits no instant; or</t>
          </li>
          <li>
            <t>its <tt>recipient_domain</tt> Common Constraint is not a DNS name in ASCII
form, with each internationalized label in its A-label form, or ends
in a dot.</t>
          </li>
        </ul>
        <t>An A-label is as <xref section="2.3.2.1" sectionFormat="of" target="RFC5890"/> defines it. Letter case
does not make a <tt>recipient_domain</tt> invalid; values compare
case-insensitively (<xref target="value-space-comparison"/>).</t>
        <t>The refusal of a <tt>delegation</tt> member that no implemented specification
defines is specified with <tt>delegation</tt> (<xref target="resource-access-type"/>).</t>
        <t>The following values are valid and carry a defined meaning:</t>
        <ul spacing="normal">
          <li>
            <t>A <tt>max_depth</tt> of 0 admits the entry into no delegated token, since a
delegated token's delegation depth is 1 or more (the Delegation
Constraints section of <xref target="I-D.draft-mcguinness-oauth-mission"/>). Any
other <tt>delegation</tt> member stays intact; a member a companion profile
defines there, such as a
child-creation grant, keeps the bound that profile gives it.</t>
          </li>
          <li>
            <t>An empty <tt>allowed_delegates</tt> array permits no delegate. An absent
member instead defers eligibility to the authorization server's
delegation-authorization policy (<xref target="delegate-eligibility"/>).</t>
          </li>
          <li>
            <t>An action value that a consumer does not recognize for the entry's
<tt>resource</tt> grants nothing. It does not make the entry unenforceable:
the entry's other actions remain enforceable (<xref target="rs-enforcement"/>).</t>
          </li>
        </ul>
        <section anchor="decimal-values">
          <name>Decimal Values</name>
          <t>A decimal-string value in a Common Constraint (<tt>max_amount</tt>'s <tt>amount</tt>
member, and any other Common Constraint with a decimal-valued member)
<bcp14>MUST</bcp14> match <tt>^[0-9]+(\.[0-9]{1,18})?$</tt>: one or more decimal digits,
optionally followed by a single <tt>.</tt> and one to 18 further decimal
digits.</t>
          <t>A value of any other form, including scientific notation (<tt>"1e300"</tt>), a
sign (a ceiling value is never negative), a thousands separator, or a
non-numeric token (<tt>"NaN"</tt>, <tt>"Infinity"</tt>), is malformed, and a consumer
<bcp14>MUST</bcp14> reject it rather than attempt to parse it:</t>
          <ul spacing="normal">
            <li>
              <t>the authorization server <bcp14>MUST</bcp14> refuse an authority proposal carrying
one at submission (<xref target="I-D.draft-mcguinness-oauth-mission"/>) with the
<tt>invalid_authorization_details</tt> error code (<xref section="5" sectionFormat="of" target="RFC9396"/>);
and</t>
            </li>
            <li>
              <t>a resource server treats a malformed decimal value the same as a
<tt>constraints</tt> key it cannot enforce (<xref target="rs-enforcement"/>).</t>
            </li>
          </ul>
          <t>Comparison and intersection over two such decimal-string values <bcp14>MUST</bcp14> be
computed as exact decimal arithmetic (for example, by scaling both
values to integers by their fractional digit count and comparing the
integers) and <bcp14>MUST NOT</bcp14> parse either value into an IEEE 754 binary
floating-point type: that representation does not hold every value the
grammar above admits exactly and can compare or combine two values
incorrectly.</t>
          <t>A numeric constraint value <bcp14>MUST</bcp14> lie within the range that the JSON
Canonicalization Scheme (JCS) <xref target="RFC8785"/> serializes exactly. Monetary
amounts avoid that hazard: <tt>max_amount</tt> carries its <tt>amount</tt> as a
decimal string, paired with an ISO 4217 <tt>currency</tt> code, and any other
Common Constraint for a monetary value <bcp14>SHOULD</bcp14> reuse this shape rather
than a JSON number.</t>
        </section>
      </section>
    </section>
    <section anchor="resource-matching">
      <name>Resource Matching</name>
      <t>An entry's <tt>resource</tt> is compared with the target of an operation when
the resource server enforces the entry (<xref target="rs-enforcement"/>), and with
another entry's <tt>resource</tt> when the authorization server tests
containment (<xref target="subset"/>).</t>
      <t><strong>Operation target.</strong> Before matching, the resource server establishes
the operation's target: the absolute URI of the resource the operation
acts on. The resource server:</t>
      <ul spacing="normal">
        <li>
          <t>establishes the target from its operation contract: for an HTTP
resource operation the target can be the effective request URI, and
for an RPC or tool call the resource server derives it from the
operation and its validated arguments;</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> establish the target independently of the entries the request
presents, and <bcp14>MUST NOT</bcp14> choose a target because an entry would then
match;</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> refuse the operation when it cannot establish one unambiguous
target; and</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> execute the operation on the target it matched: matching a
different target never authorizes the execution.</t>
        </li>
      </ul>
      <t><strong>Operation contract.</strong> An operation contract is the resource server's
documented, trusted statement of how it authorizes an operation. For
each operation it covers, it establishes:</t>
      <ul spacing="normal">
        <li>
          <t>the rule that derives the operation target from the operation's
validated inputs;</t>
        </li>
        <li>
          <t>the <tt>resource_match</tt> values the resource server supports for that
target;</t>
        </li>
        <li>
          <t>the action identifier the operation exercises
(<xref target="resource-access-type"/>); and</t>
        </li>
        <li>
          <t>for each <tt>constraints</tt> key the operation supports, the authoritative
input that key's predicate reads (<xref target="common-constraints"/>).</t>
        </li>
      </ul>
      <t>A deployment that adopts Mission-Bound Runtime Enforcement
<xref target="I-D.draft-mcguinness-mission-runtime"/> records an operation's action
identifier and constraint inputs in that document's Operation Profile.</t>
      <t>A resource URL or a protected resource metadata identifier alone is not
an operation contract. An operation contract preserves every resource
distinction the deployment's authorization constrains: it cannot
collapse <tt>/orders/123</tt> and <tt>/admin</tt> to the server's root identifier to
obtain a match. There is no fallback to the protected resource's
metadata identifier: an operation contract <bcp14>MAY</bcp14> define service-level
authority and use that identifier as its target, but an absent or
ambiguous contract is not such a definition. Validating the metadata
identifier (<xref section="3.3" sectionFormat="of" target="RFC9728"/>) and the token's audience remain
separate checks.</t>
      <t>The following tables show one RPC operation and how entries match its
target:</t>
      <table>
        <name>An RPC operation and its target</name>
        <thead>
          <tr>
            <th align="left">Role</th>
            <th align="left">Value</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Protected resource metadata identifier</td>
            <td align="left">
              <tt>https://api.example</tt></td>
          </tr>
          <tr>
            <td align="left">Transport endpoint</td>
            <td align="left">
              <tt>https://api.example/rpc</tt></td>
          </tr>
          <tr>
            <td align="left">Validated operation</td>
            <td align="left">
              <tt>orders.read</tt> for order <tt>123</tt></td>
          </tr>
          <tr>
            <td align="left">Operation target</td>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
          </tr>
        </tbody>
      </table>
      <table>
        <name>Resource matches for the RPC operation</name>
        <thead>
          <tr>
            <th align="left">Entry resource</th>
            <th align="left">resource_match</th>
            <th align="left">Matches the target</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">
              <tt>exact</tt></td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example</tt></td>
            <td align="left">
              <tt>exact</tt></td>
            <td align="left">No</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/rpc</tt></td>
            <td align="left">
              <tt>exact</tt></td>
            <td align="left">No</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders</tt></td>
            <td align="left">
              <tt>prefix</tt></td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/</tt></td>
            <td align="left">
              <tt>prefix</tt></td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://API.EXAMPLE:443/orders/123</tt></td>
            <td align="left">
              <tt>exact</tt></td>
            <td align="left">No</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://API.EXAMPLE:443/orders</tt></td>
            <td align="left">
              <tt>prefix</tt></td>
            <td align="left">Yes</td>
          </tr>
        </tbody>
      </table>
      <t>Actions and constraints are checked separately.</t>
      <t><strong>Exact matching.</strong> Under <tt>exact</tt>, the entry's <tt>resource</tt>, after JSON
decoding, and the operation target are compared character for character,
including any query component. The comparison applies no case folding,
default-port removal, percent-decoding, query removal, or trailing-slash
equivalence, and a matcher <bcp14>MUST NOT</bcp14> normalize either operand by parsing
and reserializing it. Equivalent URI spellings therefore do not match,
so an issuer <bcp14>SHOULD</bcp14> emit an <tt>exact</tt> <tt>resource</tt> in the resource server's
documented target spelling.</t>
      <table>
        <name>Exact matching</name>
        <thead>
          <tr>
            <th align="left">exact entry resource</th>
            <th align="left">Operation target</th>
            <th align="left">Result</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">Match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https:\/\/api.example\/orders\/123</tt> (JSON escapes)</td>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">Match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">
              <tt>https://API.EXAMPLE/orders/123</tt></td>
            <td align="left">No match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">
              <tt>https://api.example:443/orders/123</tt></td>
            <td align="left">No match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">
              <tt>https://api.example/orders/%31%32%33</tt></td>
            <td align="left">No match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">
              <tt>https://api.example/orders/123/</tt></td>
            <td align="left">No match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders?id=1&amp;view=full</tt></td>
            <td align="left">
              <tt>https://api.example/orders?id=1&amp;view=full</tt></td>
            <td align="left">Match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders?id=1&amp;view=full</tt></td>
            <td align="left">
              <tt>https://api.example/orders?view=full&amp;id=1</tt></td>
            <td align="left">No match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders?</tt></td>
            <td align="left">
              <tt>https://api.example/orders</tt></td>
            <td align="left">No match</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example</tt></td>
            <td align="left">
              <tt>https://api.example/</tt></td>
            <td align="left">No match</td>
          </tr>
        </tbody>
      </table>
      <t><strong>Prefix matching.</strong> Under <tt>prefix</tt>, a <tt>resource</tt> with an empty path
and one whose path is <tt>/</tt> denote the same base: <tt>https://a.example</tt> and
<tt>https://a.example/</tt> authorize the same set.</t>
      <t>Both URIs in a <tt>prefix</tt> comparison are normalized with these steps from
<xref section="6.2.2" sectionFormat="of" target="RFC3986"/> (syntax-based) and
<xref section="6.2.3" sectionFormat="of" target="RFC3986"/> (scheme-based):</t>
      <ol spacing="normal" type="1"><li>
          <t>lowercase the scheme and host;</t>
        </li>
        <li>
          <t>remove a default port;</t>
        </li>
        <li>
          <t>uppercase the hexadecimal digits of any percent-encoding
(<xref section="2.1" sectionFormat="of" target="RFC3986"/>), so <tt>%2f</tt> and <tt>%2F</tt> are equivalent;</t>
        </li>
        <li>
          <t>decode percent-encoded octets of unreserved characters; and</t>
        </li>
        <li>
          <t>remove dot-segments.</t>
        </li>
      </ol>
      <t>After normalization, a target is within a <tt>prefix</tt> entry when it has the
entry's scheme and authority and its path equals the base path or
extends it at a path-segment boundary. If the base path ends in <tt>/</tt>, a
descendant's path begins with the complete base path; otherwise it
begins with the base path followed by <tt>/</tt>. A <tt>/orders/</tt> base therefore
admits itself and <tt>/orders/123</tt>, but neither <tt>/orders</tt> nor <tt>/ordersx</tt>.
The target's query is excluded from this path comparison only: it still
participates in establishing the target and in action and constraint
enforcement, and a query that selects another resource is resolved to
that resource before matching.</t>
      <t>This normalization applies to comparison only, never to hashing:
matching never rewrites a recorded entry, and
<xref target="I-D.draft-mcguinness-oauth-mission"/>'s anchor computation remains
byte-exact over the recorded values.</t>
      <t>The authorization server's containment test (<xref target="subset"/>) and the
resource server's request matching (<xref target="rs-enforcement"/>) <bcp14>MUST</bcp14> apply the
single URI normalization defined in this section, so issuance and
enforcement draw the same boundary. The normalization <bcp14>MUST</bcp14> run before
the prefix comparison, and the boundary <bcp14>MUST</bcp14> be evaluated on the same
normalized form a downstream component will act on.</t>
      <t>Beyond the empty-path equivalence above, a URI matcher <bcp14>MUST NOT</bcp14>
coalesce <tt>//</tt> or trailing-slash differences of its own, since the
normalization does not. The normalization lowercases the host but does
not define Unicode to A-label (IDNA) conversion, so a deployment that
accepts non-ASCII hosts <bcp14>MUST</bcp14> ensure both sides compare the same form.</t>
      <t>The following table shows how operation targets match a <tt>prefix</tt> entry
whose <tt>resource</tt> is <tt>https://api.example/orders</tt>:</t>
      <table>
        <name>Prefix matching for https://api.example/orders</name>
        <thead>
          <tr>
            <th align="left">Operation target</th>
            <th align="left">Result</th>
            <th align="left">Why</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>https://api.example/orders</tt></td>
            <td align="left">ALLOW</td>
            <td align="left">The base itself</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/123</tt></td>
            <td align="left">ALLOW</td>
            <td align="left">An extension at a path-segment boundary</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://API.EXAMPLE/orders/123</tt></td>
            <td align="left">ALLOW</td>
            <td align="left">Scheme and host are case-folded</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example:443/orders/123</tt></td>
            <td align="left">ALLOW</td>
            <td align="left">The default port is removed</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/Orders/123</tt></td>
            <td align="left">DENY</td>
            <td align="left">The path is case-sensitive: <tt>Orders</tt> is not <tt>orders</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders%2F123</tt> (equivalently <tt>%2f</tt>)</td>
            <td align="left">DENY</td>
            <td align="left">Hex digits normalize to <tt>%2F</tt>, which stays encoded and is not a separator: one segment <tt>orders%2F123</tt>, not an extension of <tt>/orders</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/ordersX</tt></td>
            <td align="left">DENY</td>
            <td align="left">The match extends only at a path-segment boundary, not within a segment</td>
          </tr>
          <tr>
            <td align="left">
              <tt>https://api.example/orders/%2e%2e/admin</tt></td>
            <td align="left">DENY</td>
            <td align="left">
              <tt>%2e%2e</tt> decodes to <tt>..</tt> and the dot-segment is removed, yielding <tt>https://api.example/admin</tt>, outside the prefix</td>
          </tr>
        </tbody>
      </table>
      <t><xref target="resource-boundary-canonicalization"/> explains why each rule matters.</t>
    </section>
    <section anchor="subset">
      <name>Subset Rule</name>
      <t><xref target="I-D.draft-mcguinness-oauth-mission"/> derives, narrows, and delegates a
<tt>mission_resource_access</tt> entry only as a subset of a reference entry,
and refuses an entry that is not one.</t>
      <t>When the authorization server narrows the Authority Set for a derived
token, a derived entry A is a subset of a Mission entry B when all of
the following hold:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Resource.</strong> A's resource set is contained in B's (<tt>resource_match</tt>,
<xref target="resource-access-type"/>), under the matcher of
<xref target="resource-matching"/>:
          </t>
          <ul spacing="normal">
            <li>
              <t>an <tt>exact</tt> A under an <tt>exact</tt> B: A.<tt>resource</tt> equals B.<tt>resource</tt>
literally;</t>
            </li>
            <li>
              <t>an <tt>exact</tt> A under a <tt>prefix</tt> B: B's prefix matcher admits
A.<tt>resource</tt> as a target;</t>
            </li>
            <li>
              <t>a <tt>prefix</tt> A under a <tt>prefix</tt> B: B's prefix matcher admits A's
normalized base; and</t>
            </li>
            <li>
              <t>a <tt>prefix</tt> A under an <tt>exact</tt> B: never contained.</t>
            </li>
          </ul>
        </li>
        <li>
          <t><strong>Actions.</strong> Every A.<tt>actions</tt> value is within some B.<tt>actions</tt>
value:
          </t>
          <ul spacing="normal">
            <li>
              <t>a value is within an equal value;</t>
            </li>
            <li>
              <t>a literal action is within a family whose name it extends at a
segment boundary (<tt>invoices.read</tt> is within <tt>invoices.*</tt>);</t>
            </li>
            <li>
              <t>a family is within a reference family when its own name extends the
reference's name at a segment boundary (<tt>invoices.q3.*</tt> is within
<tt>invoices.*</tt>); and</t>
            </li>
            <li>
              <t>a family is never within a literal action.</t>
            </li>
          </ul>
        </li>
        <li>
          <t><strong>Constraints.</strong> For every key K in <strong>B</strong>.<tt>constraints</tt>:
          </t>
          <ul spacing="normal">
            <li>
              <t>K <bcp14>MUST</bcp14> also be present in A.<tt>constraints</tt>, unless B's value is one
K's definition makes equivalent to omitting the member
(<tt>requires_action_approval: false</tt>). Otherwise a key absent from A
is treated as the broadest possible value and therefore fails this
test.</t>
            </li>
            <li>
              <t>A's value <bcp14>MUST</bcp14> be no broader than B's under K's subset rule: the
specification-defined rule when K is a Common Constraint
(<xref target="common-constraints"/>), the deployment-defined comparison
otherwise.</t>
            </li>
          </ul>
        </li>
        <li>
          <t><strong>Contract.</strong> A carries <tt>resource_contract</tt> exactly when B does,
and then with <tt>id</tt>, <tt>version</tt>, and <tt>digest</tt> each equal to B's
(<xref target="resource-contract"/>). Removing, replacing, or adding a reference
is never narrowing. The one exception is approval: where B is a
policy ceiling without a reference, A can carry the reference the
authorization server assembles from configuration before approval
(<xref target="resource-contract"/>), since a policy ceiling need not carry one.
Derivation from an approved entry has no exception: it preserves
the reference exactly.</t>
        </li>
      </ol>
      <t>The equivalence in step 3 holds for comparison only: recorded entries
and their integrity commitments are unchanged. A key present only in A
narrows A only when it has defined semantics and the resource server
serving A.<tt>resource</tt> can enforce it. When A carries a key whose
narrowing the authorization server does not implement, the
authorization server refuses the derivation rather than removing the
key or omitting the entry (<xref target="common-constraints"/>).</t>
      <t>The authorization server <bcp14>MUST</bcp14> make this resource comparison with the
same matcher, over the same URI forms, that resource servers use to
enforce the entries (<xref target="resource-matching"/>), so that whenever A's
resource set is contained in B's, every target A admits is also admitted
by B. Resource containment alone never establishes authority
containment: actions, constraints, and the contract are checked as above.</t>
      <t>The <tt>delegation</tt> member is policy, not authority, and is not part of
this comparison (<xref target="delegate-eligibility"/>). A derived entry's
<tt>delegation</tt>, when present, <bcp14>MUST NOT</bcp14> be broader than the parent entry's:</t>
      <ul spacing="normal">
        <li>
          <t>its <tt>max_depth</tt> <bcp14>MUST</bcp14> be no greater than the parent entry's;</t>
        </li>
        <li>
          <t>its <tt>allowed_delegates</tt> <bcp14>MUST</bcp14> be no wider than the parent entry's, and
where the parent entry's eligibility inherits the authorization
server's policy decision (<xref target="delegate-eligibility"/>), a derived list
only restricts that decision; and</t>
        </li>
        <li>
          <t>a derived entry <bcp14>MUST NOT</bcp14> introduce <tt>delegation</tt> where the parent entry
has none.</t>
        </li>
      </ul>
    </section>
    <section anchor="common-constraints">
      <name>Common Constraints</name>
      <t>A <tt>constraints</tt> member name (<xref target="resource-access-type"/>) is either a
<strong>Common Constraint</strong>, defined by specification and registered
(<xref target="iana-common-constraints"/>), or a deployment-defined key. Common
Constraints give independently developed deployments one vocabulary
they interpret, narrow, and compare identically.</t>
      <t>A Common Constraint definition fixes:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Value syntax</strong>: the JSON value type (<xref target="RFC8259"/>) and any additional
rules.</t>
        </li>
        <li>
          <t><strong>Subset rule</strong>: how <xref target="subset"/> judges a candidate value no broader
than a reference value.</t>
        </li>
        <li>
          <t><strong>Intersection rule</strong>: how two values for the same key combine; the
result <bcp14>MUST</bcp14> be no broader than either operand.</t>
        </li>
        <li>
          <t><strong>Input</strong>: what the constraint reads at the point of use, which an
operation contract identifies for each operation
(<xref target="resource-matching"/>).</t>
        </li>
        <li>
          <t><strong>Predicate</strong>: the condition the input meets when the operation is
within the bound.</t>
        </li>
      </ul>
      <t>A constraint's intersection rule applies where a derivation combines
two bounds for the same key, as in the proposal and policy-ceiling
example of the Derivation Policy appendix of
<xref target="I-D.draft-mcguinness-oauth-mission"/>. A derivation need not run a
particular intersection algorithm, and a ceiling whose specification
defines a refusal rule is enforced by that rule, not silently
intersected.</t>
      <t>At the point of use (<xref target="rs-enforcement"/>), the resource server applies
the predicate of each Common Constraint an applicable entry carries to
that constraint's input. Any fact a predicate needs that is missing or
malformed makes the entry provide no authority. An operation contract
may leave a constraint unsupported for that operation. The resource
server <bcp14>MUST</bcp14> treat an applicable entry whose constraint it cannot
evaluate or satisfy as providing no authority. It <bcp14>MUST</bcp14> refuse the
request unless another applicable entry independently authorizes the
whole request with every constraint satisfied.</t>
      <t>Any other key is deployment-defined and is interpreted only within the
issuing deployment; a consumer that does not recognize it <bcp14>MUST</bcp14> fail closed
(<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
      <t>The same duty binds the authorization server when it derives a
candidate entry from a ceiling entry by narrowing:</t>
      <ul spacing="normal">
        <li>
          <t>a client's authority proposal to the Authority Set
(<xref target="I-D.draft-mcguinness-oauth-mission"/>); or</t>
        </li>
        <li>
          <t>an Authority Set entry to a derived token
(<xref target="I-D.draft-mcguinness-oauth-mission"/>) or a delegated token
(<xref target="delegate-eligibility"/>).</t>
        </li>
      </ul>
      <t>In either case, a <tt>constraints</tt> key that the authorization server does
not implement narrowing for, whether a registered Common Constraint or a
deployment-defined key, and whether it appears in the ceiling entry or
in the candidate, <bcp14>MUST NOT</bcp14> be dropped while the entry survives. The
authorization server <bcp14>MUST</bcp14> instead refuse the derivation: an unsupported
constraint is unsupported input, so the entry is never omitted to repair
it (<xref target="I-D.draft-mcguinness-oauth-mission"/>). Carrying the entry forward
without the key would widen effective authority past the ceiling, as an
unenforced key would at the resource server
(<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
      <t>An entry whose constraints the authorization server can compare but
that policy declines to grant is instead narrowed or omitted, and the
granted <tt>authorization_details</tt> echo reflects that
(<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
      <t>This type defines no interoperable cumulative use counter. A deployment
that adopts Mission Metering (<xref target="I-D.draft-mcguinness-mission-metering"/>)
applies its accounting and settlement rules, and can embed the metering
policy decision point in the resource server.</t>
      <section anchor="initial-common-constraints">
        <name>Initial Common Constraints</name>
        <t>This document defines the following Common Constraints.</t>
        <dl>
          <dt><tt>max_amount</tt>:</dt>
          <dd>
            <t>A per-action ceiling on a monetary amount.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: an object with two members, <tt>amount</tt> (<bcp14>REQUIRED</bcp14>, a string
containing a decimal number, <xref target="decimal-values"/>) and <tt>currency</tt>
(<bcp14>REQUIRED</bcp14>, a currency code as defined in <xref target="ISO4217"/>).</t>
              </li>
              <li>
                <t>Subset: no broader when the <tt>currency</tt> values are equal and the
candidate <tt>amount</tt> is less than or equal to the reference <tt>amount</tt>,
compared in decimal value space; differing currencies fail the
comparison (no conversion is defined).</t>
              </li>
              <li>
                <t>Intersection: when the <tt>currency</tt> values are equal, the value with
the smaller <tt>amount</tt>; differing currencies have no intersection and
the combination fails.</t>
              </li>
              <li>
                <t>Input: the action's amount and its currency, as the operation
contract identifies them.</t>
              </li>
              <li>
                <t>Predicate: the input currency equals <tt>currency</tt>, and the input
amount is less than or equal to <tt>amount</tt> in decimal value space.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>resource_issued_after</tt>:</dt>
          <dd>
            <t>The action applies only to resources issued at or after this instant.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: a date-time string as defined in <xref target="RFC3339"/>.</t>
              </li>
              <li>
                <t>Subset: no broader when greater than or equal to the reference.</t>
              </li>
              <li>
                <t>Intersection: the later instant.</t>
              </li>
              <li>
                <t>Input: the recorded issuance instant of the resource the operation
acts on.</t>
              </li>
              <li>
                <t>Predicate: the input is at or after the value.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>resource_issued_before</tt>:</dt>
          <dd>
            <t>The action applies only to resources issued at or before this instant.
The <tt>resource_</tt> prefix of both names marks a bound on resource
issuance, not token issuance.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: a date-time string as defined in <xref target="RFC3339"/>.</t>
              </li>
              <li>
                <t>Subset: no broader when less than or equal to the reference.</t>
              </li>
              <li>
                <t>Intersection: the earlier instant.</t>
              </li>
              <li>
                <t>Input: the recorded issuance instant of the resource the operation
acts on.</t>
              </li>
              <li>
                <t>Predicate: the input is at or before the value.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>tenant</tt>:</dt>
          <dd>
            <t>The action applies only to resources of the named tenant.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: a string.</t>
              </li>
              <li>
                <t>Subset: no broader when equal to the reference value.</t>
              </li>
              <li>
                <t>Intersection: the common value when the two are equal; otherwise
there is no intersection and the combination fails.</t>
              </li>
              <li>
                <t>Input: the authoritative tenant of the resource the operation acts
on.</t>
              </li>
              <li>
                <t>Predicate: the input equals the value.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>recipient_domain</tt>:</dt>
          <dd>
            <t>The action applies only to recipients within the named domain. An
action addressed to several recipients is within the bound only when
every recipient is.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: a string containing a DNS name.</t>
              </li>
              <li>
                <t>Subset: no broader when equal to the reference or a DNS subdomain of
it.</t>
              </li>
              <li>
                <t>Intersection: the narrower value when one is equal to or a subdomain
of the other; otherwise there is no intersection and the combination
fails.</t>
              </li>
              <li>
                <t>Input: every final recipient of the action, after routing and list
expansion.</t>
              </li>
              <li>
                <t>Predicate: the domain of every input recipient is equal to the value
or a subdomain of it.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>time_window</tt>:</dt>
          <dd>
            <t>The action may be exercised only within the window, evaluated at the
point of use. This differs from <tt>resource_issued_after</tt> and
<tt>resource_issued_before</tt>, which bound resource issuance, and from the
token's <tt>exp</tt>, which bounds the credential.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: an object with two members, <tt>not_before</tt> and <tt>not_after</tt>,
each a date-time string as defined in <xref target="RFC3339"/>; at least one <bcp14>MUST</bcp14>
be present, and an absent member is unbounded on that side.</t>
              </li>
              <li>
                <t>Subset: no broader when the candidate window lies within the
reference window, an absent candidate bound counting as unbounded
and therefore broader than any present reference bound.</t>
              </li>
              <li>
                <t>Intersection: the overlap (the later <tt>not_before</tt>, the earlier
<tt>not_after</tt>); an empty overlap has no intersection and the
combination fails.</t>
              </li>
              <li>
                <t>Input: the enforcement point's own clock at the time of use.</t>
              </li>
              <li>
                <t>Predicate: the input is at or after <tt>not_before</tt> and at or before
<tt>not_after</tt>, for each member present.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>data_classification</tt>:</dt>
          <dd>
            <t>The action applies only to data whose classification label is among
the named values. Label semantics are deployment- or registry-defined;
the comparison is not.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: an array of strings.</t>
              </li>
              <li>
                <t>Subset: no broader when the candidate array's members are a subset
of the reference array's, compared as exact strings.</t>
              </li>
              <li>
                <t>Intersection: the common members; an empty result has no
intersection and the combination fails.</t>
              </li>
              <li>
                <t>Input: the authoritative classification labels of all data the
operation reads or writes.</t>
              </li>
              <li>
                <t>Predicate: every input label is among the values, compared as exact
strings.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>allowed_tools</tt>:</dt>
          <dd>
            <t>The action may be exercised only through a capability whose identifier
is among the named values: a tool or function identity, asserted at
the point of use by the resource server or a component that enforces
on its behalf.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: an array of strings.</t>
              </li>
              <li>
                <t>Subset: no broader when the candidate array's members are a subset
of the reference array's, compared as exact strings.</t>
              </li>
              <li>
                <t>Intersection: the common members; an empty result has no
intersection and the combination fails.</t>
              </li>
              <li>
                <t>Input: the identity of the capability the enforcement point
dispatches or verifies for the action. Mission Capability Binding
<xref target="I-D.draft-mcguinness-mission-capability-binding"/> defines one way
to verify that identity against the capability's approved source.</t>
              </li>
              <li>
                <t>Predicate: the input is among the values, compared as exact strings.</t>
              </li>
            </ul>
          </dd>
          <dt><tt>requires_action_approval</tt>:</dt>
          <dd>
            <t>When <tt>true</tt>, each exercise of the action requires a fresh,
action-bound approval at the point of use; the resource server, or a
component that enforces on its behalf, <bcp14>MUST NOT</bcp14> permit the action on
Mission authority alone. A value of <tt>false</tt> is equivalent to omitting
the member.
</t>
            <ul spacing="normal">
              <li>
                <t>Value: a boolean.</t>
              </li>
              <li>
                <t>Subset: no broader when the candidate is <tt>true</tt> or equals the
reference (narrowing may add the requirement, never remove it).</t>
              </li>
              <li>
                <t>Intersection: the logical OR of the two values.</t>
              </li>
              <li>
                <t>Input: none when the value is <tt>false</tt>; when it is <tt>true</tt>, the
action-bound approval presented for the action.</t>
              </li>
              <li>
                <t>Predicate: when the value is <tt>true</tt>, an action-bound approval is
present and is:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>verified by a trusted enforcement point;</t>
                  </li>
                  <li>
                    <t>fresh within a maximum age the deployment states;</t>
                  </li>
                  <li>
                    <t>bound to the action, the resource, and the action's parameters;</t>
                  </li>
                  <li>
                    <t>never resolvable through approval authority the agent supplies;
and</t>
                  </li>
                  <li>
                    <t>consumed as a decision input, not as a bearer grant.</t>
                  </li>
                </ul>
              </li>
            </ul>
            <t>Mission-Bound Runtime Enforcement
<xref target="I-D.draft-mcguinness-mission-runtime"/> and the Mission Transaction
Authorization Profile
<xref target="I-D.draft-mcguinness-oauth-mission-transaction-authorization"/>
define ways to obtain and verify such an approval, and the AuthZEN
profile <xref target="I-D.draft-mcguinness-mission-authzen"/> carries one as
decision input.</t>
          </dd>
        </dl>
      </section>
      <section anchor="value-space-comparison">
        <name>Value-Space Comparison</name>
        <t>Common Constraint comparisons are in value space, not lexical:</t>
        <ul spacing="normal">
          <li>
            <t><tt>max_amount</tt> <tt>amount</tt> members are compared as the decimal numbers the
strings contain, so <tt>"500"</tt>, <tt>"500.0"</tt>, and <tt>"500.00"</tt> are equal;</t>
          </li>
          <li>
            <t><tt>resource_issued_after</tt> and <tt>resource_issued_before</tt> values are
compared as the instants they denote after normalization to UTC, so
two RFC 3339 representations of the same instant that differ only in
timezone offset or trailing subsecond zeros are equal;</t>
          </li>
          <li>
            <t><tt>time_window</tt> <tt>not_before</tt> and <tt>not_after</tt> values are compared as the
instants they denote after normalization to UTC; and</t>
          </li>
          <li>
            <t><tt>recipient_domain</tt> values are compared as DNS names,
case-insensitively and on whole labels, so <tt>mail.example.com</tt> is
within <tt>example.com</tt> and <tt>example.net</tt> is not.</t>
          </li>
        </ul>
        <t>A predicate compares its input with the constraint value under the same
rules.</t>
        <t>A Common Constraint definition <bcp14>MUST</bcp14> fix its subset rule, intersection
rule, and predicate in value-space terms, so that independent
deployments compute the same result for the same values and inputs, and
the subset rule of <xref target="subset"/> is reproducible.</t>
      </section>
    </section>
    <section anchor="rs-enforcement">
      <name>Resource Server Enforcement</name>
      <t><xref target="I-D.draft-mcguinness-oauth-mission"/> requires a resource server to
enforce each applicable <tt>authorization_details</tt> entry under its type's
specification, and to fail closed on an entry whose type it does not
implement or cannot fully evaluate. This section is that specification
for this type. A resource server:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MUST</bcp14> enforce an entry whose <tt>resource</tt> matches the operation target
under the entry's <tt>resource_match</tt> (<xref target="resource-matching"/>), permitting
only the listed <tt>actions</tt> subject to <tt>constraints</tt>. Where more than
one applicable entry matches, entries are alternative grants of
authority, not conjunctive filters.</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> treat an entry's <tt>resource_match</tt> value it does not recognize as
unenforceable and fail closed (<xref target="resource-access-type"/>).</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14>, when it matches an operation target against a <tt>prefix</tt> entry,
apply the URI normalization <xref target="resource-matching"/> defines for
containment, before the prefix comparison rather than after
(<xref target="resource-boundary-canonicalization"/>).</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> fail closed on any <tt>constraints</tt> key it does not understand, or
understands but cannot enforce, in an applicable entry, rather than
grant access while ignoring the key.</t>
        </li>
        <li>
          <t><bcp14>MUST NOT</bcp14> reduce a <tt>constraints</tt> key to disclosure-only: an unenforced
key that narrows authority silently widens the grant if treated as
absent or advisory.</t>
        </li>
      </ul>
      <t><strong>Failing closed.</strong> An entry the resource server cannot fully enforce
provides no authority: one with an unrecognized <tt>resource_match</tt> value,
a member the resource server does not recognize or whose obligations it
cannot fulfill, or a <tt>constraints</tt> key it does not understand or cannot
enforce. The resource server then authorizes the request only through
another applicable entry that it can fully enforce and that covers the
whole request on its own: its <tt>resource</tt> matches the target, its
<tt>actions</tt> include the action, and every key in its <tt>constraints</tt> is
satisfied (<xref target="common-constraints"/>). The resource server:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MUST NOT</bcp14> combine parts of several entries to authorize one request, or
borrow authority from an entry it cannot fully enforce; and</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> refuse the request when no such entry exists, for example with
HTTP status code 403 and the <tt>insufficient_scope</tt> error code
(<xref section="3.1" sectionFormat="of" target="RFC6750"/>), or with the deployment's usual
insufficient-authority error.</t>
        </li>
      </ul>
      <t>A token-wide validation failure, such as of signature, audience, or
sender constraint (<xref target="I-D.draft-mcguinness-oauth-mission"/>), rejects the
token whatever its entries carry.</t>
      <t><strong>Entry members.</strong> Each member of an entry has a resource-server role
or none:</t>
      <ul spacing="normal">
        <li>
          <t><tt>type</tt>, <tt>resource</tt>, <tt>resource_match</tt>, <tt>actions</tt>, and <tt>constraints</tt> are
enforced as above;</t>
        </li>
        <li>
          <t><tt>resource_contract</tt> is enforced as <xref target="resource-contract"/> requires;</t>
        </li>
        <li>
          <t><tt>delegation</tt> has no resource-server enforcement role: the
authorization server applies it at issuance
(<xref target="delegate-eligibility"/>), so a resource server <bcp14>MAY</bcp14> disregard it,
together with any member a companion profile adds to it;</t>
        </li>
        <li>
          <t>a member that another specification defines for this type is
enforced as that specification requires, and leaves the entry fully
enforceable when the resource server, or a runtime layer acting for
it, implements that specification and fulfills every obligation it
places on enforcement; and</t>
        </li>
        <li>
          <t>any other member, including one the resource server does not
recognize, makes the entry one the resource server cannot fully
enforce.</t>
        </li>
      </ul>
      <t>An entry carrying the <xref target="RFC9396"/> common <tt>locations</tt> field, which this
type does not use (<xref target="entry-validation"/>), is likewise one the resource
server cannot fully enforce.</t>
      <section anchor="protected-resource-metadata">
        <name>Protected Resource Metadata</name>
        <t>A protected resource <bcp14>MAY</bcp14> advertise the following member in its protected
resource metadata (<xref target="RFC9728"/>):</t>
        <dl>
          <dt><tt>mission_constraints_supported</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. A JSON array of strings: the <tt>constraints</tt> keys, Common
Constraints and deployment-defined names, that the resource
understands and enforces (<xref target="rs-enforcement"/>). It lets the
authorization server discover which keys it can emit for the resource
(<xref target="resource-access-type"/>), and a client predict a fail-closed
constraint mismatch before a request. When absent, that knowledge is
established out of band.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="resource-contract">
      <name>Resource Contracts</name>
      <t>An entry's <tt>actions</tt> and <tt>constraints</tt> carry meaning only at the
resource that defines them (<xref target="resource-access-type"/>), and the resource
can change that meaning while the names and values stay the same. The
<tt>resource_contract</tt> member fixes the version of that meaning the entry
was approved under.</t>
      <t>A <strong>resource contract</strong> is a JSON document, identified by an <tt>id</tt> and a
<tt>version</tt>, whose bytes never change for that pair. It fixes at least
the operation contract (<xref target="resource-matching"/>) of each operation it
covers and the members of each action family it defines. A runtime
profile can add contract material, as Mission-Bound Runtime
Enforcement does (<xref target="I-D.draft-mcguinness-mission-runtime"/>, Section
"Resource Contract"). The contract assembles those definitions and
overrides none of them: a Common Constraint keeps the semantics its
definition gives it (<xref target="common-constraints"/>). A resource that changes
any of that material publishes a new version with its own <tt>digest</tt>.
The resource publishes its contracts and references in its operation
contract or other deployment documentation; this document defines no
metadata member or endpoint for them.</t>
      <t>The following entry references version <tt>2026-10-01</tt> of a payments
contract:</t>
      <sourcecode type="json"><![CDATA[
{ "type": "mission_resource_access",
  "resource": "https://payments.example/mcp",
  "actions": ["execute_wire_transfer"],
  "constraints": {
    "max_amount": { "amount": "500.00", "currency": "USD" } },
  "resource_contract": {
    "id": "https://payments.example/contracts/payments",
    "version": "2026-10-01",
    "digest":
      "sha-256:Tvvs9KfBVei4YUbtWRfmCKsquFxzgWvqxhSAsWPiu_o" } }
]]></sourcecode>
      <t><strong>Approval.</strong> The authorization server assembles the reference from
trusted resource or deployment configuration, which states whether an
entry's <tt>resource</tt> requires a reference and which contract version is
current for it. A client-proposed <tt>resource_contract</tt> is never
authoritative. Before approval, the authorization server:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MUST</bcp14> refuse, with the <tt>invalid_authorization_details</tt> error code, a
proposed entry whose <tt>resource_contract</tt> does not equal, member for
member, the reference of a contract its configuration names as current
for the entry's <tt>resource</tt> and that defines every action and action
family the entry lists; and</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14>, where its configuration requires a reference for the entry's
<tt>resource</tt> and the proposal carries none, record the current
contract's reference in the entry, so that the Approver approves the
entry with it.</t>
        </li>
      </ul>
      <t>No new approval references a version that is not current. An
authorization server that does not implement this section <bcp14>MUST</bcp14> refuse
a proposed or carried entry that carries <tt>resource_contract</tt>, with the
<tt>invalid_authorization_details</tt> error code, and <bcp14>MUST NOT</bcp14> drop the
member.</t>
      <t><strong>Preservation.</strong> The reference is part of the entry, so
<tt>authority_hash</tt> commits it (<xref target="I-D.draft-mcguinness-oauth-mission"/>).
Every derivation, narrowing, and delegation preserves it exactly
(<xref target="subset"/>), and scope projection never drops it
(<xref target="scope-projection"/>). An entry approved without a reference gains one
only through a new approval of an entry that carries it.</t>
      <t><strong>Enforcement.</strong> A resource server <bcp14>MUST NOT</bcp14> treat an entry carrying
<tt>resource_contract</tt> as authorizing an operation unless it performs that
operation under exactly the referenced contract: the one whose <tt>id</tt>,
<tt>version</tt>, and <tt>digest</tt> all equal the reference's. Where the resource
server's operation contract requires a reference for an operation, an
applicable entry without one provides no authority for it. In both
cases the entry is one the resource server cannot fully enforce
(<xref target="rs-enforcement"/>). The reference fixes meaning, not state: it
supplies no observation of the resource and exempts no operation from
the resource's other authorization checks. The resource declares
which versions it still performs, and for which entries;
Mission-Bound Runtime Enforcement defines one such version lifecycle
(<xref target="I-D.draft-mcguinness-mission-runtime"/>). A reference to a version
the resource does not perform for the entry authorizes nothing.</t>
    </section>
    <section anchor="delegate-eligibility">
      <name>Delegate Eligibility</name>
      <t><xref target="I-D.draft-mcguinness-oauth-mission"/> gates a delegated token's carried
entries on the entry type's own delegation policy, evaluated at the
delegation depth <tt>d</tt> of the token being issued. That document's
Delegation Constraints section defines <tt>d</tt>, which the authorization
server establishes from its own accounting, not from the <tt>act</tt> claim.
The authorization server includes a <tt>mission_resource_access</tt> entry in
a delegated token issued at depth <tt>d</tt> only if all of the following
hold:</t>
      <ol spacing="normal" type="1"><li>
          <t>the entry carries a <tt>delegation</tt> member (otherwise it is
non-delegable, the default);</t>
        </li>
        <li>
          <t><tt>d</tt> is less than or equal to the entry's <tt>delegation.max_depth</tt>; and</t>
        </li>
        <li>
          <t>the delegate is permitted by <tt>delegation.allowed_delegates</tt> or, when
that member is absent, by the authorization server's
delegation-authorization policy, which the authorization server <bcp14>MUST</bcp14>
apply at every exchange: an absent list of delegate matchers is a
decision deferred to policy, never a blanket grant of eligibility.</t>
        </li>
      </ol>
      <t>An entry failing any of these narrows out of the delegated token,
consistent with the subset rule (<xref target="subset"/>). Surviving entries keep
their <tt>delegation</tt> member intact, so the next hop is evaluated the same
way.</t>
      <t>A cross-domain grant, which an authorization server issues for use in
another trust domain
(<xref target="I-D.draft-mcguinness-oauth-mission-cross-domain"/>), separates two
stages. Eligibility for the grant itself is decided as above, against
the approved entry in the Mission Record. Whether the copy the grant
conveys keeps <tt>delegation</tt> is for the profile that defines the grant,
within the subset rule (<xref target="subset"/>); a copy without it delegates no
further. Neither stage lets an entry without <tt>delegation</tt> in the
Mission Record appear in a delegated token.</t>
      <t><strong>Inherited eligibility.</strong> A derived entry's <tt>allowed_delegates</tt>
restricts eligibility; it never replaces an obligation the derivation
inherits. An entry derived from a reference entry that has no
<tt>allowed_delegates</tt> inherits the authorization server's policy
decision, and so does every entry derived from it: a delegate is
permitted only when the policy permits it and, where the entry carries
a list, the list permits it too.</t>
      <t>An approved entry derived from a ceiling entry without
<tt>allowed_delegates</tt> inherits the policy decision even when the approved
proposal added a list, so the approved entry's own members do not
reveal the obligation. The authorization server therefore <bcp14>MUST</bcp14> record,
when it derives the Authority Set, which approved entries inherit the
policy decision, and <bcp14>MUST</bcp14> retain that provenance with the Mission. It
<bcp14>MUST</bcp14> evaluate every later exchange against the approved entry in the
Mission Record (<xref target="I-D.draft-mcguinness-oauth-mission"/>) and that
provenance, never against a presented token alone. Where it cannot
resolve either, the entry narrows out of the delegated token. A
cross-domain grant conveys no such provenance.</t>
      <section anchor="matching-allowed-delegates">
        <name>Matching <tt>allowed_delegates</tt></name>
        <t>Each <tt>allowed_delegates</tt> value is a delegate matcher: an object modeled
on the actor object of the <tt>may_act</tt> claim (<xref section="4.4" sectionFormat="of" target="RFC8693"/>),
generalized from a single party to actor-type classes:</t>
        <ul spacing="normal">
          <li>
            <t>A <tt>{ "sub": ... }</tt> matcher permits a specific delegate by client
identifier.</t>
          </li>
          <li>
            <t>A <tt>{ "sub_profile": ... }</tt> matcher permits any actor of that type (for
example, <tt>ai_agent</tt>), as given by the <tt>sub_profile</tt> member of the
actor's object in the <tt>act</tt> claim
(<xref target="I-D.draft-mcguinness-oauth-mission"/>). An actor's <tt>sub_profile</tt> <bcp14>MAY</bcp14>
carry multiple space-separated values; a <tt>{ "sub_profile": ... }</tt>
matcher is satisfied when its value is among the actor's values.</t>
          </li>
        </ul>
        <t>A delegate matcher that carries both <tt>sub</tt> and <tt>sub_profile</tt> is
satisfied only when the delegate satisfies both. A delegate is permitted
if it satisfies any of the entry's delegate matchers, so a deployment
can permit a specific client, a class of actors, or both.</t>
        <t>The authorization server <bcp14>MUST</bcp14> authenticate the delegate at the Token
Exchange and assert the actor's <tt>sub</tt> and <tt>sub_profile</tt> itself. A
self-asserted <tt>sub_profile</tt> <bcp14>MUST NOT</bcp14> satisfy a delegate matcher;
otherwise a client could claim any actor type to bypass the constraint.</t>
        <t>A <tt>{ "sub": ... }</tt> matcher is a client identifier in the issuing
authorization server's namespace and is not portable across a trust
domain. <xref target="I-D.draft-mcguinness-oauth-mission-cross-domain"/> specifies
how an authorization server in another trust domain evaluates conveyed
delegate matchers, failing closed and narrowing out any <tt>sub</tt> matcher
it cannot resolve.</t>
      </section>
    </section>
    <section anchor="scope-projection">
      <name>Scope Projection</name>
      <t><xref target="I-D.draft-mcguinness-oauth-mission"/> states the semantic subset
condition and issuance algorithm an authorization server applies before
emitting <tt>scope</tt> for any <tt>authorization_details</tt> entry: the projected
scope's effective rights, together with every independently mandatory
control on the target's enforcement path, <bcp14>MUST</bcp14> be a subset of the rights
the applicable entries grant. This section states when that condition
holds for a <tt>mission_resource_access</tt> entry.</t>
      <t>A scope-projection mapping's entry for this type names, for a target
resource server:</t>
      <ul spacing="normal">
        <li>
          <t>the <tt>scope</tt> value or values it emits;</t>
        </li>
        <li>
          <t>the <tt>resource</tt> and <tt>resource_match</tt> it covers;</t>
        </li>
        <li>
          <t>the <tt>actions</tt> each <tt>scope</tt> value stands for;</t>
        </li>
        <li>
          <t>for every <tt>constraints</tt> key an entry may carry, whether the target
independently and identically enforces that key on the
<tt>scope</tt>-authorized path; and</t>
        </li>
        <li>
          <t>where an entry may carry <tt>resource_contract</tt>, the contract under which
the target performs the operations each <tt>scope</tt> value permits.</t>
        </li>
      </ul>
      <t>Projecting an entry's authority to <tt>scope</tt> is safe only when all of the
following hold:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>The mapping covers the same resource set.</strong> The mapping's <tt>scope</tt>
value is defined over the entry's <tt>resource</tt> and <tt>resource_match</tt>. A
<tt>prefix</tt> entry projects safely only when the mapping scopes the value
to that same prefix, or to a narrower resource within it whose
complete effective rights remain a subset of the entry's; a <tt>scope</tt>
value the target's own interpretation extends to a broader ancestor
resource is not a safe projection of a narrower <tt>prefix</tt> entry.</t>
        </li>
        <li>
          <t><strong>The actions match without aggregation.</strong> Every action granted by
the mapped <tt>scope</tt> value <bcp14>MUST</bcp14> be included in the applicable entry's
<tt>actions</tt>; the value <bcp14>MAY</bcp14> grant a proper subset of them. A <tt>scope</tt>
value that grants any additional action, including through an implied
action family, an aggregate of unrelated actions, or the union of
more than one entry's actions, fails this condition, because the
target grants every action the union names, not only the entry's.</t>
        </li>
        <li>
          <t><strong>Every carried <tt>constraints</tt> key is independently enforced.</strong> For
every key in the entry's <tt>constraints</tt>, the mapping states that the
target enforces that key, under a comparison at least as tight as the
entry's value, on the <tt>scope</tt>-authorized path. An entry with no
<tt>constraints</tt> satisfies this condition. A key the mapping does not
name as independently enforced fails the condition, as an unenforced
key fails closed at a resource server that consumes
<tt>authorization_details</tt> directly.</t>
        </li>
        <li>
          <t><strong>The contract is preserved.</strong> For an entry carrying
<tt>resource_contract</tt>, the mapping states that the target performs
every operation the mapped <tt>scope</tt> value permits under exactly the
referenced contract (<xref target="resource-contract"/>). A <tt>scope</tt> value conveys
no contract reference of its own. An entry without the member
satisfies this condition only where the target requires no reference
for those operations.</t>
        </li>
      </ol>
      <t>Advertising a key in <tt>mission_constraints_supported</tt>
(<xref target="protected-resource-metadata"/>) is not evidence that a projection
preserves the bound: condition 3 needs a control that holds on every
operation the projected <tt>scope</tt> value permits, at a value at least as
tight as the entry's. For example, where a target enforces a fixed
500.00 USD ceiling on every operation <tt>payments.small</tt> permits, an entry
whose <tt>max_amount</tt> is 500.00 USD projects safely to <tt>payments.small</tt>;
one whose <tt>max_amount</tt> is 200.00 USD does not, because the <tt>scope</tt> value
does not convey the entry's value.</t>
      <t>An entry failing any condition <bcp14>MUST NOT</bcp14> be projected to <tt>scope</tt>. Per
<xref target="I-D.draft-mcguinness-oauth-mission"/>'s issuance algorithm, the
authorization server then omits <tt>scope</tt> for that entry where the
target's enforcement path consumes <tt>authorization_details</tt>, and refuses
issuance to that target when it is <tt>scope</tt>-only (it consumes <tt>scope</tt> and
not <tt>authorization_details</tt>) and no other carried entry supplies a safe
projection.</t>
    </section>
    <section anchor="transformation-capabilities">
      <name>Transformation Capabilities</name>
      <t><xref target="I-D.draft-mcguinness-oauth-mission"/> requires an authorization server
to declare, for every <tt>authorization_details</tt> type it supports, whether
it understands the type's narrowing, delegation, and scope-projection
semantics. The declaration is made in deployment documentation or,
where available, the <tt>mission_transformation_capabilities</tt> carrier that
document defines.</t>
      <t>For <tt>mission_resource_access</tt>, an authorization server that implements
this document in full declares:</t>
      <dl>
        <dt><tt>narrowing</tt>: <tt>true</tt></dt>
        <dd>
          <t>The subset rule of <xref target="subset"/>, over every member this document
specifies, and the Common Constraint intersection rules of
<xref target="common-constraints"/> are fully defined. An authorization server <bcp14>MUST
NOT</bcp14> declare <tt>narrowing</tt> as <tt>true</tt> unless it implements these rules for
every Common Constraint of <xref target="initial-common-constraints"/>. The
declaration does not require a Common Constraint registered later; an
authorization server that does not support one refuses any derivation
that carries it (<xref target="common-constraints"/>).</t>
        </dd>
        <dt><tt>delegation</tt>: <tt>true</tt></dt>
        <dd>
          <t>The delegation policy of <xref target="delegate-eligibility"/> is fully defined; an
entry's <tt>delegation</tt> member states its own depth and eligibility
bounds.</t>
        </dd>
        <dt><tt>projection</tt>: <tt>true</tt></dt>
        <dd>
          <t>A safe scope projection is defined by <xref target="scope-projection"/>, whose
conditions apply to each entry before <tt>scope</tt> is emitted.</t>
        </dd>
      </dl>
      <t>An authorization server that implements only part of this document (for
example, one that never projects an entry to <tt>scope</tt>) leaves
<tt>projection</tt> undeclared rather than declaring it <tt>true</tt>, so
<xref target="I-D.draft-mcguinness-oauth-mission"/>'s carried-as-approved fallback
applies to <tt>scope</tt> projection for this type, as for an unsupported
type. Omitting <tt>projection</tt> from one carrier leaves it undeclared by
that carrier only, so a lower-priority carrier can still declare it
(<xref target="I-D.draft-mcguinness-oauth-mission"/>). Where no carrier declares it,
the authorization server emits no projected resource <tt>scope</tt> for this
type: it carries <tt>authorization_details</tt> where the target consumes them,
refuses issuance to a <tt>scope</tt>-only target only when no other applicable
carried entry supplies a safe projection, and answers an explicitly
requested <tt>scope</tt> it cannot grant as
<xref target="I-D.draft-mcguinness-oauth-mission"/> specifies.</t>
    </section>
    <section anchor="tools">
      <name>Modeling Tools and Function Calls</name>
      <t>This section is non-normative. A tool an agent invokes, such as a Model
Context Protocol (MCP) tool or a function call, is modeled as a
<tt>mission_resource_access</tt> entry, not a separate entry type: the subset
and delegation rules apply unchanged, and derivation, <tt>authority_hash</tt>,
and the Authority Set remain <xref target="I-D.draft-mcguinness-oauth-mission"/>'s.</t>
      <t>The mapping is:</t>
      <ul spacing="normal">
        <li>
          <t><tt>resource</tt> names the operation target the tool provider's operation
contract establishes for a call (<xref target="resource-matching"/>). The MCP
authorization model (<xref target="MCP"/>) makes an MCP server an OAuth 2.0
resource server with tokens audience-bound to its URL; its contract
can identify that URL or a finer target, such as a record a tool acts
on.</t>
        </li>
        <li>
          <t><tt>actions</tt> are the tool names the task needs at that provider,
consistent with MCP filtering its tool list by the caller's granted
authority and routing each tool call for authorization.</t>
        </li>
        <li>
          <t><tt>constraints</tt> limit a tool's arguments, for example with the
<tt>max_amount</tt> or <tt>recipient_domain</tt> Common Constraint
(<xref target="common-constraints"/>). <tt>authority_hash</tt> commits them and they are
carried to the point of use, where the resource server, or a runtime
enforcement layer acting for it, evaluates them against the call's
arguments; the authorization server does not evaluate them at
issuance (<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
        </li>
      </ul>
      <t>In the examples below, each MCP server's operation contract identifies
its URL as the operation target, so the actions and constraints
determine the permitted calls.</t>
      <t>The following Authority Set authorizes a Mission to read invoices and
post small adjustments through a finance MCP server, and to send
messages through a messaging MCP server:</t>
      <sourcecode type="json"><![CDATA[
[
  { "type": "mission_resource_access",
    "resource": "https://finance.example.com/mcp",
    "actions": ["query_invoices"] },
  { "type": "mission_resource_access",
    "resource": "https://finance.example.com/mcp",
    "actions": ["post_adjustment"],
    "constraints": {
      "max_amount": { "amount": "500.00", "currency": "USD" }
    } },
  { "type": "mission_resource_access",
    "resource": "https://mail.example.com/mcp",
    "actions": ["send_message"],
    "constraints": { "recipient_domain": "example.com" } }
]
]]></sourcecode>
      <t>An entry's <tt>constraints</tt> bind every action it lists, so the read tool
has its own entry, outside the adjustment tool's <tt>max_amount</tt> bound.</t>
      <t>Delegation to a sub-agent uses the same <tt>delegation</tt> member
(<xref target="delegate-eligibility"/>). A sub-agent of type <tt>ai_agent</tt> may exercise
the following Authority Set entry, approved with that member, at
depth 1 for the read tool only:</t>
      <sourcecode type="json"><![CDATA[
{ "type": "mission_resource_access",
  "resource": "https://finance.example.com/mcp",
  "actions": ["query_invoices"],
  "delegation": {
    "max_depth": 1,
    "allowed_delegates": [{ "sub_profile": "ai_agent" }]
  } }
]]></sourcecode>
      <t>Argument bounds are the flat <tt>constraints</tt> used for any resource. This
document defines no typed, attenuable per-argument grammar that narrows
a tool's argument schema (for example, <tt>amount</tt> in a <tt>range</tt>) as the
grant is derived or delegated. Such attenuation
(<xref target="I-D.draft-niyikiza-oauth-attenuating-agent-tokens"/>, with
object-capability systems such as UCAN as prior art) would extend the
delegation and subset model (<xref target="delegate-eligibility"/>, <xref target="subset"/>)
rather than introduce a new entry type.</t>
    </section>
    <section anchor="conformance">
      <name>Conformance</name>
      <t>An implementation conforms to this document in one of two roles.</t>
      <t>An <strong>authorization server</strong> conforms by supporting
<tt>mission_resource_access</tt> among the <tt>authorization_details</tt> types
<xref target="I-D.draft-mcguinness-oauth-mission"/> names in its approved set and
implementing:</t>
      <ul spacing="normal">
        <li>
          <t>schema validation of a proposed or carried entry against the type
definition (<xref target="resource-access-type"/>);</t>
        </li>
        <li>
          <t>either the approval-time assembly and validation of a
<tt>resource_contract</tt> reference, or refusal of every entry that carries
one (<xref target="resource-contract"/>); and</t>
        </li>
        <li>
          <t>the Transformation Capabilities declaration
(<xref target="transformation-capabilities"/>), stating which capabilities it
claims for this type.</t>
        </li>
      </ul>
      <t>For each capability it declares <tt>true</tt>, an authorization server also
implements:</t>
      <ul spacing="normal">
        <li>
          <t><strong>narrowing</strong>: the subset rule and the Common Constraint intersection
rules (<xref target="subset"/>, <xref target="common-constraints"/>);</t>
        </li>
        <li>
          <t><strong>delegation</strong>: the delegate eligibility test
(<xref target="delegate-eligibility"/>); and</t>
        </li>
        <li>
          <t><strong>projection</strong>: the four per-entry, per-target safety conditions of
<xref target="scope-projection"/> before emitting <tt>scope</tt>.</t>
        </li>
      </ul>
      <t>An authorization server that does not claim <tt>projection</tt> <bcp14>MUST NOT</bcp14> emit
<tt>scope</tt> for a <tt>mission_resource_access</tt> entry under
<xref target="I-D.draft-mcguinness-oauth-mission"/>'s issuance algorithm, and instead
omits <tt>scope</tt> or refuses issuance to a scope-only target, as that
document requires for any type without a declared projection.</t>
      <t>A <strong>resource server</strong> conforms by implementing the enforcement duties of
<xref target="rs-enforcement"/>, failing closed on a member, matching mode, or key it
does not implement:</t>
      <ul spacing="normal">
        <li>
          <t>the operation-target duties of <xref target="resource-matching"/>: establishing
the target from its operation contract, refusing an operation without
one unambiguous target, and executing the operation on the target it
matched;</t>
        </li>
        <li>
          <t>exact or prefix resource matching, and action and action-family
matching;</t>
        </li>
        <li>
          <t>enforcement of every carried <tt>constraints</tt> key it implements; and</t>
        </li>
        <li>
          <t><tt>resource_contract</tt> enforcement (<xref target="resource-contract"/>).</t>
        </li>
      </ul>
      <t>A resource server does not implement narrowing, delegate eligibility, or
the Transformation Capabilities declaration; those are the authorization
server's and do not bear on a resource server's conformance.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations of <xref target="I-D.draft-mcguinness-oauth-mission"/>
apply to everything upstream of a <tt>mission_resource_access</tt> entry: the
approval event, the integrity anchors, and issuance gating. Risks
specific to this type follow here and in the subsections below:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Comparison, not meaning.</strong> <xref target="subset"/> compares members, not effects:
a candidate that compares as no broader can still permit an effect the
parent's purpose never contemplated
(<xref target="I-D.draft-mcguinness-oauth-mission"/>).</t>
        </li>
        <li>
          <t><strong>An unenforced constraint widens the grant.</strong> A resource server or
scope projection that treats an unrecognized <tt>constraints</tt> key as
absent, or as disclosure-only, grants more than the entry authorizes;
<xref target="rs-enforcement"/> and <xref target="scope-projection"/> require failing closed.</t>
        </li>
        <li>
          <t><strong>A safe projection is per entry, not per type.</strong> An entry projects
safely only when the four conditions of <xref target="scope-projection"/> hold for
it and the mapping in force, whatever the type's general capability.</t>
        </li>
      </ul>
      <section anchor="resource-boundary-canonicalization">
        <name>Resource Boundary Canonicalization</name>
        <t>A <tt>prefix</tt> entry (<xref target="resource-access-type"/>) draws an authority boundary
in URI space, and <xref target="resource-matching"/> requires the authorization
server and the resource server to draw it with one normalization. A URI
matcher that normalizes differently from the party that derived the
entry can admit a request the Approver never authorized, or deny one the
Approver did. An <tt>exact</tt> entry is compared literally, so each vector
below concerns a <tt>prefix</tt> entry and turns on such a difference:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Encoded slash (<tt>%2F</tt>).</strong> A reserved octet, left encoded by the
normalization (which decodes only unreserved octets) and never a
path-segment separator when matching. An intermediary that decodes it
before the resource server enforces shifts the boundary; a deployment
<bcp14>MUST</bcp14> prevent that rewriting or account for it.</t>
          </li>
          <li>
            <t><strong>Encoded dot (<tt>%2e</tt>, <tt>%2e%2e</tt>).</strong> The <tt>.</tt> octet is unreserved, so the
normalization decodes it and then removes dot-segments. The hazard is
order: matching the raw string first and letting a downstream
component decode and collapse afterward can escape the prefix;
<xref target="resource-matching"/> requires normalizing first.</t>
          </li>
          <li>
            <t><strong>Double or empty path segments.</strong> A URI matcher that coalesces <tt>//</tt>
or trailing-slash differences beyond the empty-path equivalence draws
a boundary the normalization does not; <xref target="resource-matching"/> forbids
it.</t>
          </li>
          <li>
            <t><strong>Default-port presence.</strong> <tt>https://a.example:443</tt> and
<tt>https://a.example</tt> are one authority only after the default-port
removal of <xref target="resource-matching"/>; a URI matcher that skips it splits
one boundary into two.</t>
          </li>
          <li>
            <t><strong>Unicode and IDNA host.</strong> The normalization defines no IDNA
conversion, so two sides that convert differently draw different
boundaries; <xref target="resource-matching"/> requires them to compare the same
form.</t>
          </li>
          <li>
            <t><strong>Percent-decoding order.</strong> Decoding reserved octets, or decoding
after the comparison, changes which characters count as separators
and can move the boundary (<xref target="resource-matching"/>).</t>
          </li>
        </ul>
        <t>This document defines one rule (<xref target="resource-matching"/>), so
interoperation requires no canonicalization profile identifier.</t>
      </section>
      <section anchor="action-family-growth">
        <name>Action Family Growth</name>
        <t>An action family (<xref target="resource-access-type"/>) authorizes every action
under its name, including one the resource adds after approval. A
durable approval naming <tt>invoices.*</tt> therefore authorizes an <tt>invoices</tt>
action the resource defines later, which can confer more authority than
any action the Approver saw.</t>
        <t>The family guidance in <xref target="resource-access-type"/> narrows this risk but
does not remove it: it is a recommendation to the resource and does not
freeze an existing family's membership. Without a <tt>resource_contract</tt>
reference (<xref target="resource-contract"/>), this document defines no rule that
binds an entry to the action semantics its resource documented at
approval. An Approver or authorization server that needs a fixed set of
actions approves or derives literal actions rather than a family.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The Privacy Considerations of <xref target="I-D.draft-mcguinness-oauth-mission"/>
apply to every <tt>mission_resource_access</tt> entry as part of the Authority
Set that carries it. Every party that receives an entry, such as the
client and the resource server, sees each of its members, including the
following data elements this type adds:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Contract identifiers and versions.</strong> A <tt>resource_contract</tt>
reference names a contract and the version an entry was approved
under. Both can identify the service a task uses, and the version can
date the approval.</t>
        </li>
        <li>
          <t><strong>Resource and constraint values.</strong> A <tt>resource</tt> value can name an
individual record or account (<tt>https://api.example/orders/123</tt>), and
<tt>tenant</tt>, <tt>recipient_domain</tt>, and <tt>data_classification</tt> values can
identify an organization, the domains a task sends to, and the
sensitivity of the data it touches.</t>
        </li>
        <li>
          <t><strong>Delegate identifiers.</strong> An <tt>allowed_delegates</tt> <tt>sub</tt> matcher names
a specific client. A resource server receives it with the entry
although it can disregard <tt>delegation</tt> (<xref target="rs-enforcement"/>).</t>
        </li>
        <li>
          <t><strong>Metadata fingerprinting.</strong> A protected resource's
<tt>mission_constraints_supported</tt> metadata
(<xref target="protected-resource-metadata"/>) is published, and the keys it lists
can fingerprint the resource's software or policy.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="type-registration">
        <name>The Mission Resource Access Authorization Details Type</name>
        <t><tt>mission_resource_access</tt> is an <tt>authorization_details</tt> type
(<xref section="2" sectionFormat="of" target="RFC9396"/>), defined in <xref target="resource-access-type"/>.
<xref target="RFC9396"/> establishes no IANA registry of such types (the
authorization server interprets type identifiers), so this document
requests no IANA action for it.</t>
      </section>
      <section anchor="oauth-protected-resource-metadata-registration">
        <name>OAuth Protected Resource Metadata Registration</name>
        <t>This document requests registration of the following value in the "OAuth
Protected Resource Metadata" registry (<xref target="RFC9728"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>mission_constraints_supported</tt></t>
          </li>
          <li>
            <t>Metadata Description: JSON array of the <tt>constraints</tt> keys the
protected resource understands and enforces</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="protected-resource-metadata"/> of this
document</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-common-constraints">
        <name>Common Constraints Registry</name>
        <t>This document establishes the "Mission Common Constraints" registry in
the "OAuth Parameters" registry group. The registration policy is
Specification Required (<xref target="RFC8126"/>). The Designated Experts check that
a submission:</t>
        <ul spacing="normal">
          <li>
            <t>uses a name matching <tt>^[A-Za-z0-9_.:-]+$</tt> that is not already
registered;</t>
          </li>
          <li>
            <t>gives a JSON value syntax (<xref target="RFC8259"/>) precise enough for independent
implementations to agree on;</t>
          </li>
          <li>
            <t>states a subset rule and an intersection rule, both in value-space
terms (<xref target="value-space-comparison"/>), with the intersection of any two
valid values never broader than either operand;</t>
          </li>
          <li>
            <t>names the value, if any, that is equivalent to omitting the member;
and</t>
          </li>
          <li>
            <t>states the input the constraint reads at the point of use and the
predicate that input meets, in value-space terms, precisely enough
that independent resource servers, given the same declared policy and
authoritative inputs, agree on which operations are within the bound.</t>
          </li>
        </ul>
        <t>A specification-defined name is coordinated through this registry. Any
other <tt>constraints</tt> member name is deployment-defined and stays outside
the registry.</t>
        <t>Each registration records:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Key Name</strong>: the <tt>constraints</tt> member name.</t>
          </li>
          <li>
            <t><strong>Value Syntax</strong>: the JSON value type and any additional syntax rules.</t>
          </li>
          <li>
            <t><strong>Subset Rule</strong>: how a candidate value is judged no broader than a
reference value.</t>
          </li>
          <li>
            <t><strong>Intersection Rule</strong>: how two values for the key combine into a
result no broader than either operand.</t>
          </li>
          <li>
            <t><strong>Input</strong>: what the constraint reads at the point of use.</t>
          </li>
          <li>
            <t><strong>Predicate</strong>: the condition the input meets when an operation is
within the bound.</t>
          </li>
          <li>
            <t><strong>Omission-Equivalent Value</strong>: the value that is equivalent to
omitting the member (<xref target="subset"/>), or "none".</t>
          </li>
          <li>
            <t><strong>Change Controller</strong>: IETF, or the registrant for any other
registration.</t>
          </li>
          <li>
            <t><strong>Reference</strong>: the specification defining the key.</t>
          </li>
        </ul>
        <t>The registry's initial contents are the Common Constraints of
<xref target="initial-common-constraints"/>. For each, the Change Controller is IETF,
the Reference is <xref target="initial-common-constraints"/> of this document, which
holds the full text the tables summarize, and the Omission-Equivalent
Value is "none", except for <tt>requires_action_approval</tt>, whose
Omission-Equivalent Value is <tt>false</tt>.</t>
        <table>
          <name>Initial Mission Common Constraints registry</name>
          <thead>
            <tr>
              <th align="left">Key Name</th>
              <th align="left">Value Syntax</th>
              <th align="left">Subset Rule</th>
              <th align="left">Intersection Rule</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>max_amount</tt></td>
              <td align="left">Object: <tt>amount</tt> (decimal string), <tt>currency</tt> (ISO 4217 code)</td>
              <td align="left">Same currency; candidate &lt;= reference</td>
              <td align="left">Same currency; the smaller amount</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_issued_after</tt></td>
              <td align="left">String, RFC 3339 date-time</td>
              <td align="left">Candidate &gt;= reference</td>
              <td align="left">The later instant</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_issued_before</tt></td>
              <td align="left">String, RFC 3339 date-time</td>
              <td align="left">Candidate &lt;= reference</td>
              <td align="left">The earlier instant</td>
            </tr>
            <tr>
              <td align="left">
                <tt>tenant</tt></td>
              <td align="left">String</td>
              <td align="left">Equal</td>
              <td align="left">The shared value</td>
            </tr>
            <tr>
              <td align="left">
                <tt>recipient_domain</tt></td>
              <td align="left">String, DNS name</td>
              <td align="left">Equal or a subdomain</td>
              <td align="left">The narrower value</td>
            </tr>
            <tr>
              <td align="left">
                <tt>time_window</tt></td>
              <td align="left">Object: <tt>not_before</tt> and <tt>not_after</tt> (RFC 3339 date-time)</td>
              <td align="left">Candidate window within reference window</td>
              <td align="left">The overlap</td>
            </tr>
            <tr>
              <td align="left">
                <tt>data_classification</tt></td>
              <td align="left">Array of strings</td>
              <td align="left">Candidate a subset of reference</td>
              <td align="left">The common members</td>
            </tr>
            <tr>
              <td align="left">
                <tt>allowed_tools</tt></td>
              <td align="left">Array of strings</td>
              <td align="left">Candidate a subset of reference</td>
              <td align="left">The common members</td>
            </tr>
            <tr>
              <td align="left">
                <tt>requires_action_approval</tt></td>
              <td align="left">Boolean</td>
              <td align="left">Candidate <tt>true</tt> or equal to reference</td>
              <td align="left">The logical OR</td>
            </tr>
          </tbody>
        </table>
        <table>
          <name>Initial Mission Common Constraints registry: inputs and predicates</name>
          <thead>
            <tr>
              <th align="left">Key Name</th>
              <th align="left">Input</th>
              <th align="left">Predicate</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>max_amount</tt></td>
              <td align="left">The action's amount and currency</td>
              <td align="left">Same currency; input amount &lt;= bound</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_issued_after</tt></td>
              <td align="left">The resource's recorded issuance instant</td>
              <td align="left">Input &gt;= value</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource_issued_before</tt></td>
              <td align="left">The resource's recorded issuance instant</td>
              <td align="left">Input &lt;= value</td>
            </tr>
            <tr>
              <td align="left">
                <tt>tenant</tt></td>
              <td align="left">The resource's authoritative tenant</td>
              <td align="left">Equal</td>
            </tr>
            <tr>
              <td align="left">
                <tt>recipient_domain</tt></td>
              <td align="left">Every final recipient</td>
              <td align="left">Every domain equal or a subdomain</td>
            </tr>
            <tr>
              <td align="left">
                <tt>time_window</tt></td>
              <td align="left">The enforcement point's clock at use</td>
              <td align="left">Within the window, inclusive</td>
            </tr>
            <tr>
              <td align="left">
                <tt>data_classification</tt></td>
              <td align="left">The labels of all data read or written</td>
              <td align="left">Every label among the values</td>
            </tr>
            <tr>
              <td align="left">
                <tt>allowed_tools</tt></td>
              <td align="left">The dispatched or verified capability identity</td>
              <td align="left">Among the values</td>
            </tr>
            <tr>
              <td align="left">
                <tt>requires_action_approval</tt></td>
              <td align="left">When <tt>true</tt>, the action-bound approval</td>
              <td align="left">When <tt>true</tt>, a verified, fresh, bound approval</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC5890">
          <front>
            <title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document is one of a collection that, together, describe the protocol and usage context for a revision of Internationalized Domain Names for Applications (IDNA), superseding the earlier version. It describes the document collection and provides definitions and other material that are common to the set. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5890"/>
          <seriesInfo name="DOI" value="10.17487/RFC5890"/>
        </reference>
        <reference anchor="RFC8259">
          <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="RFC8693">
          <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="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="RFC9728">
          <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="ISO4217">
          <front>
            <title>ISO 4217:2015, Codes for the representation of currencies and funds</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="ISO" value="4217:2015"/>
        </reference>
        <reference anchor="I-D.draft-mcguinness-oauth-mission">
          <front>
            <title>Mission-Bound Authorization for OAuth 2.0</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026" month="October" day="21"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-mission-01"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6750">
          <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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="I-D.draft-niyikiza-oauth-attenuating-agent-tokens">
          <front>
            <title>Attenuating Authorization Tokens for Agentic Delegation Chains</title>
            <author fullname="Niki Aimable" initials="N." surname="Aimable">
              <organization>Tenuo</organization>
            </author>
            <date day="15" month="June" year="2026"/>
            <abstract>
              <t>   This document defines Attenuating Authorization Tokens (AATs), a
   signed credential format for task-scoped delegation in AI agent
   systems.  An AAT encodes the tools an agent may invoke and the
   argument constraints that apply to those invocations.  A token holder
   authorized to delegate can derive a token offline with equal or
   narrower authority, subject to the parent token's depth and lifetime
   limits.  The resulting delegation chain is verifiable offline by any
   enforcement point that has the root issuer's trust anchor key.

   This specification profiles the OAuth Rich Authorization Requests
   format (RFC 9396) for tool-level capability claims, adds delegation-
   chain claims, and defines a core constraint vocabulary for argument
   restrictions.  The chain verification algorithm authenticates each
   delegation step and enforces monotonic attenuation without network
   contact with the root issuer.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-niyikiza-oauth-attenuating-agent-tokens-01"/>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization">
          <front>
            <title>Model Context Protocol: Authorization</title>
            <author>
              <organization>Model Context Protocol Project</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-mcguinness-mission-metering" target="https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-metering.html">
          <front>
            <title>Mission Consumption Metering</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-mcguinness-mission-authzen" target="https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-authzen.html">
          <front>
            <title>Mission-Bound Runtime Enforcement: AuthZEN Profile</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-mcguinness-oauth-mission-transaction-authorization" target="https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission-transaction-authorization.html">
          <front>
            <title>Mission Transaction Authorization Profile for OAuth 2.0</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-mcguinness-mission-capability-binding" target="https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-capability-binding.html">
          <front>
            <title>Mission Capability Binding</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-mcguinness-mission-runtime" target="https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-runtime.html">
          <front>
            <title>Mission-Bound Runtime Enforcement</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-mcguinness-oauth-mission-cross-domain" target="https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission-cross-domain.html">
          <front>
            <title>Mission Cross-Domain Projection for OAuth 2.0</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1650?>

<section anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]</t>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version, split from <xref target="I-D.draft-mcguinness-oauth-mission"/>.
Defines the <tt>mission_resource_access</tt> entry (<tt>resource</tt> and
<tt>resource_match</tt>, <tt>actions</tt> with action families, <tt>constraints</tt>,
<tt>delegation</tt>, and <tt>resource_contract</tt>) and its Entry Validation,
including Decimal Values; Resource Matching, with the operation
target, the operation contract, literal <tt>exact</tt> matching, and
normalized <tt>prefix</tt> matching; the Subset Rule; Common Constraints,
with nine initial constraints, Value-Space Comparison, and the
Mission Common Constraints registry, which records each constraint's
omission-equivalent value; Resource Server Enforcement and
the <tt>mission_constraints_supported</tt> metadata member; Resource
Contracts; Delegate Eligibility and <tt>allowed_delegates</tt> matching; the
type's scope-projection safety conditions and Transformation
Capabilities declaration; the authorization server and resource
server conformance roles; guidance for modeling tools and function
calls; and the Resource Boundary Canonicalization and Action Family
Growth considerations.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was split from Mission-Bound Authorization for OAuth 2.0
<xref target="I-D.draft-mcguinness-oauth-mission"/>, where <tt>mission_resource_access</tt>
was originally defined.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+296X7cVpIn+h1PgUtNjSR2ZmqzXRZZ1T3U4im1bUlXkstT
5fIwwUyQhJUJZAFIUbSsepZ5lnmyG/uJgyVJucvT8+H2r7tNIYGzxokT6z+m
02nSFu0qP0j3vi2apqjK9FXeVNt6kadHi0XeNOnLujotVnl6WtXpi6Nte57e
n93dS7KTkzp/B9/xs5Gv95JF1uZnVX15kDbtMkmW1aLM1tDfss5O2+l6cbYt
yhLenFYZtDNdczvTWtqZZtTO9O7dpNmeyK/t5QZaePb0zVfJRVW/Paur7eYg
/T4/SXEsVV38nLU4GBh6Wy2qVVJu1yd5fZAsYTAHyaIqm7xsts1B2tbbPIFZ
PEje5pfQ1vIgSacpDQX/kP7wz+wsL1v6w3eBD+qsTt7l5RZaTtOzoj3fnsCy
hJnd0TmdVNtyOY2+34NPVjCopoVPztt20xzcuRM+nXFzs6La1cidT1vL2Xm7
Xu0lCbeBE4ZBpOnpdrXirfk6q1fpt4v/Lq3Rr1V9lpXSHyx9ucw3Ofw/XBL4
n3ydFauDdLM9WRWL//YWvndzWFTrJCmreg0fv6NFevXV4wcPHjzUPx9++YX8
+fmXD+/Kn1/e/1xf+PKLhw/0z99/+bn8+fDePX334YOH2sLD39//Ev989vrF
Z/fv/f6AhqckDg9Tenr/7r3PJ+njapk3RNfteZ7W+QYWCmbEtFOdpottXefl
ooCXsnIJC1Qumz1q0JYulbXBJWnzuqRvs1X6wi0X9fC6hSayeml0A/9D1Jji
WKZ3v6QnTV5Db0V5WmnbMGQYuA0au382fTLbvePxrOVoTh8h5XROSOdQ9+c2
lf+maVHCefl61iUM/J9xstEp3v9ieu/u9P69sVnS4uXt9AnO60rmcPdekuDn
MUl98fvPjXju3SeCCEtVFpfFW5i1tJS1LZxY+Lo8m9LJnrbVW+AJ+NG3j192
FhDoZAXUAoN83xpTOYiXkhevzeqzHCZgRxk/XfCXG/kQT3OzyRfFabHg80vr
c/f30/tf3jnJmmJxp8Nj+rvCNDc8MPzjp3zRdjZgjHJ0Udc57AGsxyDxYCfN
dr0hovlW3hyZ8n+Ye3VHRAzrt6TNq5YGu/0533msXm3Ltljn6VMky0W+BpJi
Avnr0+d6hf7W6yXD/E9brviQtnVWNtmi1ZHZBIYJ7E14vX+LDwkgv81aXnMO
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

-->

</rfc>
