<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.3.12) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-gamb-uma4agents-multiparty-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Multi-Party Authorization">Multi-Party Authorization for User-Managed Access (UMA) 2.0</title>

    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization>MindGarden LLC</organization>
      <address>
        <email>nickgamb@gmail.com</email>
      </address>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization>Venn Factory</organization>
      <address>
      </address>
    </author>

    <date year="2026" month="September" day="11"/>

    <area>Security</area>
    
    <keyword>UMA</keyword> <keyword>authorization</keyword> <keyword>organization</keyword> <keyword>co-ownership</keyword> <keyword>joint accounts</keyword> <keyword>delegation</keyword>

    <abstract>


<?line 105?>

<t>User-Managed Access (UMA) 2.0 has one deciding party per protected resource.
That holds while a resource has one owner and fails in two directions.</t>

<t>Part I of this document specifies a layer above the resource owner: an
organization that shares a resource with its members publishes a charter, each
member's authorization server narrows her terms to the charter's envelope on
write, and the organization is asked once per request over a resource it
claims. It may only narrow. Its role model carries one field UMA has no place
for — whose agent may act on a shared resource.</t>

<t>Part II specifies owners of equal standing: a mandate naming who is entitled to
be counted and how many it takes, a signed verdict from each owner's
authorization server bound to one negotiation and one agreement, and a tally
that folds the owners' terms into the single document the agent signs and issues
a grant carrying the verdicts. The enforcement point re-verifies every verdict
and re-runs the count, so the counting party is unable to lie rather than
trusted.</t>



    </abstract>



  </front>

  <middle>


<?line 125?>

<section anchor="introduction"><name>Introduction</name>

<t><xref target="UMAGrant"/> names a <em>resource rights administrator</em> — someone who administers
access to resources she does not necessarily own — and gives the role no wire
surface. <xref target="PP2PI"/> lays out four states of co-administration of one person's
records and a mechanism for none of them. And nothing in UMA expresses "these
parties must both agree", nor lets a relying party check that they did.</t>

<t>The agent era makes both gaps urgent rather than academic. The moment a
resource is shared, "may her agent touch it" is a question about <em>parties</em> —
about whose agent, acting for whom, under whose ceiling — and there is nowhere
in UMA 2.0 to put the answer.</t>

<t>This document adds two arrangements. In both, the four beats of <xref target="U4ACore"/> are
untouched: the challenge, the ticket, the proffered terms, the agreement and the
grant are the same on a shared resource as on a personal one. A requesting agent
cannot tell the difference and does not need to. Everything added is either a
document one party publishes or a question asked of a party that already
existed.</t>

<section anchor="relationship-to-the-set"><name>Relationship to the Set</name>

<t>This document is an <bcp14>OPTIONAL</bcp14> extension of <xref target="U4ACore"/> and depends on
<xref target="U4ATerms"/>, <xref target="U4AFedAuthz"/> and <xref target="U4APolicy"/>. Its identifying URI is
<spanx style="verb">https://u4a.ai/spec/multiparty/1.0</spanx>. An implementation <bcp14>MAY</bcp14> implement Part I,
Part II, or both.</t>

</section>
<section anchor="notational-conventions"><name>Notational Conventions</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>Throughout, a <em>policy unit</em> is as defined in <xref target="U4APolicy"/> Section 2.</t>

</section>
</section>
<section anchor="organization"><name>Part I: A Layer Above the Owner</name>

<section anchor="org-parties"><name>Parties</name>

<dl>
  <dt>Organization:</dt>
  <dd>
    <t>A party that holds resources and shares administration of them with its
members. It publishes a charter, answers a decision endpoint, and signs
documents its members' authorization servers verify against keys it
publishes.</t>
  </dd>
  <dt>Member:</dt>
  <dd>
    <t>A resource owner under <xref target="U4ACore"/> who has enrolled with an organization.
Her authorization server is hers; the organization is a party it consults.</t>
  </dd>
</dl>

<t>The organization and the member's user agent have no relationship, and this
document does not invent one. Every message from the organization is addressed
to the member's authorization server.</t>

</section>
<section anchor="charter"><name>The Charter</name>

<t>An organization <bcp14>MUST</bcp14> publish a charter, versioned, carrying:</t>

<dl>
  <dt>claims:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. Patterns naming the resources the organization holds. A pattern
