<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 4.0.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-atakora-wimse-sadp-delegation-01" category="exp" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="SADP Delegation Chains">Capability-Bound Delegation Chains with Scoped Context Disclosure for AI Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-atakora-wimse-sadp-delegation-01"/>
    <author initials="H." surname="Atakora" fullname="Hamdy Atakora">
      <organization>Imara Labs</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>hatakora@imaralabs.dev</email>
      </address>
    </author>
    <date year="2026" month="September" day="20"/>
    <area>Security</area>
    <workgroup>Individual Submission</workgroup>
    <keyword>AI agents</keyword>
    <keyword>delegation</keyword>
    <keyword>capabilities</keyword>
    <keyword>attenuation</keyword>
    <keyword>end-to-end encryption</keyword>
    <keyword>audit</keyword>
    <abstract>

<t>Autonomous AI agents increasingly act on behalf of users and of one another,
passing tasks, documents, tool access, and authority across chains of
delegation. Existing delegation-token systems express and verify attenuated
authority, but they assume the delegation evidence and the task content are
visible to the infrastructure that carries them. This document specifies a
capability grant format, delegation-chain construction and verification rules,
a caveat processing model, and a hash-linked audit record format designed to
bind authority to end-to-end encrypted task capsules, so that authority can be
verified and delegation lineage can be checked relative to an authenticated
chain head without exposing task or context plaintext to brokers, queues,
gateways, or orchestration services. It further specifies
scoped context disclosure: a model in which a delegatee receives cryptographic
access to only the subset of task context that its capability names. This
mechanism complements, and is intended to be reconcilable with, the delegation
chains defined in draft-asor-wimse-agent-delegation-chain.</t>
    </abstract>
  </front>
  <middle>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="problem">
        <name>Problem</name>
        <t>Agentic systems compose work across many principals: a user delegates a task
to a personal agent; that agent delegates a narrower subtask to a specialist
agent; the specialist invokes tools through hosted infrastructure. Each hop
transfers two distinct things that today's deployments conflate:</t>
        <ul spacing="normal">
          <li>
            <t>authority: what the recipient is allowed to do, and</t>
          </li>
          <li>
            <t>information: what the recipient is allowed to see.</t>
          </li>
        </ul>
        <t>Deployed agent interoperability protocols such as A2A <xref target="A2A"/> and MCP <xref target="MCP"/>
secure hops with transport-layer TLS and bearer-style authorization. The
brokers, queues, orchestration servers, and gateways between the endpoints
see task plaintext and hold effectively unattenuated authority evidence.
Delegation-token systems (Macaroons <xref target="MACAROONS"/>, Biscuit <xref target="BISCUIT"/>,
UCAN <xref target="UCAN"/>, OAuth 2.0 Token Exchange <xref target="RFC8693"/>, GNAP <xref target="RFC9635"/>) solve
the authority problem: they let a holder derive a strictly weaker token
offline and let a verifier check the derivation. They do not address the
information problem, and they generally assume the token and the request it
authorizes are visible to intermediaries.</t>
        <t>This document specifies the delegation layer of the Secure Agent Delegation
Protocol (SADP): signed capability grants whose delegation chains are
bound to end-to-end encrypted task capsules <xref target="SADP-PROTO"/>, verified
entirely by the receiving endpoint, and linked to a tamper-evident audit hash
chain that infrastructure can store and compare without reading task or
context plaintext. In the v0.2 capsule profile, grants and audit records are
authenticated outer fields and may reveal delegation metadata to brokers that
store complete capsules; a future private-delegation-evidence profile is
expected to encrypt grant bodies and detailed audit records while exposing
only commitments needed for routing, replay, and omission detection.
It additionally defines scoped context disclosure, in which the resource
named by a capability is a hierarchical identifier for an encrypted context
object, and decryption keys for context are released only against a valid
capability chain. Attenuating authority therefore simultaneously attenuates
information access.</t>
      </section>
      <section anchor="design-goals">
        <name>Design Goals</name>
        <ol spacing="normal" type="1"><li>
            <t>Offline-verifiable attenuation. A receiver <bcp14>MUST</bcp14> be able to verify that
every link in a delegation chain is a monotonic narrowing of the previous
link, given only the chain itself and a means of resolving principal
signing keys.</t>
          </li>
          <li>
            <t>No task or context plaintext for infrastructure. Nothing in this
specification requires a broker or transport to read task payloads or
context objects. The v0.2 outer capsule profile does expose grant and
audit metadata; deployments that need to hide that metadata require a
future private-delegation-evidence profile.</t>
          </li>
          <li>
            <t>Joint attenuation of authority and information. Narrowing a capability's
resource identifier narrows the context a delegatee can decrypt.</t>
          </li>
          <li>
            <t>Auditable lineage without content exposure. Delegation lineage <bcp14>MUST</bcp14> be
verifiable through hash commitments over capsule bytes, not through
plaintext disclosure.</t>
          </li>
          <li>
            <t>Fail-closed extensibility. A verifier that encounters a restriction it
does not understand <bcp14>MUST</bcp14> refuse, never ignore.</t>
          </li>
        </ol>
      </section>
      <section anchor="relationship-to-draft-asor-wimse-agent-delegation-chain">
        <name>Relationship to draft-asor-wimse-agent-delegation-chain</name>
        <t><xref target="I-D.asor-wimse-agent-delegation-chain"/> defines verifiable attenuated
delegation chains for AI agents using JWT/RAR capability tokens, a
<tt>par_hash</tt> linking each token to the JWS signing input of its parent,
offline-verifiable constraint subsumption, and status-list revocation. This
document shares that design lineage. The <tt>parent_grant_hash</tt> link defined
here serves the same anti-splicing purpose as <tt>par_hash</tt>, and the attenuation
rules in <xref target="attenuation-rules"/> are a constraint-subsumption discipline. This
document is deliberately framed to be reconcilable with that work rather than to
compete with it.</t>
        <t>The contributions of this document beyond
<xref target="I-D.asor-wimse-agent-delegation-chain"/> are:</t>
        <ol spacing="normal" type="1"><li>
            <t>carriage and verification of delegation chains inside end-to-end
encrypted task workflows, so that task and context verification does not
require exposing payload plaintext to any intermediary; and</t>
          </li>
          <li>
            <t>scoped context disclosure, which binds information release (decryption of
context objects) to the same attenuation discipline that bounds authority.</t>
          </li>
        </ol>
        <t>The grant syntax in this document is a compact canonical-JSON structure
chosen for byte-exact signing across implementations. A future revision may
define a JWT/RAR profile of the same semantics so that a single chain can be
consumed by verifiers of either syntax.</t>
        <t>Related work is also developing around transport and receipt models:
<xref target="I-D.sharif-attp"/> addresses synchronous trust transport,
<xref target="I-D.sharif-agent-transport-protocol"/> addresses asynchronous
store-and-forward transport, <xref target="I-D.hamr-oauth-agent-delegation"/> addresses
cross-domain delegation headers, <xref target="I-D.liu-oauth-chain-delegation"/>
addresses OAuth-based chained delegation tokens,
<xref target="I-D.li-oauth-delegated-authorization"/> addresses constrained
client-issued delegated authorization tokens,
<xref target="I-D.singla-agent-identity-protocol"/> addresses decentralized agent
identity and delegation,
<xref target="I-D.vandoulas-aidp"/> addresses governed intent/execution control, and
<xref target="I-D.nelson-agent-delegation-receipts"/> addresses log-anchored delegation
receipts. This document is narrower than a general transport and broader
than authority-only delegation: it binds attenuated authority to encrypted
task and context delivery.</t>
      </section>
      <section anchor="relationship-to-the-sadp-capsule-protocol">
        <name>Relationship to the SADP Capsule Protocol</name>
        <t>The companion document <xref target="SADP-PROTO"/> specifies SADP's encrypted task
capsules, session establishment, and broker profile. This document is
self-contained for grant syntax, chain verification, caveats, audit records,
and context disclosure; it relies on the companion document only for how
capsules are encrypted and routed. A deployment <bcp14>MAY</bcp14> use the delegation layer
defined here over a different secure envelope, provided the envelope
authenticates the capsule fields referenced in <xref target="carriage"/>.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>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>

<dl>
        <dt>Principal:</dt>
        <dd>
          <t>An entity that can hold keys and appear as an issuer, holder, sender, or
