<?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-00" category="exp" submissionType="IETF" 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-00"/>
    <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-00"/>
        </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:
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
BE56nIgxhCLtMrEMc0+tcZq5hGbBzezqnOB1aB/u/TqpWuVLcKVMmPGy+Trn
ykZtTe21Oh7MWi9pdkDSKaMJsbppaOtSmFcyrhZtJyc2JWfaqDIaGnXDjybp
yCF2wxhsN6FHNu87y4eo4RGx2lKy4UNjod+sD6k7kM6jv/ElI0+fPHtIH6dw
pw2QNrHtCGj7TDr+k/fa0yrmVb+5v2W1//en0u2ffzx3dj97vuq1n8CKQw/V
drKMvv/Du9Pn2hk1vPw9/31wVp6RPi7acXfcl1GCgtxFLlUI66X6g7xfLl5t
Kh0dCAp0Bpv2avd9GlyPZzhtdaSPWT2NdXBK//6VU6v8n9al3sYTIuduhzzg
91a7/fLo5UvGlQNT8I1z8iq3/rE9/6i3m4XzQHAhKsDct/EQSu59ZbSQVWS/
+P185Ba1lipEX5xzjg63g+OHG7OdWu6fCG1DGk8UnwzFoldZD/6fe+50gvzJ
RTaVG/doMLnMJpt+tzdLF3W298WcyOwXBTpf+14wMSjMl00g8aTRN8oQsQji
OPHvsgsnZptzjff4nvfwVAbyuTPr6ERzIzRFml3Ocg8pVMTQpViCLuFm0mg2
E0d2n3i7MZIRLWlmKWehcOptHeLo7IOUwqph8n8An/jxoQKqAAA=

-->

</rfc>