<bcp14>MUST</bcp14> name a namespace: it <bcp14>MUST NOT</bcp14> place a wildcard in the segment that
identifies whose resource it is, since such a claim would reach a member's
own resources and jointly held ones alike.</t>
  </dd>
  <dt>roles:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. Named roles, each with <spanx style="verb">grants</spanx> (patterns within <spanx style="verb">claims</spanx> the role
may reach) and <spanx style="verb">delegation</spanx> (<xref target="delegation"/>).</t>
  </dd>
  <dt>envelope:</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. A ceiling on the terms a member may write over claimed resources
(<xref target="envelope"/>).</t>
  </dd>
  <dt>break_glass:</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. Whether and over which claimed resources the organization may reach
past a member (<xref target="break-glass"/>).</t>
  </dd>
</dl>

<t>The pattern language <bcp14>MUST</bcp14> be segment-wise, with a wildcard matching one segment
and never crossing a separator, and <bcp14>MUST</bcp14> offer neither alternation nor a
recursive wildcard. Four evaluators have to agree on what a pattern matches —
the organization's service, the member's authorization server, the enforcement
point, and any policy engine the organization runs — and a language small enough
to be checked by reading is the only kind that can be.</t>

</section>
<section anchor="delegation"><name>Delegation</name>

<t>Each role <bcp14>MUST</bcp14> carry a <spanx style="verb">delegation</spanx> value, one of:</t>

<dl>
  <dt><spanx style="verb">none</spanx>:</dt>
  <dd>
    <t>The member may reach the resource herself. No agent acting for her may.</t>
  </dd>
  <dt><spanx style="verb">first-party-only</spanx>:</dt>
  <dd>
    <t>An agent the member activated herself (<xref target="U4APolicy"/> Section 5) may be
granted access under her terms. An agent somebody else runs may not,
whatever her own terms say.</t>
  </dd>
  <dt><spanx style="verb">any-agent</spanx>:</dt>
  <dd>
    <t>Any agent, subject to her terms and the charter.</t>
  </dd>
</dl>

<t><spanx style="verb">delegation</spanx> does not say what may be accessed. It says <em>whose agent</em> may do
the accessing, on behalf of which person. That is a statement about parties
rather than permissions, and it is only expressible because the member's
authorization server can already distinguish an agent she activated from one
somebody else operates.</t>

</section>
<section anchor="envelope"><name>The Envelope, Clamped on Write</name>

<t>An envelope <bcp14>MAY</bcp14> carry:</t>

<dl>
  <dt>max_expires_in:</dt>
  <dd>
    <t>A member's <spanx style="verb">expires_in</spanx> over claimed resources comes down to this.</t>
  </dd>
  <dt>allowed_scopes:</dt>
  <dd>
    <t>Scopes not in it are removed from her terms.</t>
  </dd>
  <dt>require_prohibited:</dt>
  <dd>
    <t>Prohibitions missing from her terms are added.</t>
  </dd>
  <dt>always_ask:</dt>
  <dd>
    <t>Patterns over which her policy units are set to ask her every time.</t>
  </dd>
</dl>

<t>Every envelope field moves a member's terms in one direction only. There <bcp14>MUST</bcp14>
be no field that lengthens an expiry, adds a scope, removes a prohibition, or
turns off an ask.</t>

<t>A member's authorization server <bcp14>MUST</bcp14> apply the envelope when a policy unit over
a claimed resource is written, and again whenever the charter changes, by
issuing a new version of the unit's terms document through the same path as
one of her own edits. It <bcp14>MUST NOT</bcp14> apply the envelope only at grant time.</t>

<t>The clamp is applied on write so that the ceiling appears in the terms document
the requesting side dereferences and signs, rather than being applied invisibly
at the door. A terms document <bcp14>MUST</bcp14> state that a layer above the owner is in
force over its resources: an agent reads the document before it signs anything,
and that is the only moment at which "these terms are not hers alone" is
information it can act on.</t>

</section>
<section anchor="decision"><name>The Decision</name>

<t>For each request over a resource the charter claims, the member's authorization
server <bcp14>MUST</bcp14> ask the organization's decision endpoint once, presenting the facts
of the request, and <bcp14>MUST</bcp14> fold the answer into its own. The facts are a JSON
object carrying <spanx style="verb">resource_id</spanx>, the <spanx style="verb">scopes</spanx> attempted, the policy unit as
<spanx style="verb">tier</spanx>, the <spanx style="verb">expires_in</spanx>, <spanx style="verb">purpose</spanx>, <spanx style="verb">reason</spanx>, <spanx style="verb">mission</spanx> and <spanx style="verb">operation</spanx> of the
agreement, and the <spanx style="verb">assurance</spanx> and <spanx style="verb">standing</spanx> facts of <xref target="U4APolicy"/>; the
member's authorization server presents its membership credential with them.</t>