recipient: a user, agent, runtime, tool, workspace, or broker.</t>
        </dd>
        <dt>Principal Identifier:</dt>
        <dd>
          <t>A slash-separated sequence of <tt>kind:name</tt> segments identifying a principal,
for example <tt>user:alice/device:phone</tt> or
<tt>agent:contract-reviewer/runtime:prod-a</tt> (<xref target="principal-identifiers"/>).</t>
        </dd>
        <dt>Subject:</dt>
        <dd>
          <t>The principal identifier with a trailing <tt>runtime:*</tt> or <tt>device:*</tt> segment
removed; the stable actor behind multiple runtimes or devices.</t>
        </dd>
        <dt>Capability Grant (Grant):</dt>
        <dd>
          <t>A signed statement that an issuer authorizes a holder to perform an action
on a resource for a task, until an expiry, under caveats
(<xref target="grant-structure"/>).</t>
        </dd>
        <dt>Delegation Chain (Chain):</dt>
        <dd>
          <t>A grant together with its transitively embedded parent grants, ending at a
root grant (<xref target="chains"/>).</t>
        </dd>
        <dt>Attenuation:</dt>
        <dd>
          <t>Deriving a child grant from a parent grant such that the child's authority
is a strict subset of the parent's (<xref target="attenuation-rules"/>).</t>
        </dd>
        <dt>Caveat:</dt>
        <dd>
          <t>A named restriction carried by a grant that the receiving application must
honor (<xref target="caveats"/>).</t>
        </dd>
        <dt>Task Capsule (Capsule):</dt>
        <dd>
          <t>The SADP message envelope carrying a task, its grants, its context
references, and its audit record <xref target="SADP-PROTO"/>. In the v0.2 capsule
profile, grants and audit records are authenticated outer fields rather
than encrypted inner fields.</t>
        </dd>
        <dt>Context Reference:</dt>
        <dd>
          <t>A pointer to an encrypted context object, keyed by a hierarchical resource
identifier (<xref target="scoped-context"/>).</t>
        </dd>
        <dt>Audit Record:</dt>
        <dd>
          <t>A hash commitment linking a capsule to its delegation parent and to a
running chain hash (<xref target="audit"/>).</t>
        </dd>
        <dt>Trusted Issuer:</dt>
        <dd>
          <t>A principal whose signing key the receiver accepts as a valid root of
authority, configured out of band or resolved through a registry the
receiver trusts for key binding.</t>
        </dd>
      </dl>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <section anchor="principal-identifiers">
        <name>Principal Identifiers</name>
        <t>A principal identifier is one or more segments separated by <tt>/</tt>. Each
segment is <tt>kind:name</tt>, where <tt>kind</tt> is one of <tt>user</tt>, <tt>device</tt>, <tt>agent</tt>,
<tt>runtime</tt>, <tt>tool</tt>, <tt>workspace</tt>, <tt>broker</tt>, <tt>memory</tt>, or <tt>context</tt>, and <tt>name</tt>
is a non-empty token of characters from the set <tt>a-z A-Z 0-9 . _ -</tt>.
Implementations <bcp14>MUST</bcp14> reject identifiers with empty segments, unknown kinds,
or characters outside this set.</t>
        <t>Examples:</t>
        <artwork><![CDATA[
user:alice/device:phone
agent:contract-reviewer/runtime:prod-a
tool:pdf-parser/runtime:prod-b
]]></artwork>
      </section>
      <section anchor="canonical-json">
        <name>Canonical JSON Encoding</name>
        <t>All signing inputs and hash inputs in this document are computed over
canonical JSON bytes produced from the value being signed or hashed:</t>
        <ul spacing="normal">
          <li>
            <t>text is UTF-8;</t>
          </li>
          <li>
            <t>object member names are sorted lexicographically by Unicode code point at
every nesting level;</t>
          </li>
          <li>
            <t>duplicate member names are invalid and <bcp14>MUST</bcp14> be rejected on parse;</t>
          </li>
          <li>
            <t>arrays preserve their order;</t>
          </li>
          <li>
            <t>strings use standard JSON escaping <xref target="RFC8259"/>;</t>
          </li>
          <li>
            <t>no insignificant whitespace is emitted;</t>
          </li>
          <li>
            <t>binary values are base64url without padding <xref target="RFC4648"/>;</t>
          </li>
          <li>
            <t>timestamps are RFC 3339 <xref target="RFC3339"/> strings in documents and integer epoch
seconds inside signing inputs.</t>
          </li>
        </ul>
        <t>This profile is intentionally close to JCS <xref target="RFC8785"/>; a future revision may
adopt JCS by reference once number canonicalization requirements are
confirmed against deployed implementations. Verifiers <bcp14>MUST</bcp14> rebuild signing
inputs from parsed, validated values rather than signing or verifying raw
received bytes, which removes parse/serialize mismatch as an attack surface.</t>
      </section>
      <section anchor="grant-structure">
        <name>Capability Grant Structure</name>
        <t>A grant is a JSON object:</t>
        <artwork><![CDATA[
{
  "issuer": "user:alice/device:phone",
  "holder": "agent:contract-reviewer/runtime:prod-a",
  "action": "read",
  "resource": "blob:contract_pdf",
  "task_id": "task_01J00000000000000000000000",
  "expires_at": "2026-09-19T13:00:00Z",
  "max_delegation_depth": 1,
  "caveats": ["delete_after_result"],
  "parent_grant_hash": null,
  "parent": null,
  "signature": "base64url-ed25519-signature"
}
]]></artwork>
        <t>Fields:</t>
        <dl>
          <dt>issuer:</dt>
          <dd>
            <t>Principal identifier of the granting party. <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>holder:</dt>
          <dd>
            <t>Principal identifier of the authorized party. <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>action:</dt>
          <dd>
            <t>A token naming the permitted operation (for example <tt>read</tt>, <tt>write</tt>,
<tt>delegate</tt>). <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>resource:</dt>
          <dd>
            <t>A hierarchical resource identifier (<xref target="hierarchical-resources"/>). <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>task_id:</dt>
          <dd>
            <t>The task this grant is bound to. A grant is not transferable across tasks.
<bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>expires_at:</dt>
          <dd>
            <t>RFC 3339 expiry. <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>max_delegation_depth:</dt>
          <dd>
            <t>Integer in the range 0..8. The number of further delegation hops the
holder may create. <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt>caveats:</dt>
          <dd>
            <t>Array of caveat identifiers (<xref target="caveats"/>). <bcp14>REQUIRED</bcp14> (may be empty).</t>
          </dd>
          <dt>parent:</dt>
          <dd>
            <t>The complete parent grant object, including its <tt>signature</tt>, or <tt>null</tt>
for a root grant. <bcp14>OPTIONAL</bcp14>; absent is equivalent to <tt>null</tt>.</t>
          </dd>
          <dt>parent_grant_hash:</dt>
          <dd>
            <t><tt>null</tt> for a root grant, otherwise the base64url SHA-256 hash over the
canonical JSON of the complete parent grant object including its
<tt>signature</tt>. <bcp14>REQUIRED</bcp14> by the signing input; <bcp14>MAY</bcp14> be omitted on the wire only
for root grants, where omission is equivalent to <tt>null</tt>.</t>
          </dd>
          <dt>signature:</dt>
          <dd>
            <t>base64url Ed25519 <xref target="RFC8032"/> signature over the signing input defined in
<xref target="signing-input"/>. <bcp14>REQUIRED</bcp14>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="signing-input">
        <name>Grant Signing Input</name>
        <t>The signing scheme identifier is <tt>sadp-cap-ed25519-v0.2</tt>.</t>
        <t>The Ed25519 signing input is the concatenation of a domain-separation prefix
and canonical JSON:</t>
        <artwork><![CDATA[
"SADP capability grant v0.2\n" || canonical_json({
  "scheme": "sadp-cap-ed25519-v0.2",
  "issuer": issuer,
  "holder": holder,
  "action": action,
  "resource": resource,
  "task_id": task_id,
  "expires_at_epoch_seconds": expires_at_epoch_seconds,
  "max_delegation_depth": max_delegation_depth,
  "caveats": caveats,
  "parent_grant_hash": parent_grant_hash
})
]]></artwork>
        <t>where <tt>parent_grant_hash</tt> is:</t>
        <ul spacing="normal">
          <li>
            <t><tt>null</tt> for a root grant; otherwise</t>
          </li>
          <li>
            <t>base64url (no padding) of SHA-256 <xref target="RFC6234"/> over the canonical JSON of