<t>The organization answers <spanx style="verb">allow</spanx>, <spanx style="verb">ask</spanx> or <spanx style="verb">refuse</spanx>, with reasons. <spanx style="verb">allow</spanx> means
the organization has no objection, not that the request is granted. The
composition rule is one sentence: <strong>both layers must allow, and either may
refuse.</strong> An organization's <spanx style="verb">ask</spanx> raises the member's <spanx style="verb">auto</spanx> to <spanx style="verb">ask</spanx>, and the
member <bcp14>MUST</bcp14> be shown the organization's reasons separately from her own.</t>

<t>An organization's decision <bcp14>MUST NOT</bcp14> widen what the member's policy would decide.
Where the organization cannot be reached, the member's authorization server <bcp14>MUST</bcp14>
refuse requests over claimed resources; a ceiling nobody can read is not a
ceiling.</t>

<t>A request over a resource the charter does not claim <bcp14>MUST NOT</bcp14> be sent to the
organization.</t>

</section>
<section anchor="org-visibility"><name>What the Organization May See</name>

<t>An organization <bcp14>MAY</bcp14> be given a view of a member's pending requests,
connections, operators and record, filtered by the member's authorization
server to entries concerning resources the charter claims. It <bcp14>MUST NOT</bcp14> be able
to read the member's policy; at most it may be told which of its envelope fields
bound and whether her units are within the envelope.</t>

<t>The filtering is the member's authorization server's, applied before it
answers, and is not the organization's to respect.</t>

</section>
<section anchor="org-acting"><name>Acting for a Member</name>

<t>An organization <bcp14>MAY</bcp14> answer a pending request on a member's behalf, and <bcp14>MAY</bcp14> end
an agent's reach to claimed resources. When it does:</t>

<t><list style="symbols">
  <t>the record <bcp14>MUST</bcp14> name the organization's administrator, and <bcp14>MUST NOT</bcp14> record the
decision as the member's (<xref target="U4APolicy"/> Section 8.4);</t>
  <t>an agent shut out by the organization loses its reach to claimed resources
only, held in the membership record so that it ends when the membership does,
and its standing with the member over her own resources is untouched;</t>
  <t>an introspection response for a grant so affected carries <spanx style="verb">error</spanx> of
<spanx style="verb">organization_revoked</spanx> (<xref target="U4AFedAuthz"/> Section 6).</t>
</list></t>

</section>
<section anchor="enrolment"><name>Enrolment and Leaving</name>

<t>A member's authorization server <bcp14>MUST NOT</bcp14> enrol her with an organization without
her explicit agreement to a specific charter version, and <bcp14>MUST</bcp14> show her, before
she agrees, what enrolling would change about terms she has already written.</t>

<t>The organization issues a membership credential to her authorization server at
enrolment — a JWT with <spanx style="verb">typ</spanx> of <spanx style="verb">u4a-membership+jwt</spanx>, signed by the
organization, naming the member as <spanx style="verb">sub</spanx> and the organization as <spanx style="verb">org</spanx> —
and that server presents it as a bearer credential on every call to the
organization. The organization <bcp14>MUST</bcp14> be able to end a membership and <bcp14>MUST</bcp14>
notify the member's authorization server when it does, when her role changes,
or when the charter changes. A notice is a JWT with <spanx style="verb">typ</spanx> of
<spanx style="verb">u4a-org-notice+jwt</spanx>, signed by the organization and verified by the member's
server against the keys it publishes, whose <spanx style="verb">kind</spanx> is one of
<spanx style="verb">membership_ended</spanx>, <spanx style="verb">role_changed</spanx>, <spanx style="verb">charter_changed</spanx>, <spanx style="verb">break_glass_opened</spanx>,
<spanx style="verb">break_glass</spanx> or <spanx style="verb">break_glass_used</spanx>.</t>

<t>Leaving <bcp14>MUST</bcp14> withdraw the member's access to claimed resources and the ceiling
over her, and <bcp14>MUST</bcp14> leave every narrowing the ceiling applied in place. Her terms
were narrowed with her agreement and republished under a new version; undoing
that would silently widen what agents holding agreements over those versions are
held to.</t>

</section>
<section anchor="break-glass"><name>Break-Glass</name>

<t>Where the charter enables it, the organization <bcp14>MAY</bcp14> reach a claimed resource
without the member's authorization server, by issuing a grant it signs itself.
Such a grant <bcp14>MUST</bcp14> be single-use, bound to a key, short-lived, and over a
resource the charter both claims and names for this purpose. The enforcement
point <bcp14>MUST</bcp14> recognise it by issuer and <bcp14>MUST</bcp14> introspect it with the organization
rather than with the member's authorization server.</t>

<t>The member <bcp14>MUST</bcp14> be notified at the moment the window opens, before any data
moves. Break-glass cannot be a flag on an ordinary grant: it has to be a grant
the organization signs, checked with the organization, bounded by a clause the
member was shown before she joined, and unable to be quiet.</t>

</section>
</section>
<section anchor="joint"><name>Part II: Owners of Equal Standing</name>

<section anchor="joint-parties"><name>Parties</name>

<dl>
  <dt>Holder:</dt>
  <dd>
    <t>A resource owner under <xref target="U4ACore"/> who holds a resource jointly with others.
Each holder has her own authorization server.</t>
  </dd>
  <dt>Tally:</dt>
  <dd>
    <t>A party that publishes the mandate, folds the holders' terms into one
document, collects verdicts, and issues a grant carrying them. It speaks the
authorization-server surface of <xref target="U4ACore"/> to the requesting agent, which
cannot tell it from an authorization server and does not need to.</t>
  </dd>
</dl>

<t>With no party above the holders, the decision cannot be put anywhere without
privileging the place it is put. The tally is that place, and the rest of Part
II is what makes it unable to lie rather than trusted.</t>

</section>
<section anchor="mandate"><name>The Mandate</name>

<t>The tally <bcp14>MUST</bcp14> publish, for each jointly held resource, a mandate carrying:</t>

<dl>
  <dt>resources:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. At least one resource identifier or pattern.</t>
  </dd>
  <dt>holders:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. At least two, each with <spanx style="verb">owner</spanx>, an <spanx style="verb">https</spanx> <spanx style="verb">issuer</spanx> naming her
authorization server, and an integer <spanx style="verb">weight</spanx> of at least one. An owner <bcp14>MUST
NOT</bcp14> appear twice.</t>
  </dd>
  <dt>rule:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. <spanx style="verb">kind</spanx> of <spanx style="verb">all</spanx>, <spanx style="verb">any</spanx> or <spanx style="verb">threshold</spanx>, normalised to a numeric
<spanx style="verb">threshold</spanx>: the total weight for <spanx style="verb">all</spanx>, the lightest holder's weight for
<spanx style="verb">any</spanx>, and a stated value between one and the total for <spanx style="verb">threshold</spanx>.</t>
  </dd>
</dl>

<t>A holder's authorization server <bcp14>MUST</bcp14> store the mandate she agreed to, <bcp14>MUST</bcp14>
re-ask her when the published mandate differs from it in holders, threshold or
resources, and <bcp14>MUST</bcp14> refuse to count a holder who has written no terms over the
resource.</t>

<t>A deployment <bcp14>MAY</bcp14> fix a floor below which no mandate's threshold may go. The
interesting real-world version of this is not a group choosing its own quorum;
it is a regulator or an account agreement fixing one, and a floor set from
outside answers the question a self-chosen quorum cannot.</t>

<t>Authoring a mandate is where "who decides who decides" lives, and this document
leaves it to configuration.</t>

</section>
<section anchor="fold"><name>The Fold</name>

<t>When a requesting agent presents a ticket for a jointly held resource, the tally
<bcp14>MUST</bcp14> obtain each holder's terms over it from her authorization server and <bcp14>MUST</bcp14>
fold them into one terms document: the shortest expiry, the intersection of
scopes, the union of prohibitions, and ask-me if any holder asks. It proffers
that document under <xref target="U4ATerms"/>, and the agent signs it once.</t>

<t>The fold is the clamp of <xref target="envelope"/> applied sideways: each holder's terms are
a ceiling on the running document. An implementation <bcp14>SHOULD</bcp14> use one
implementation of the narrowing for both, since two would be two chances to
disagree about what "narrower" means in the two places where disagreeing is
worst.</t>

</section>
<section anchor="verdict"><name>Verdicts</name>

<t>Each holder's authorization server, asked by the tally about one negotiation,
<bcp14>MUST</bcp14> answer with a verdict: a JWS <xref target="RFC7515"/> signed by that server with a <spanx style="verb">typ</spanx>
of <spanx style="verb">u4a-verdict+jwt</spanx>, carrying:</t>