the complete parent grant object including its <tt>signature</tt> field.</t>
          </li>
        </ul>
        <t>Hashing the parent including its signature commits the child to one specific
signed parent instance, not merely to parent field values; a chain therefore
cannot be spliced onto a different signature over identical fields. This is
the same anti-splicing discipline as <tt>par_hash</tt> in
<xref target="I-D.asor-wimse-agent-delegation-chain"/>.</t>
        <t>The <tt>signature</tt> field of the grant being signed is never part of its own
signing input. The domain-separation prefix is versioned; signatures made
under this scheme cannot be confused with SADP session, prekey, broker
request, or audit signatures, which use distinct prefixes.</t>
      </section>
    </section>
    <section anchor="chains">
      <name>Delegation Chains</name>
      <section anchor="chain-construction">
        <name>Chain Construction</name>
        <t>A root grant is created and signed by an original authority (typically a
user device or a workspace owner) with <tt>parent</tt> absent or <tt>null</tt>.</t>
        <t>A delegated grant is created by the holder of an existing grant. The
delegator:</t>
        <ol spacing="normal" type="1"><li>
            <t>constructs the child grant with <tt>issuer</tt> set to the parent's <tt>holder</tt>,
fields attenuated per <xref target="attenuation-rules"/>, and <tt>parent</tt> set to the full
parent grant;</t>
          </li>
          <li>
            <t>computes <tt>parent_grant_hash</tt> over the parent as defined in
<xref target="signing-input"/>;</t>
          </li>
          <li>
            <t>signs the child with its own Ed25519 signing key.</t>
          </li>
        </ol>
        <t>A chain on the wire is thus a single grant object whose <tt>parent</tt> field nests
the entire ancestry. The nesting depth of a chain <bcp14>MUST NOT</bcp14> exceed 8; parsers
<bcp14>MUST</bcp14> reject deeper nesting before signature verification.</t>
      </section>
      <section anchor="attenuation-rules">
        <name>Attenuation Rules</name>
        <t>Given parent grant P and child grant C, all of the following <bcp14>MUST</bcp14> hold. A
delegator <bcp14>MUST NOT</bcp14> create, and a verifier <bcp14>MUST</bcp14> reject, any chain link that
violates any rule:</t>
        <ol spacing="normal" type="1"><li>
            <t>Issuer continuity: <tt>C.issuer == P.holder</tt>.</t>
          </li>
          <li>
            <t>Action equality: <tt>C.action == P.action</tt>. Action broadening or
substitution is not permitted in this version.</t>
          </li>
          <li>
            <t>Resource narrowing: <tt>C.resource == P.resource</tt>, or <tt>C.resource</tt> begins
with <tt>P.resource + "/"</tt> (<xref target="hierarchical-resources"/>).</t>
          </li>
          <li>
            <t>Expiry narrowing: <tt>C.expires_at &lt;= P.expires_at</tt>.</t>
          </li>
          <li>
            <t>Depth decrement: <tt>P.max_delegation_depth &gt;= 1</tt> and
<tt>C.max_delegation_depth &lt;= P.max_delegation_depth - 1</tt>.</t>
          </li>
          <li>
            <t>Caveat accumulation: every caveat present in <tt>P.caveats</tt> <bcp14>MUST</bcp14> be present
in <tt>C.caveats</tt> (caveats may be added, never dropped), and <tt>P.caveats</tt>
              <bcp14>MUST NOT</bcp14> contain <tt>no_further_delegation</tt>.</t>
          </li>
        </ol>
        <t>These rules make authority monotonically non-increasing along the chain, in
the tradition of caveat-based attenuation introduced by Macaroons
<xref target="MACAROONS"/> and carried into public key delegation systems by Biscuit
<xref target="BISCUIT"/> and UCAN <xref target="UCAN"/>. Unlike bearer-token attenuation, each link
here is bound to a named holder key, so possession of chain bytes alone
conveys no authority.</t>
      </section>
      <section anchor="verification">
        <name>Chain Verification Algorithm</name>
        <t>Inputs: a grant <tt>G</tt> (the leaf), a set of trusted issuer keys
<tt>trusted_issuers</tt> mapping principal identifiers to Ed25519 public keys, a
key resolution function <tt>resolve_key(principal)</tt> for intermediate holders, a
verification time <tt>now</tt>, and the receiving capsule's <tt>to</tt>, <tt>task_id</tt>, and
requested <tt>action</tt>/<tt>resource</tt> use.</t>
        <artwork><![CDATA[
verify_chain(G, trusted_issuers, resolve_key, now, capsule):

 1. Flatten: chain = [G, G.parent, G.parent.parent, ...],
    stopping at the root (parent == null).
    Reject if length > 8.

 2. Root authority: let R = last element of chain.
    Reject unless trusted_issuers contains R.issuer.
    Reject unless ed25519_verify(trusted_issuers[R.issuer],
        signing_input(R, parent_grant_hash = null), R.signature).

 3. Links, from the root downward, for each (parent P, child C):
    a. Reject unless C.parent_grant_hash ==
       b64url(SHA-256(canonical_json(P including P.signature))).
    b. Reject unless C.issuer == P.holder.
    c. Let K = resolve_key(C.issuer); reject if unresolvable.
       Reject unless ed25519_verify(K,
           signing_input(C, C.parent_grant_hash), C.signature).
    d. Reject unless attenuation rules 1-6 hold for (P, C).

 4. Freshness: for every link L in chain,
    reject unless now < epoch_seconds(L.expires_at).

 5. Leaf binding:
    a. Reject unless G.holder equals capsule.to or equals the
       subject of capsule.to.
    b. Reject unless G.task_id == capsule.task_id.
    c. Reject unless G.action and G.resource authorize the
       requested use (action equality; resource equal to or an
       ancestor of the requested resource under rule 3 semantics).
    d. Reject if G.caveats contains any identifier the receiver
       does not recognize ({{caveat-processing}}).

 6. Output: on success, return the set of recognized caveats
    (the EnforcedCaveats) to the application layer.
]]></artwork>
        <t><tt>resolve_key</tt> binds intermediate issuer principals to signing keys. In SADP
deployments it is served by the broker registry's issuer-key lookup or by a
locally configured trust list; the trust model for that binding is workload
identity infrastructure in the sense of <xref target="I-D.ietf-wimse-arch"/> and
<xref target="SPIFFE"/>, and is out of scope for this document beyond the requirement
that the receiver, not any intermediary, performs the binding check.</t>
        <t>Verification is deterministic and offline given the chain, the trusted
issuer set, and resolved keys: no interaction with the issuer or delegators
is required at verification time.</t>
      </section>
      <section anchor="depth-limits">
        <name>Depth Limits</name>
        <t><tt>max_delegation_depth</tt> bounds authority spread; the structural nesting bound
of 8 bounds verification cost. Both limits are enforced independently:
structural depth is checked before any cryptographic work, and rule 5 of
<xref target="attenuation-rules"/> is checked per link.</t>
      </section>
    </section>
    <section anchor="caveats">
      <name>Caveats</name>
      <section anchor="caveat-processing">
        <name>Processing Model</name>
        <t>Caveats are first-party restrictions in the Macaroons sense
<xref target="MACAROONS"/>: named conditions the receiving application must honor when
exercising the grant.</t>
        <t>Processing rules:</t>
        <ol spacing="normal" type="1"><li>
            <t>Verifiers <bcp14>MUST</bcp14> reject a leaf grant carrying any caveat identifier they do
not recognize (fail closed). An unknown restriction that was ignored
would silently broaden authority.</t>
          </li>
          <li>
            <t>Recognized caveats <bcp14>MUST</bcp14> be surfaced to the application layer as a
structured value (EnforcedCaveats) by the validation API, so that
application code cannot obtain task plaintext without also receiving the
restrictions attached to it.</t>
          </li>
          <li>
            <t>Caveats accumulate along the chain per rule 6 of <xref target="attenuation-rules"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="initial-caveat-definitions">
        <name>Initial Caveat Definitions</name>
        <dl>
          <dt>no_external_network:</dt>
          <dd>
            <t>While performing the task authorized by this grant, the holder <bcp14>MUST NOT</bcp14>
make network requests other than SADP protocol exchanges required to
return results or delegate within the chain's bounds.</t>
          </dd>
          <dt>delete_after_result:</dt>
          <dd>
            <t>The holder <bcp14>MUST</bcp14> delete all decrypted task content, context, and derived