<dl>
  <dt>holder:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The holder.</t>
  </dd>
  <dt>account:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The jointly held resource.</t>
  </dd>
  <dt>negotiation:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The negotiation identifier this verdict answers.</t>
  </dd>
  <dt>contract:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The digest of the agreement the agent signed, as <xref target="U4ATerms"/>.</t>
  </dd>
  <dt>effect:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. <spanx style="verb">allow</spanx> or <spanx style="verb">refuse</spanx>.</t>
  </dd>
  <dt>because:</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. Reasons, for a refusal.</t>
  </dd>
  <dt>exp:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. Short.</t>
  </dd>
</dl>

<t>A verdict is bound to one negotiation and one agreement so that it cannot carry
a later request. Before answering <spanx style="verb">allow</spanx>, a holder's authorization server <bcp14>MUST</bcp14>
compare the folded document the agent signed against the terms she published,
and <bcp14>MUST</bcp14> refuse on any difference in the direction of <em>more</em>: a longer expiry,
an extra scope, a dropped prohibition. Differences in the direction of <em>less</em>
are expected, since another holder's terms were folded in. This is what lets the
folding party be untrusted.</t>

<figure title="A verdict's claims."><sourcecode type="json"><![CDATA[
{
  "iss": "https://alice-as.example",
  "holder": "alice",
  "account": "joint-brokerage-1",
  "negotiation": "fam_8f3aQ2Xc",
  "resource_id": "joint-brokerage-1/get_positions",
  "contract": "s256:mNTA0Zjg1YTBkYzQxZWY4YjkyMWM4ZGIy",
  "effect": "allow",
  "iat": 1789430000,
  "exp": 1789430300
}
]]></sourcecode></figure>

<t>Where the holder's policy asks her, the verdict is withheld until she answers,
and the tally holds the negotiation pending as <xref target="UMAGrant"/> <spanx style="verb">request_submitted</spanx>.</t>

</section>
<section anchor="not-claims"><name>Verdicts Are Not Claims</name>

<t>A verdict <bcp14>MUST</bcp14> travel from the holder's authorization server to the tally. It
<bcp14>MUST NOT</bcp14> be gathered by the requesting agent and presented as a claim.</t>

<t>A claim the requesting party gathers is a claim it can decline to gather. A
holder's refusal has to reach the decision point without the cooperation of the
party it refuses, and claims-gathering cannot carry it. The general boundary:
claims work when the requesting party is the only one who holds the fact, and
fail when the fact may be adverse to it.</t>

</section>
<section anchor="count"><name>The Count</name>

<t>The tally <bcp14>MUST</bcp14> sum the weight of holders whose verdict is <spanx style="verb">allow</spanx> and compare it
to the threshold. It <bcp14>MUST</bcp14> refuse the moment the weight still outstanding cannot
carry the request over the threshold — under <spanx style="verb">all</spanx>, the first refusal ends it —
rather than waiting for every holder. Silence and unreachability <bcp14>MUST</bcp14> both fail
closed; only the record distinguishes them.</t>

</section>
<section anchor="joint-grant"><name>The Grant Carries the Verdicts</name>

<t>A grant the tally issues <bcp14>MUST</bcp14> carry a <spanx style="verb">joint</spanx> claim with:</t>

<dl>
  <dt>account:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The jointly held resource.</t>
  </dd>
  <dt>mandate:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The mandate as the tally holds it.</t>
  </dd>
  <dt>verdicts:</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. Every verdict received, as issued.</t>
  </dd>
  <dt>tally:</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. The tally's own count, for display.</t>
  </dd>
</dl>

<figure title="The joint claim on a grant."><sourcecode type="json"><![CDATA[
{
  "joint": {
    "account": "joint-brokerage-1",
    "mandate": {
      "holders": [
        {"owner": "alice", "issuer": "https://alice-as.example",
         "weight": 1},
        {"owner": "carol", "issuer": "https://carol-as.example",
         "weight": 1}
      ],
      "rule": {"kind": "all", "threshold": 2},
      "resources": ["joint-brokerage-1/*"]
    },
    "verdicts": ["eyJ0eXAiOiJ1NGEtdmVyZGljdCtqd3Qi...",
                 "eyJ0eXAiOiJ1NGEtdmVyZGljdCtqd3Qi..."],
    "tally": {"effect": "allow", "for": 2, "threshold": 2}
  }
}
]]></sourcecode></figure>

</section>
<section anchor="reverify"><name>Re-Verification at the Enforcement Point</name>

<t>An enforcement point protecting a jointly held resource <bcp14>MUST</bcp14>, before allowing a
call under such a grant:</t>

<t><list style="numbers" type="1">
  <t>fetch the mandate from where the tally publishes it, and <bcp14>MUST NOT</bcp14> use the
copy embedded in the grant;</t>
  <t>verify each verdict against the keys published by the issuer the <em>published</em>
mandate names for that holder;</t>
  <t>establish that each verdict names this negotiation and this agreement;</t>
  <t>re-run the count of <xref target="count"/> and refuse unless it allows.</t>
</list></t>

<t>The <spanx style="verb">tally</spanx> member of the grant is for display and <bcp14>MUST NOT</bcp14> be trusted.</t>

<t>Reading the mandate from the grant would let the party being checked supply the
standard it is checked against: a single genuine verdict beside a rewritten
threshold would pass with every signature verifying. Carrying the verdicts in
the grant and re-verifying them at the resource is what makes the tally an
ordinary service rather than a ledger — there is no ordered history here to
agree on and no long-lived state a fork could damage.</t>

</section>
<section anchor="no-org-joint"><name>No Organization Reaches a Jointly Held Resource</name>

<t>A charter claim <bcp14>MUST NOT</bcp14> match a jointly held resource, and a holder's
authorization server <bcp14>MUST</bcp14> refuse to apply an organization's envelope or decision
to one regardless. A jointly held resource <bcp14>MUST NOT</bcp14> share a policy unit with any
other resource, since a ceiling applies to a whole unit once it reaches any
resource in it.</t>

<t>Peers compose horizontally; an authority above them clamps vertically. The two
are orthogonal rather than rival, and this document keeps them apart.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="a-layer-above-may-only-narrow"><name>A Layer Above May Only Narrow</name>

<t>See <xref target="envelope"/> and <xref target="decision"/>. The one-directionality of every envelope
field and of the decision's effect on the member's own result is the property
the whole of Part I rests on. An implementation <bcp14>SHOULD</bcp14> be able to demonstrate
over its full envelope that no combination of envelope and terms produces wider
terms than it started with.</t>

</section>
<section anchor="reach-stops-at-the-claim"><name>Reach Stops at the Claim</name>

<t>See <xref target="org-visibility"/> and <xref target="org-acting"/>. Everything the organization can see
or do stops at the resources its charter claims, and the scoping is applied by
the member's authorization server before it answers. An organization given a
member's whole record because it is easier has been given her relationships
with parties that have nothing to do with it.</t>

</section>
<section anchor="an-administrators-decision-is-not-the-owners"><name>An Administrator's Decision Is Not the Owner's</name>

<t>See <xref target="org-acting"/>. "The owner personally approved" may relax a rule under
<xref target="U4APolicy"/>; a decision taken for her must not produce that fact.</t>

</section>
<section anchor="the-mandate-is-read-where-it-is-published"><name>The Mandate Is Read Where It Is Published</name>

<t>See <xref target="reverify"/>. This is the single check that makes the tally untrusted.</t>

</section>
<section anchor="silence-is-not-consent"><name>Silence Is Not Consent</name>

<t>See <xref target="count"/>. A holder who has not answered and a holder who cannot be reached
both count for nothing.</t>

</section>
<section anchor="break-glass-is-loud"><name>Break-Glass Is Loud</name>

<t>See <xref target="break-glass"/>. An emergency path that can be exercised quietly is an
ordinary path with a better name.</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<section anchor="members-are-not-visible-to-each-other"><name>Members Are Not Visible to Each Other</name>

<t>Under Part I, an organization's view of one member is filtered to claimed
resources and says nothing about any other member. Under Part II, a holder's
authorization server <bcp14>MUST NOT</bcp14> expose another holder's pending queue, decisions
or record; each holder sees her own verdicts and the count.</t>

</section>
<section anchor="the-ceiling-is-disclosed-to-the-agent"><name>The Ceiling Is Disclosed to the Agent</name>

<t><xref target="envelope"/> requires that a terms document state when a layer above the owner
is in force. That discloses to the requesting side that the owner is a member
of some organization, which is a fact about her. The alternative — a ceiling
applied invisibly — asks the agent to sign terms that are not the terms it will
be held to, and this document prefers the disclosure.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="media-type-registration"><name>Media Type Registration</name>

<t>IANA is asked to register <spanx style="verb">application/u4a-verdict+jwt</spanx>,
<spanx style="verb">application/u4a-membership+jwt</spanx>, <spanx style="verb">application/u4a-org-notice+jwt</spanx> and
<spanx style="verb">application/u4a-org-admin+jwt</spanx> in the "Media Types" registry, each with:</t>