artifacts after delivering the task result, and <bcp14>MUST NOT</bcp14> persist them in
long-lived memory or logs.</t>
          </dd>
          <dt>no_further_delegation:</dt>
          <dd>
            <t>The holder <bcp14>MUST NOT</bcp14> derive child grants from this grant. Attenuation from
a grant carrying this caveat is invalid (rule 6 of
<xref target="attenuation-rules"/>), regardless of remaining <tt>max_delegation_depth</tt>.</t>
          </dd>
        </dl>
        <t>These are behavioral obligations on the holder; cryptography cannot force a
holder to honor them after plaintext release (<xref target="security"/>). Their value is
that they are signed, non-droppable, verifier-checked statements of the
authorized behavior, which makes violations attributable.</t>
      </section>
    </section>
    <section anchor="scoped-context">
      <name>Scoped Context Disclosure</name>
      <section anchor="context-references">
        <name>Context References</name>
        <t>Task context (documents, memory slices, tool inputs) is passed by encrypted
reference rather than inline. A context reference names an encrypted context
object:</t>
        <artwork><![CDATA[
{
  "ref": "blob:contract_pdf/sections_3_8",
  "content_type": "application/pdf",
  "encrypted_key_ref": "keyref_abc"
}
]]></artwork>
        <t>The context object is encrypted under a content key; <tt>encrypted_key_ref</tt>
identifies the wrapped content key. The content key for a context object
<bcp14>MUST</bcp14> be released only to a principal presenting (or known by the releasing
endpoint to hold) a valid capability chain whose leaf authorizes <tt>read</tt> on
the object's resource identifier or an ancestor of it.</t>
        <t>Key release is performed by an endpoint that already holds the content key.
This is typically the delegator, which re-wraps the content key to the delegatee
inside the encrypted capsule, or a context store acting as a partially
trusted principal. The broker is never a key-release party and never holds
content keys.</t>
      </section>
      <section anchor="hierarchical-resources">
        <name>Hierarchical Resource Naming</name>
        <t>Resource identifiers are <tt>/</tt>-separated hierarchies rooted in a typed name,
for example:</t>
        <artwork><![CDATA[
blob:contract_pdf
blob:contract_pdf/sections_3_8
blob:contract_pdf/sections_3_8/redacted
]]></artwork>
        <t>Rule 3 of <xref target="attenuation-rules"/> makes the hierarchy the unit of attenuation:
a delegator holding <tt>read</tt> on <tt>blob:contract_pdf</tt> may grant <tt>read</tt> on
<tt>blob:contract_pdf/sections_3_8</tt>, and <bcp14>MUST NOT</bcp14> grant <tt>read</tt> on any
identifier outside that subtree. Because key release is bound to the same
identifiers, narrowing the resource in the chain narrows the ciphertexts
whose keys the delegatee can obtain.</t>
        <t>A delegator that materializes a sub-resource (for example, extracting
sections 3 and 8 into a new context object) <bcp14>MUST</bcp14> encrypt the sub-resource
under a fresh content key. Granting a child access to a sub-resource never
requires disclosing the parent object's key.</t>
      </section>
      <section anchor="the-joint-attenuation-property">
        <name>The Joint Attenuation Property</name>
        <t>The intended invariant, stated informally: for every principal p and context
object c, p can decrypt c only if some valid chain reaching p authorizes
<tt>read</tt> on c's resource identifier or an ancestor of it. Authority narrowing
(the chain) and information narrowing (key release) are therefore the same
operation performed on the same identifiers. Systems that scope only
authority leave information exposure to convention; systems that encrypt
only channels disclose everything on the channel to every channel member.
This mechanism is the distinguishing contribution of this document relative
to <xref target="I-D.asor-wimse-agent-delegation-chain"/> (authority only) and to
channel-encryption approaches such as MLS-based agent transports
<xref target="RFC9420"/> (information scoped per channel, not per delegation).</t>
      </section>
    </section>
    <section anchor="audit">
      <name>Audit Chain</name>
      <section anchor="audit-record">
        <name>Audit Record</name>
        <t>Every capsule carries an audit record:</t>
        <artwork><![CDATA[
{
  "capsule_id": "cap_01J00000000000000000000000",
  "capsule_hash": "base64url-sha256",
  "parent_capsule_hash": null,
  "previous_chain_hash": null,
  "chain_hash": "base64url-sha256"
}
]]></artwork>
        <t>Delegation capsules (<tt>delegate_create</tt>) additionally carry <tt>parent_audit</tt>:
the audit record of the capsule being delegated from. Result capsules that
continue a thread use the same parent-link form.</t>
      </section>
      <section anchor="capsule-hash">
        <name>Capsule Hash</name>
        <artwork><![CDATA[
capsule_hash = SHA-256(canonical_json(
    capsule with its top-level "audit" field removed))
]]></artwork>
        <t>encoded base64url without padding. The <tt>audit</tt> field is excluded because it