<dl>
  <dt>Required parameters:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Optional parameters:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Encoding considerations:</dt>
  <dd>
    <t>binary; a JWT in compact serialization</t>
  </dd>
  <dt>Security considerations:</dt>
  <dd>
    <t>See <xref target="security-considerations"/> of this document</t>
  </dd>
  <dt>Interoperability considerations:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Applications that use this media type:</dt>
  <dd>
    <t>Applications implementing UMA 2.0 with this extension</t>
  </dd>
  <dt>Change controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
</dl>

<t>and with the following published specifications: <xref target="verdict"/> for
<spanx style="verb">u4a-verdict+jwt</spanx>; <xref target="enrolment"/> for <spanx style="verb">u4a-membership+jwt</spanx> and
<spanx style="verb">u4a-org-notice+jwt</spanx>; <xref target="org-acting"/> for <spanx style="verb">u4a-org-admin+jwt</spanx>.</t>

</section>
<section anchor="json-web-token-claims-registration"><name>JSON Web Token Claims Registration</name>

<t>IANA is asked to register the following in the "JSON Web Token Claims" registry
established by <xref target="RFC7519"/>.</t>

<dl>
  <dt>Claim Name:</dt>
  <dd>
    <t><spanx style="verb">joint</spanx></t>
  </dd>
  <dt>Claim Description:</dt>
  <dd>
    <t>The mandate and verdicts under which a jointly held resource was released</t>
  </dd>
  <dt>Change Controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification Document(s):</dt>
  <dd>
    <t><xref target="joint-grant"/> of this document</t>
  </dd>
  <dt>Claim Name:</dt>
  <dd>
    <t><spanx style="verb">break_glass</spanx></t>
  </dd>
  <dt>Claim Description:</dt>
  <dd>
    <t>That a grant was issued by an organization under its emergency clause, and
the justification</t>
  </dd>
  <dt>Change Controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification Document(s):</dt>
  <dd>
    <t><xref target="break-glass"/> of this document</t>
  </dd>
</dl>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC7515">
  <front>
    <title>JSON Web Signature (JWS)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7515"/>
  <seriesInfo name="DOI" value="10.17487/RFC7515"/>