would otherwise hash itself. Because the capsule body includes the
capability chain, the encrypted payload, and the header, <tt>capsule_hash</tt>
commits to the exact grants under which a delegation was made, without
revealing them to anyone holding only the hash.</t>
      </section>
      <section anchor="chain-hash">
        <name>Chain Hash</name>
        <artwork><![CDATA[
chain_hash = SHA-256(
  "sadp-audit-chain-v0.1\n" ||
  "capsule_hash:"        || capsule_hash                    || "\n" ||
  "parent_capsule_hash:" || (parent_capsule_hash or "null") || "\n" ||
  "previous_chain_hash:" || (previous_chain_hash or "null"))
]]></artwork>
        <t>encoded base64url without padding.</t>
      </section>
      <section anchor="receiver-verification">
        <name>Receiver Verification</name>
        <t>A receiver of a delegation capsule <bcp14>MUST</bcp14> verify:</t>
        <ol spacing="normal" type="1"><li>
            <t><tt>audit.capsule_id</tt> equals the delivered capsule's identifier;</t>
          </li>
          <li>
            <t><tt>audit.capsule_hash</tt> equals the recomputed capsule hash;</t>
          </li>
          <li>
            <t><tt>parent_audit.chain_hash</tt> is internally valid (recomputable from
<tt>parent_audit</tt>'s own fields);</t>
          </li>
          <li>
            <t><tt>audit.chain_hash</tt> is internally valid;</t>
          </li>
          <li>
            <t><tt>audit.parent_capsule_hash == parent_audit.capsule_hash</tt>;</t>
          </li>
          <li>
            <t><tt>audit.previous_chain_hash == parent_audit.chain_hash</tt>.</t>
          </li>
        </ol>
      </section>
      <section anchor="trust-model-of-the-audit-chain">
        <name>Trust Model of the Audit Chain</name>
        <t>Audit records are hash commitments, not signatures. They are tamper-evident
relative to a trusted head: a party that has authenticated any capsule in a
lineage (for example, the user who created the root task and retains its
<tt>chain_hash</tt>) can detect substitution, reordering, or omission below that
point, and a broker's stored audit view can be checked for omissions against
receipts. A fabricated but internally consistent chain is detectable only by
comparison against an authentic head. Receivers in this version verify
one-hop parent linkage (capsule plus <tt>parent_audit</tt>); anchoring full
lineages to an external transparency log in the style of SCITT
<xref target="RFC9943"/>, including agent-action receipt profiles
<xref target="I-D.noa-scitt-ai-agent-receipt"/>, and signed provenance chains in the
style of <xref target="HDP"/>, are the intended hardening path and are out of scope for
this version. This limitation is restated normatively in <xref target="security"/>.</t>
      </section>
    </section>
    <section anchor="carriage">
      <name>Carriage in Encrypted Task Capsules</name>
      <t>Grants and audit records are fields of the task capsule. In the v0.2
capsule profile of <xref target="SADP-PROTO"/>, the <tt>capabilities</tt>, <tt>audit</tt>, and
<tt>parent_audit</tt> fields are authenticated outer capsule fields: they are
integrity-protected by signatures and audit hashes and are verified by the
recipient before encrypted payload plaintext is released, but brokers that
store complete capsules may observe their metadata. The encrypted payload
and encrypted context objects remain confidential from infrastructure.</t>
      <t>A future private-delegation-evidence profile may carry grant bodies,
context references, and detailed audit records inside an encrypted inner
body while leaving only public commitments in the outer capsule. Such a
profile <bcp14>MUST</bcp14> still bind, at minimum, the capsule identifier and the sender
and recipient principals into authenticated data and <bcp14>MUST</bcp14> provide equivalent
verification inputs to the receiver before task plaintext is released.</t>
      <t>Deployments carrying this delegation layer over an envelope other than
<xref target="SADP-PROTO"/> <bcp14>MUST</bcp14> ensure the envelope provides end-to-end integrity over
the capsule fields referenced by the verification algorithm
(<xref target="verification"/>) and confidentiality against intermediaries, and <bcp14>SHOULD</bcp14>
bind capsule identity and endpoint principals into the envelope's
authenticated data.</t>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>Verifiers <bcp14>MUST</bcp14> reject, and <bcp14>SHOULD</bcp14> distinguish for diagnostics (without
leaking to untrusted parties which check failed on private fields):</t>
      <ul spacing="normal">
        <li>
          <t>structural errors: nesting depth exceeded, malformed principal
identifiers, duplicate JSON keys, unknown scheme identifiers;</t>
        </li>
        <li>
          <t>signature errors: root issuer untrusted, unresolvable intermediate key,
signature verification failure, parent hash mismatch;</t>
        </li>
        <li>
          <t>attenuation errors: any violation of rules 1-6 of <xref target="attenuation-rules"/>;</t>
        </li>
        <li>
          <t>freshness errors: any expired link;</t>
        </li>
        <li>
          <t>binding errors: holder/recipient mismatch, task mismatch,
action/resource mismatch;</t>
        </li>
        <li>
          <t>caveat errors: unrecognized caveat identifier.</t>
        </li>
      </ul>
      <t>A capsule whose chain fails verification <bcp14>MUST NOT</bcp14> have its payload released
to application code.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>What chain verification provides. A verified chain proves that a trusted
root authorized the leaf holder, through named intermediaries, for exactly
the stated action, resource subtree, task, and validity window, under
accumulated caveats, with each link signed by the principal that held the
parent authority. Splicing a subtree onto a different parent fails the
<tt>parent_grant_hash</tt> check; broadening any field fails attenuation checking;
using another principal's chain fails holder binding; replaying a chain on a
different task fails task binding.</t>
      <t>What it does not provide:</t>
      <dl>
        <dt>Revocation.</dt>
        <dd>
          <t>This version has no capability revocation; expiry is the only lifetime
bound. Issuers <bcp14>SHOULD</bcp14> keep <tt>expires_at</tt> short (minutes to hours, matched
to task duration). A future revision is expected to adopt a status-list
mechanism in the style of <xref target="I-D.asor-wimse-agent-delegation-chain"/> so
that issuers and intermediate delegators can revoke sub-chains. Runtime
revocation at the registry (removing a principal's key binding) bounds
future chains but not already-issued ones.</t>
        </dd>
        <dt>Post-disclosure control.</dt>
        <dd>
          <t>Caveats such as <tt>delete_after_result</tt> and <tt>no_external_network</tt> are
attributable obligations, not enforced confinement. A holder that has
decrypted context can misuse it; this is the endpoint-compromise boundary
shared by all end-to-end encrypted systems.</t>
        </dd>
        <dt>Collusion.</dt>
        <dd>
          <t>Two authorized delegatees, or a delegatee and an outside party, can pool
what each legitimately decrypts. Scoped context disclosure bounds what
each principal receives; it cannot bound what recipients do with received
plaintext.</t>
        </dd>
        <dt>Audit fabrication.</dt>
        <dd>
          <t>Per <xref target="audit"/>, audit records are unsigned commitments; verification is
relative to a trusted head, and only one-hop linkage is normatively
verified in this version. Deployments requiring third-party-auditable
lineage <bcp14>MUST</bcp14> anchor chain heads in a signed or transparency-logged
structure.</t>
        </dd>
        <dt>Key resolution trust.</dt>
        <dd>
          <t>The verification algorithm is only as strong as <tt>resolve_key</tt> and the
trusted-issuer set. A registry that can substitute signing keys for a
principal can mint chains for that principal's name. Registries <bcp14>MUST</bcp14> be
treated as partially trusted identity infrastructure, with key changes
auditable; workload-identity systems (<xref target="I-D.ietf-wimse-arch"/>, <xref target="SPIFFE"/>)
are the appropriate substrate.</t>
        </dd>
        <dt>Holder key compromise.</dt>
        <dd>
          <t>A compromised holder key permits full use and (if depth remains) further
attenuated delegation of that holder's grants until expiry. Short expiry
and <tt>no_further_delegation</tt> on leaf grants limit the blast radius.</t>
        </dd>
        <dt>Clock skew.</dt>
        <dd>
          <t>Expiry comparison is exact epoch-second comparison against the verifier's
clock. Implementations <bcp14>MAY</bcp14> apply a small negative skew allowance (treating
nearly-expired grants as expired) but <bcp14>MUST NOT</bcp14> extend validity beyond
<tt>expires_at</tt>.</t>
        </dd>
        <dt>Denial of service.</dt>
        <dd>
          <t>The structural depth cap (8) bounds signature verifications and hash
computations per chain to a small constant before any expensive work is
attempted.</t>
        </dd>
        <dt>Cross-protocol confusion.</dt>
        <dd>
          <t>All SADP signature and hash domains carry distinct versioned
domain-separation prefixes; a capability signature cannot verify as a
session, prekey, broker-request, or audit value.</t>
        </dd>
      </dl>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Grants name principals and resources. In the v0.2 outer capsule profile,
brokers that store complete capsules can observe grant and audit metadata,
including resource names and lineage shape; the encrypted task payload and
context objects remain confidential. The receiving endpoint also sees the
full ancestry of its authority, including upstream principal identifiers
and resource names. Deployments <bcp14>SHOULD</bcp14> use opaque or pseudonymous segment
names for resources whose identifiers are themselves sensitive
(<tt>blob:d41d8cd9/s3-8</tt> rather than
<tt>blob:acme_acquisition_agreement/indemnity</tt>), since hierarchical names leak
structure to every party that can observe the grant and every downstream
delegatee.</t>
      <t>Key-release endpoints and context stores observe which principals request
which resource identifiers; this metadata <bcp14>SHOULD</bcp14> be minimized and retained
per the deployment's audit policy. Audit hashes reveal lineage shape
(fan-out, depth, timing) but not content; parties for whom lineage shape is
sensitive should treat audit stores as metadata-bearing.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no request of IANA at Internet-Draft stage. If
published, it would request creation of a new registry group, "Secure Agent
Delegation Protocol (SADP)", containing the following registry.</t>
      <section anchor="sadp-capability-caveats-registry">
        <name>SADP Capability Caveats Registry</name>
        <t>Registration policy: Specification Required <xref target="RFC8126"/>. The designated
experts are instructed to require: a precise statement of the behavioral
obligation on the holder; whether violation is detectable and by whom; and
confirmation that the caveat is a restriction (never an expansion) of
authority.</t>
        <t>Initial registrations:</t>
        <table>
          <name>Initial SADP Capability Caveat registrations</name>
          <thead>
            <tr>
              <th align="left">Caveat Identifier</th>
              <th align="left">Reference</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">no_external_network</td>
              <td align="left">This document</td>
              <td align="left">Holder must not make non-SADP network requests while performing the authorized task</td>
            </tr>
            <tr>
              <td align="left">delete_after_result</td>
              <td align="left">This document</td>
              <td align="left">Holder must delete decrypted content and derivatives after result delivery</td>
            </tr>
            <tr>
              <td align="left">no_further_delegation</td>
              <td align="left">This document</td>
              <td align="left">Holder must not derive child grants; attenuation from this grant is invalid</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="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>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="RFC9635">
          <front>
            <title>Grant Negotiation and Authorization Protocol (GNAP)</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="F. Imbault" initials="F." surname="Imbault"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>The Grant Negotiation and Authorization Protocol (GNAP) defines a mechanism for delegating authorization to a piece of software and conveying the results and artifacts of that delegation to the software. This delegation can include access to a set of APIs as well as subject information passed directly to the software.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9635"/>
          <seriesInfo name="DOI" value="10.17487/RFC9635"/>
        </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="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="RFC9420">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="R. Robert" initials="R." surname="Robert"/>
            <author fullname="J. Millican" initials="J." surname="Millican"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
        <reference anchor="I-D.asor-wimse-agent-delegation-chain">
          <front>
            <title>Verifiable Attenuated Delegation for AI Agent Chains</title>
            <author fullname="Rafael Asor" initials="R." surname="Asor">
              <organization>Attenu</organization>
            </author>
            <date day="3" month="September" year="2026"/>
            <abstract>
              <t>   AI agents increasingly delegate tasks to other agents.  Each
   delegation should convey only a subset of the delegating party's
   authority, that subset should be bounded in scope, magnitude, and
   time, and any enforcement point should be able to verify -- offline,
   with no call to an authorization server -- that a token presented at
   hop N carries authority no greater than the token at hop N-1, back to
   a trusted root.  OAuth 2.0 Token Exchange (RFC 8693) models two-party
   delegation and records prior actors in a nested "act" claim, but that
   claim is informational only and cannot enforce attenuation across a
   chain of depth two or more.  This document defines the Agent
   Delegation Chain: a profile of OAuth 2.0 JWT access tokens (RFC 9068)
   that carries authority as Rich Authorization Requests (RFC 9396),
   links each delegation to its parent by a cryptographic byte-
   commitment, and specifies a deterministic offline verification
   algorithm that enforces monotonic attenuation, bounded depth, and
   monotonic expiry.  It reuses existing JOSE, proof-of-possession (RFC
   9449), and status-list machinery (the OAuth Status List draft) and
   introduces no new cryptography.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-asor-wimse-agent-delegation-chain-01"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-arch">
          <front>
            <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   The increasing prevalence of cloud computing and micro service
   architectures has led to the rise of complex software functions being
   built and deployed as workloads, where a workload is defined as
   software executing for a specific purpose, potentially comprising one
   or more running instances.  This document discusses an architecture
   for designing and standardizing protocols and payloads for conveying
   workload identity and security context information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-08"/>
        </reference>
        <reference anchor="I-D.noa-scitt-ai-agent-receipt">
          <front>
            <title>A SCITT Profile for AI-Agent Action Receipts</title>
            <author fullname="Tora Toraman" initials="T." surname="Toraman">
              <organization>NordenSoft</organization>
            </author>
            <date day="14" month="August" year="2026"/>
            <abstract>
              <t>   This document profiles the IETF SCITT (Supply Chain Integrity,
   Transparency, and Trust) architecture for AI-agent action receipts:
   tamper-evident, signed, offline-verifiable records of what an
   autonomous agent was recorded as doing at the governed boundary,
   under which recorded principal class, with what recorded verdict, and
   -- where the issuer records one -- under which policy identity.  Each
   receipt is a signed record over a canonical JSON payload, hash-
   chained so that each record commits to its predecessor, and presented
   either bare -- the payload with its own native signature -- or
   enveloped in a COSE_Sign1.  This revision specifies how such a
   receipt is carried as a SCITT Signed Statement, with the protected
   claims a Transparency Service requires, so that a receipt can be
   registered.  Registration obtains a Transparency Service's signed
   proof that the statement was registered in its log -- a property a
   self-signed chain cannot provide alone.  It does not, by itself, give
   an offline holder non-equivocation: that requires consistency proofs
   and monitoring of the log, which this profile does not specify.  The
   profile makes a deliberately narrow, checkable claim: this is an
   issuer-authenticated, signature-verifiable, tamper-evident record of
   the action, the recorded principal class, the recorded verdict, and
   any policy identity the receipt carries.  It explicitly does not
   claim that the agent was correct, safe, or wise, that the recorded
   inputs were true or complete, that a named approver authorized this
   exact action before it ran, that a downstream controller succeeded,
   or that any physical effect occurred.  This revision separates those
   last three as distinct claims with independent failure behaviour,
   states the boundary of a shared action digest, and keeps a
   deterministic offline policy-replay capability out of scope.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-noa-scitt-ai-agent-receipt-01"/>
        </reference>
        <reference anchor="I-D.sharif-attp" target="https://datatracker.ietf.org/doc/draft-sharif-attp/">
          <front>
            <title>ATTP: Agent Trust Transport Protocol</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sharif-attp"/>
        </reference>
        <reference anchor="I-D.sharif-agent-transport-protocol" target="https://datatracker.ietf.org/doc/draft-sharif-agent-transport-protocol/">
          <front>
            <title>Agent Transport Protocol: Asynchronous Store-and-Forward Messaging for Autonomous AI Agents</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sharif-agent-transport-protocol"/>
        </reference>
        <reference anchor="I-D.hamr-oauth-agent-delegation" target="https://datatracker.ietf.org/doc/draft-hamr-oauth-agent-delegation/">
          <front>
            <title>An Attenuated Delegation Profile for Automated Agents</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hamr-oauth-agent-delegation"/>
        </reference>
        <reference anchor="I-D.liu-oauth-chain-delegation" target="https://datatracker.ietf.org/doc/draft-liu-oauth-chain-delegation/">
          <front>
            <title>OAuth Chain Delegation for AI Agents</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-oauth-chain-delegation"/>
        </reference>
        <reference anchor="I-D.li-oauth-delegated-authorization" target="https://datatracker.ietf.org/doc/draft-li-oauth-delegated-authorization/">
          <front>
            <title>OAuth 2.0 Delegated Authorization</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-li-oauth-delegated-authorization"/>
        </reference>
        <reference anchor="I-D.nelson-agent-delegation-receipts" target="https://datatracker.ietf.org/doc/draft-nelson-agent-delegation-receipts/">
          <front>
            <title>Delegation Receipt Protocol for AI Agent Authorization</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-nelson-agent-delegation-receipts"/>
        </reference>
        <reference anchor="I-D.singla-agent-identity-protocol" target="https://datatracker.ietf.org/doc/draft-singla-agent-identity-protocol/">
          <front>
            <title>Agent Identity Protocol (AIP): Decentralized Identity and Delegation for AI Agents</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-singla-agent-identity-protocol"/>
        </reference>
        <reference anchor="I-D.vandoulas-aidp" target="https://datatracker.ietf.org/doc/draft-vandoulas-aidp/">
          <front>
            <title>Agent Interaction and Delegation Protocol (AIDP)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-vandoulas-aidp"/>
        </reference>
        <reference anchor="SADP-PROTO">
          <front>
            <title>The Secure Agent Delegation Protocol (SADP): End-to-End Encrypted Task Capsules</title>
            <author initials="H." surname="Atakora" fullname="Hamdy Atakora">
              <organization/>
            </author>
            <date year="2026" month="September"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-atakora-sadp-protocol-02"/>
        </reference>
        <reference anchor="MACAROONS" target="https://research.google/pubs/pub41892/">
          <front>
            <title>Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud</title>
            <author initials="A." surname="Birgisson" fullname="Arnar Birgisson">
              <organization/>
            </author>
            <author initials="J. G." surname="Politz" fullname="Joe Gibbs Politz">
              <organization/>
            </author>
            <author initials="U." surname="Erlingsson" fullname="Ulfar Erlingsson">
              <organization/>
            </author>
            <author initials="A." surname="Taly" fullname="Ankur Taly">
              <organization/>
            </author>
            <author initials="M." surname="Vrable" fullname="Michael Vrable">
              <organization/>
            </author>
            <author initials="M." surname="Lentczner" fullname="Mark Lentczner">
              <organization/>
            </author>
            <date year="2014" month="February"/>
          </front>
          <seriesInfo name="DOI" value="10.14722/ndss.2014.23212"/>
        </reference>
        <reference anchor="BISCUIT" target="https://www.biscuitsec.org/">
          <front>
            <title>Biscuit: Bearer Tokens with Offline Attenuation and Decentralized Verification</title>
            <author initials="G." surname="Couprie" fullname="Geoffroy Couprie">
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="UCAN" target="https://github.com/ucan-wg/spec">
          <front>
            <title>UCAN: User-Controlled Authorization Networks Specification</title>
            <author>
              <organization>UCAN Working Group</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="HDP" target="https://arxiv.org/abs/2604.04522">
          <front>
            <title>A Lightweight Cryptographic Protocol for Human Delegation Provenance</title>
            <author>
              <organization/>
            </author>
            <date year="2026" month="April"/>
          </front>
        </reference>
        <reference anchor="SPIFFE" target="https://spiffe.io/">
          <front>
            <title>Secure Production Identity Framework For Everyone (SPIFFE)</title>
            <author>
              <organization>SPIFFE Project</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
          <front>
            <title>Agent2Agent (A2A) Protocol Specification</title>
            <author>
              <organization>Agentic AI Foundation</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io/specification/2025-06-18">
          <front>
            <title>Model Context Protocol Specification</title>
            <author>
              <organization>Model Context Protocol Project</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
      </references>
    </references>

<section anchor="example">
      <name>Worked Example: Two-Hop Delegation with Context Narrowing</name>
      <t>Alice asks her contract-reviewer agent to review a contract, permitting it
to consult a legal-reviewer agent on sections 3 and 8 only.</t>
      <t>Step 1. Root grant. Alice's device signs a root grant to the
contract-reviewer runtime:</t>
      <artwork><![CDATA[
{
  "issuer": "user:alice/device:phone",
  "holder": "agent:contract-reviewer/runtime:prod-a",
  "action": "read",
  "resource": "blob:contract_pdf",
  "task_id": "task_01J00000000000000000000000",
  "expires_at": "2026-09-19T13:00:00Z",
  "max_delegation_depth": 1,
  "caveats": ["delete_after_result"],
  "parent_grant_hash": null,
  "parent": null,
  "signature": "MEd...root-sig..."
}
]]></artwork>
      <t>Signing input (elided): <tt>"SADP capability grant v0.2\n"</tt> followed by the
canonical JSON of the signed structure with
<tt>"parent_grant_hash": null</tt> and
<tt>"expires_at_epoch_seconds": 1789822800</tt>.</t>
      <t>The grant travels as an authenticated outer capsule field to the
contract-reviewer runtime, alongside an encrypted task payload carrying the
context reference for <tt>blob:contract_pdf</tt> and its wrapped content key. The
broker can observe the grant metadata in v0.2, but routes opaque encrypted
task and context bytes.</t>
      <t>Step 2. Attenuated child grant. The contract-reviewer runtime extracts
sections 3 and 8 into a new context object, encrypts it under a fresh
content key with resource identifier <tt>blob:contract_pdf/sections_3_8</tt>, and
signs a child grant to the legal-reviewer:</t>
      <artwork><![CDATA[
{
  "issuer": "agent:contract-reviewer/runtime:prod-a",
  "holder": "agent:legal-reviewer/runtime:prod-b",
  "action": "read",
  "resource": "blob:contract_pdf/sections_3_8",
  "task_id": "task_01J00000000000000000000000",
  "expires_at": "2026-09-19T12:45:00Z",
  "max_delegation_depth": 0,
  "caveats": ["delete_after_result", "no_further_delegation"],
  "parent_grant_hash": "u5Zt...b64url-sha256-of-root...",
  "parent": { ...the complete root grant, including its signature... },
  "signature": "MEd...child-sig..."
}
]]></artwork>
      <t>The child's signing input carries
<tt>"parent_grant_hash": "u5Zt...b64url-sha256-of-root..."</tt>.</t>
      <t>Attenuation check against <xref target="attenuation-rules"/>: issuer continuity (child
issuer is the root holder); action equality (<tt>read</tt>); resource narrowing
(<tt>blob:contract_pdf/sections_3_8</tt> extends <tt>blob:contract_pdf</tt> + <tt>/</tt>);
expiry narrowed (12:45 &lt;= 13:00); depth decremented (0 &lt;= 1 - 1); caveats
accumulated (<tt>delete_after_result</tt> retained, <tt>no_further_delegation</tt>
added).</t>
      <t>Step 3. Verification at the legal-reviewer. The legal-reviewer runtime
receives the delegation capsule, flattens the chain (depth 2), checks
Alice's device is a trusted issuer and verifies the root signature,
resolves the contract-reviewer's signing key via the registry, verifies the
parent hash link and the child signature, checks all six attenuation rules,
checks both links unexpired, checks it is the holder, the task matches, and
that <tt>read</tt> on <tt>blob:contract_pdf/sections_3_8</tt> covers its intended use,
and recognizes both caveats. Only then is the payload decrypted, and the
validation API returns EnforcedCaveats = {delete_after_result,
no_further_delegation} together with the plaintext.</t>
      <t>The legal-reviewer never receives the content key for <tt>blob:contract_pdf</tt>,
cannot decrypt the full contract, and cannot delegate further: rule 6 makes
any grant it might mint invalid at every honest verifier.</t>
      <t>Step 4. Audit linkage. The delegation capsule carries <tt>parent_audit</tt> (the
root task capsule's audit record) and its own <tt>audit</tt> record with
<tt>parent_capsule_hash</tt> and <tt>previous_chain_hash</tt> linking to it. Alice, who
retains the root <tt>chain_hash</tt>, can later verify that the legal-reviewer's
result capsule descends from her original task and that no intermediate
delegation was substituted without any party disclosing task plaintext to
the broker or audit store.</t>
    </section>
    <section anchor="comparison-with-related-delegation-mechanisms">
      <name>Comparison with Related Delegation Mechanisms</name>
      <table>
        <name>Delegation mechanism comparison (informative)</name>
        <thead>
          <tr>
            <th align="left">Property</th>
            <th align="left">Macaroons</th>
            <th align="left">Biscuit / UCAN</th>
            <th align="left">RFC 8693</th>
            <th align="left">draft-asor</th>
            <th align="left">This document</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Offline attenuation</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">No (STS round trip)</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">Public key holder binding</td>
            <td align="left">No (HMAC bearer)</td>
            <td align="left">Yes</td>
            <td align="left">Bearer/PoP options</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">Enforced constraint subsumption</td>
            <td align="left">Caveats</td>
            <td align="left">Yes</td>
            <td align="left">No (act is history)</td>
            <td align="left">Yes</td>
            <td align="left">Yes (rules 1-6)</td>
          </tr>
          <tr>
            <td align="left">Anti-splicing parent hash</td>
            <td align="left">N/A</td>
            <td align="left">Varies</td>
            <td align="left">N/A</td>
            <td align="left">par_hash</td>
            <td align="left">Yes (grant hash)</td>
          </tr>
          <tr>
            <td align="left">Bound to E2EE task/context payload</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">Joint attenuation of information (context keys)</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">Revocation</td>
            <td align="left">No</td>
            <td align="left">Varies</td>
            <td align="left">Token lifetime</td>
            <td align="left">Status list</td>
            <td align="left">Not in v0.2</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This design draws on the attenuation lineage of Macaroons, Biscuit, and
UCAN; on the agent delegation chain construction of
draft-asor-wimse-agent-delegation-chain; and on the secure messaging
tradition whose envelope constructions the companion SADP protocol document
adapts. Errors are the author's own.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+196XYbR5bm/3yKGOqHgG4AXLSURJa7h5ZkWS7L4ohy+VTX
9CESQILIEpCJzkyQomn1s8yzzJPN/e4SEZkAKdk958yfqdMtg0BmLDfuvsVw
OEyavFlmx27vRbpOJ/kyb26G35abYuZeZsvsMm3ysnAvFmle1O46bxbufFqu
s5l7URZN9qlxL/N6uizrTZW5eVm50zfu9DIrmnovSSeTKruikc9PX55tj7aX
zMppka5o7lmVzpth2qQfyyodXuerOhvW6Ww9nPmXhgeHyTRtssuyujl22ad1
Um8mq7yu6bfmZk2D5MUsW2f0T9EkNOujJF9Xx66pNnVzdHDw/OAoSassxXKy
6aaibe4l12X18bIqN2v69k0xy6/y2SZdunM/Mq2R5jx2RwdHT4cHz4dHB8m0
LOqsqDf1sZunyzpLPmY3NM7sOHFuiO2nvH3+Kyyf/5wahPNMfk+bJis24QFa
/bAph/Qf+jitbtb+l3Qzy5ukbtJidpEuy4LWdEODrPNj9/emnA5cXVZNlc1r
+nSzwod/T5J00yzKShZGAD9234/cqQCZvnNOgP99uprdtL4vq8u0yH/ldR27
N6u0St2P6aTmH6eEGw3O4OcibwgPzhuCkPyUrdJ8eewWepD/PcebS3pxNMuu
kqQoqxWNeZVhRe+/e3F0ePhcPz47/NNj+3jw6Eg/Pj16ZN8+fvr4mX589OiR
f+3oCX1M8mLeGfrZ0+eP9OPzp4+e2Ld/euY/Hh49tQceHx3Yx+eP+bU3w5ej
lCCqqMgnGuPiFAhsD+ZZM7cHq+nCvi7KdFhP84bwOtcRqmya5evGnqgXaZXP
Ce2b9THDzyjx9MOHs2MhI/cB+Ev/pkW9piN2Z1VJ510u9/iNOqsIl7B/GYEG
JqqsiqwZvgRNGWlFU8lMaXWZ0a8L+qI+3t8nLE+bKp1+zCrez4hQYJ/Ic3/r
9f3O4nljjS1vuNbldTakW+lugjZZ3xTTRVUW5aYmVCorAiIRwXdldZ1WM/c2
q+v0Mi8uhbdsGnpwhUcjNvNH4HDHqv8rsLljSIPXIl1VwxIUuYVOHVgVRIvC
FrIWDyagzfNl5iGx4gf+CBTuWcsfgcA9w9nul/lGn2DSuXPz72hjC5EP8dY7
guX37PXumf/IVu8eLexUH9CfstlQ2LDx0x37PRod2G5xovHjv3ez90/+x7Z8
/5i28SJb1sQat3ilMr26vfHocN/LA54ptE77vwKNL63oj0DjS2N69kg8a5nq
czl0EuhV93HHN/pQgEPv9M1Z/5gwY0q/kCDNfyXs8I+lbQ3tv0Ai96/1D/HE
e0c0GF3RFsrNMq1JQs66IlBggvWmU95gZ78xlF6e9X/fjtsz/5EdtkfAjqDk
Ds/ev/vwrr2TD4vMscaZKUbv3ATeprN+JQog/Yc+sgJIR/4hrT860s7rzTLT
ow2aHf63W7u7T8MTrfY8o/FXk6xi/fZ3QdB0ddbS7WCHpGM79/b0xen7d+9+
Om/D4W06TauyxEJflOVHmkXMCbUjoHe/SK+ytKkZl9tY3+ICtFvXEFRfLMvN
bDc8ZN+nVZFW7tu8uiRtXrlf+PWHMnOv88mkdmcl6eS/dn7+eTmnl19VS8Ll
HW+fFh83FR3N8qbzw9ucREO2dH+t0sky6/6YVh/dj7Sx6a9FVkVH8V02qTZp
dUMncfj4jpN4+e7NsTs8GB0+/tPR0X4xq+sRnh4dPTo6PNqJxFVWZ9BJR5dl
ebnM9tebSY1/Hh8+e34EpP32zfmLn998aJ/Ut2TRbXIa5lt6mZDjQ/kxM+Pv
3XxOAMm8ihIoMz6uv9La5/k04tm7D+h1Vs7nVXlDSLBZ03YjgBBGHu7c0/X1
9WgiK6yzKZMlPffzi9Of2rvgb9zPBMYhUKwql8stRPopa2ACkua5zqZfWDFN
dMzTuF/oFaikr2E5tpf8eOeSLwlym8loWq72N9O0GF5f7tc0IT37/cuzDt9z
P+aXi+Y6w7/uBThAeVml60U+bQvI7zertOjwkqusSItpthet6ZTAugzk3V1Z
Wn3KrxiGZKXtHz09eDw6ePzkCNh0fvbmu+9etVenfIymmm2EK3tx9F1FJwpg
OtLd3aurrLohK5UYGw/Tvwem8gQG/Uc2bb4GnvU6n8+zUV7i5E+PTneIjiPh
tT36tR8A97XHzC8TxEmgfgdXSFCegjtgNzyPUs8NGaxLGMcNH7efGKt++6Jz
8G9L0ia8U+V3r/iO13cC9cnOpa8wwlQG8FsgELeXjteHB0+Hh8+SZDgcOkIb
SMkmSdrGmThBiFNPqyxldYA0lmnjCGUm2SJdzl05dxsizprZB/0BbEmLkhh7
NUjWaY2XaJH1x3rgSO5uVhhw4JqStpVOp2QYDvhVVUahEU2rsq7dVHxV5TwJ
+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
5k+t2yJ4WwafIE0V38Xb9hEMOL+6ApPQkI9A+EKserAQ3dQhIajF88Qj6/cq
tAgHjbABKWNwYEzwoapqm1mtJ8kLkccyrYVN6WSnSN19diLWclUnsYdvlmWA
vQ0zsbRwY09xNoDoIHE9/HspvHiwfXBJ8ppTr1u8/UySKiLEeTHggLAynHmJ
yiqsg5cIlCGjIuBh2JSgspVq+mzXaGcDTnkTWHBqJGeZX+XlUurZ6EesVFBb
POTs/s+LDZeMjV+MNLD2zTfubKToyxngpxK4IQaTLu1Zbd3Bz8rnsX9QMlTU
v8Hp35sJgbuRxBo1loItaA5G5ZGcJv3eTDif886zesuO57W/1CgIP4/pXInj
cJK0kGp42P2z29vfG99vECIz+hWbY50FBE3H/RlLCH+POUn5JaMl8gTZfXSM
mXdpOu5fvnGHY0tGp4F3PsRT7PxlSG+PkqcjbayB6MVmtVlq6o+4On29byaG
UIHFqE419g5N/RnLwBMvwhM9/eTUkEsRrLTk6FlVrtfZrK/8KgyMgQLaSvYN
8enyQk3RaC+qgNeZ1CjTPB/jujRf+MBiAm7/UHPu0CnvMtQ4wGJkpkE2uNS7
BGtVM97idMxcy01FOPhKvKRViSfEq9HKHBrNejMhfYRDNpFBbRV9NJKW7iVR
6R6P0qreG7mfi2X+MbN6Rq1kC8sbSF42qFgSmyOnAxemwmep0oxVgJqWVtaW
KyUBEYK6+OG5pyCcnVfIqCBFNk469aI97uvhTpeXeGCxIlYXM0TicmyDcYWt
MLTxa0IUAH6ZpXNgg7NYsQbjlKkgnSMZ65cX8iXh2Cpdr1slKC3XAm3XZE0A
Peey4wg43iY8Zb4phPWMNQh3QQ/0/KD9sRaqWD5wY9oAD9ZKNYZDEvh6HeWG
h7C0xish4JuSY1piIcnDpoTRtsfKFPfHgSmRnjMSg1B8vhd8TL3XA9eBy8BF
24BSfj2wmfvEwB1x8O+WjDDHetTfuL/TMK9HmqXvP/kvRqMReyMdKvYE5hZz
hxLXU7lFfBUqVX/Ej77XqNicTre4BNdyz2gHjmTCe7wVVRyj/PM9LWOZ1o3L
xHnuMbE12qZYctlne8vGKmr3XuXQrpfU/r0Q+PU6Y/zdXtWdulDOdMHKTe/9
YNtodLrlAc3s9QD4qxzJoR+JBuk4fAiLgTUjJQh5vQPJ5QGtGvzOBiruX/Sl
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
R3L92F8CJz1OxBhCkXaZWIa5p9Y4zVxCs+BmdnVO8Dq0D/dhnVSt8iW4UqbM
eNl8XXBlo7am9lodD2atlzQ7IOmU0YRY3Sy0dSnMKxlXi7aTE5uSM21UGQ2N
uuFHk3TkELthDLab0COb963lQ9TwiFhtKdnwobHQb9aH1O1L59Hf+JKRZ0+f
P6KPM7jThkib2HYEtH0mHf/JO+1pFfOq39zfstr/+1Ppeucfzp3dz56v++0n
sOLQQ7WdLKPvf//29IV2Rg0vf8t/75+VZ6SPi3bcHfdVlKAgd5FLFcJmpf4g
75eLV5tKRweCAp3BTXu1PZ8G1+cZTlsd6WNWT2Ptn9K/f+XUKv+ndam38YTI
udshD/it1W6/Onr1inFl3xR845y8yq1/bM8/6O1m4TwQXIgKMHs2HkLJ/S+M
FrKK7Be/nw/cotZSheiLc87R4XZw/HBjtlPL/ROhbUjjieKToVj0KuvD//PA
nU6RP7nMZnLjHg0ml9lks2/25umyzvY+mxOZ/aJA52vfCyYGhfmyCSSeNAZG
GSIWQRwn/l124cRsc6HxHt/zHp7KQD73Zh2daG6Epkizy1nuIYWKGLoUS9Al
3EwazWbiyO4TbzdGMqIlzSzlLBROva1DHJ19kFJYNUr+D4QDpvIOqgAA

-->

</rfc>