</reference>
<reference anchor="RFC7519">
  <front>
    <title>JSON Web Token (JWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7519"/>
  <seriesInfo name="DOI" value="10.17487/RFC7519"/>
</reference>
<reference anchor="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="UMAGrant" target="https://docs.kantarainitiative.org/uma/wg/rec-oauth-uma-grant-2.0.html">
  <front>
    <title>User-Managed Access (UMA) 2.0 Grant for OAuth 2.0 Authorization</title>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <author initials="M." surname="Machulak" fullname="Maciej Machulak">
      <organization></organization>
    </author>
    <author initials="J." surname="Richer" fullname="Justin Richer">
      <organization></organization>
    </author>
    <date year="2018" month="January" day="07"/>
  </front>
  <seriesInfo name="Kantara" value="Recommendation"/>
</reference>
<reference anchor="U4ACore" target="https://u4a.ai/spec/draft-gamb-uma4agents-core-00.html">
  <front>
    <title>User-Managed Access (UMA) 2.0 Profile for Autonomous Agents</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-gamb-uma4agents-core-00"/>
</reference>
<reference anchor="U4ATerms" target="https://u4a.ai/spec/draft-gamb-uma4agents-terms-00.html">
  <front>
    <title>Owner-Proffered Terms for User-Managed Access (UMA) 2.0</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-gamb-uma4agents-terms-00"/>
</reference>
<reference anchor="U4AFedAuthz" target="https://u4a.ai/spec/draft-gamb-uma4agents-fedauthz-00.html">
  <front>
    <title>Federated Authorization for Autonomous Agents</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-gamb-uma4agents-fedauthz-00"/>
</reference>
<reference anchor="U4APolicy" target="https://u4a.ai/spec/draft-gamb-uma4agents-policy-00.html">
  <front>
    <title>Owner Policy, Assurance and Attention for User-Managed Access (UMA) 2.0</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-gamb-uma4agents-policy-00"/>
</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 title='Informative References' anchor="sec-informative-references">

<reference anchor="PP2PI" target="https://kantara.atlassian.net/wiki/spaces/uma/pages/4850258/Notes+drafts+and+WIP">
  <front>
    <title>Solving Data Sharing Challenges with UMA: The Julie Adams Healthcare Use Case from PP2PI</title>
    <author initials="N." surname="Lush" fullname="Nancy Lush" role="editor">
      <organization></organization>
    </author>
    <author >
      <organization>Kantara Initiative User-Managed Access Work Group</organization>
    </author>
    <date year="2023" month="March"/>
  </front>
  <seriesInfo name="Kantara" value="Editors' Draft Report"/>
</reference>
<reference anchor="U4ALAB" target="https://github.com/nickgamb/uma4agents">
  <front>
    <title>UMA for Agents: a reference implementation</title>
    <author initials="N." surname="Gamb" fullname="Nick Gamb">
      <organization></organization>
    </author>
    <author initials="E." surname="Maler" fullname="Eve Maler">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>



    </references>

</references>


<?line 685?>

<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section records the status of known implementations in the sense of
<xref target="RFC7942"/>, and is to be removed before publication as an RFC.</t>

<t>The reference implementation <xref target="U4ALAB"/> implements both parts. The clamp of
<xref target="envelope"/> is tested exhaustively for one-directionality over every
combination of envelope field and terms. The fold, the mandate validator and the
count are tested in isolation; the full arrangement — two holders on two
authorization servers, a tally, and an enforcement point re-verifying against
the published mandate — runs end to end, including refusal of a grant whose
embedded mandate rewrites who was entitled to be counted. Part I runs end to end
including enrolment by invitation, the ceiling appearing in signed terms,
<spanx style="verb">first-party-only</spanx> refusing a third party's agent, the organization's scoped
view, administrator decisions not counting as the member's, break-glass, and
leaving.</t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t><xref target="PP2PI"/> supplied the four states of co-administration that Part I answers and
the observation, made in <xref target="UMAGrant"/>'s own terminology, that the resource
rights administrator had been named and never mechanised. The metadata of
<xref target="RFC9728"/> is what lets one resource server name a different authority for a
shared, a personal and a jointly held resource at three paths.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA91965Ibx5Xm/3yKXPCHrDYAXkRZVHPG3hZJSa3hzSQlWnYo
iAIqARS7UAVXFhqEO9oxD7EPsM+yj7JPMuc752RWFoCmaE/sD68ibKHrkpV5
rt+5ZGo0Gpm2aEt3agfPNmVbjF5mTbuzZ5t2WTfF37K2qCs7rxv7o3fN6FlW
ZQuX27PZzHlvf/Pjs7PP7b3xnYHJptPGXX5slIHJ61mVrehTeZPN29EiW01H
m1V2n4asWj9a4c01XhzduWNmWesWdbM7tb7Njd9MV4X3NEy7W9MI50/efGuK
dXNq22bj23t37nx9557JGped2tdutmmKdmcu3G5bN/mp/QvNc2izdDZDWzeL
rIp/zepRva1c45fFemjf10XV2mw2qzc0s6HNXekW/OQvxrdZlb/Lyrqieeyc
N+uCvtDWs6H1ddM2bk4v+N0KP34x8tFTY+2I/mdtUflT+3xsv6PF8wWhyPNi
dtFdS6d2ap8VVf5d1uSusk+fPuIH3CorylNb0Vug4v9c4O/xrF71v/NkbJ9l
pWuSDz25dMm1/od+clVlv81mLZHdVHWzouuXDnN/9e2jr768+2X382v9+fVX
9x7gJxH4uyar2lMeNkjUR2XG8gssWy8gKHxtT2IwWEdB/DM6srKbVheffoan
Z8tNmV3svUCXC/d+/66+9sPYvipmy4Ov/EASV1TpvZyE9dTeu3P3wejO3dGd
r/giLb5wvqjmdZj8f9CCs4ZE9JUjXq1clfM6hWZZs3DtqV227dqf3r5NyuLH
F/JCURVtwcwYE8duk87c3i5uN242qkEdKNFoAWqOiIbjZbsqwZL7Z4/qxv0j
HHnZ1POidMwT4kRd1at64+0Z6+dHuJHK800y/Y+xLhD03u9uIOV51bqmcu3o
MWzJTSZlRgSAMTlG4M39bJwVt/3azW5/9O2EoG9cs/J9ir6A1RiBcnPXEFH5
kU+xmP961GyxtH+enOH1hJ7fuhwa/7c+Semqa2jK+RE39P+FWM5djgn/7Z+n
ZTJCQs6XdVnMdkfk08qdoT3zfkOGYuYsOTF71rY02id6+H89Mq950f88keP7
QmJMIPGJL1/ee3nep/XrurwsqoV9nLWZfb3MGvzxaJmVpasWztttQW6OKHpq
3ywduZGycPYsz8hefO+ysl3OCMCADfZRRv83b+qVfOXjxH+68ct94hOLd/0b
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

-->

</rfc>

