<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-izmaylov-agent-permission-receipts-01" category="std" consensus="true" submissionType="IETF" tocDepth="2" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Agent Permission Receipts">Signed Permissions and Action Receipts for Automated Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-izmaylov-agent-permission-receipts-01"/>
    <author initials="P." surname="Izmaylov" fullname="Pavel Izmaylov">
      <organization/>
      <address>
        <email>hello@prova.red</email>
      </address>
    </author>
    <date year="2026" month="October" day="24"/>
    <area>Security</area>
    <keyword>AI agent</keyword>
    <keyword>authorization evidence</keyword>
    <keyword>delegation</keyword>
    <keyword>receipt</keyword>
    <keyword>transparency log</keyword>
    <keyword>post-quantum</keyword>
    <abstract>
      

<t>This document specifies records with which a third party can establish,
later and without network access, what an automated agent, such as an
artificial intelligence (AI) agent, was permitted to do and what it
recorded doing. The person for whom the agent acts, the principal, signs
a permission with a passkey; the permission carries limits that a
verifier can check mechanically. The agent signs a receipt for each
action with Ed25519 and the Module-Lattice-Based Digital Signature
Algorithm (ML-DSA-87). Receipts are chained and entered in a log whose
signed tree heads are time-stamped. A verifier reports, separately,
whether the records are sound and whether each recorded action stayed
within its permission. The content of each record is specified
independently of its encoding; one encoding, JSON Web Signature (JWS)
over canonical JavaScript Object Notation (JSON), is defined.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      

<t>Note to the RFC Editor: please remove this note before publication.</t>
      <t>What this document adds to other work is stated in <xref target="intro"/>. This
revision specifies the content model apart from its encoding: <xref target="json"/> is
the JSON Web Signature (JWS) encoding, and <xref target="other-encodings"/> states what
another encoding would have to define. <xref target="changes"/> lists the changes
since -00. The spelling "acknowledgement" is kept throughout, in prose as
well as in identifiers, because it is the format's own label
("provared.acknowledgement.v0").</t>
      <t>This document was announced on the audit@ietf.org list, where the
proposed Agent Use of Delegation and Interaction Traceability (AUDIT)
working group is discussed. While that group is being formed, detailed
comments are welcome in writing: by email to the author, or as issues at
https://github.com/provared/provared/issues.</t>
    </note>
  </front>
  <middle>
    

<section anchor="intro">
      <name>Introduction</name>
      <t>A principal signs a permission for an agent: which actions, with which
services, within which limits, from when until when. The agent signs a
receipt for each action it takes; a service may countersign it. A
recorder appends receipts to a log and periodically signs its tree head,
which a Time-Stamping Authority (TSA) time-stamps. Later, with no network
access, a verifier checks the records and answers three separate
questions: whether the records are sound, whether every signature could
be verified on that device, and whether each recorded action stayed
within its permission.</t>
      <t>This document specifies the records and the verifier's rules: evidence,
not enforcement. Nothing in this document stops an action when it is
attempted, and an action for which no receipt was written leaves no
trace in the agent's own log (<xref target="security"/>). It does not specify an
enforcement point that refuses an action before it takes effect, how
records are carried, how keys and trust anchors are distributed, or what
to do about a finding (<xref target="elsewhere"/>).</t>
      <t>When an automated agent acts for a person, the questions asked afterward
are the same: was the action authorized, by whom, within what limits,
did the other party agree, and when? Authorization protocols answer at
the moment of a request, typically with tokens that are not kept as
evidence. This document specifies records that a third party can verify
later, without network access. Each record is signed by the party that
made it. Whoever keeps the log can still leave out or delay entries;
<xref target="security"/> states how far that reaches.</t>
      <t>The content model (Sections <xref format="counter" target="common"/> through <xref format="counter" target="verification"/>) says
what each record holds, who signs it, and how a verifier judges it, apart
from how records are written as bytes. This document defines one
encoding (<xref target="json"/>): JSON Web Signature (JWS) <xref target="RFC7515"/> over JavaScript
Object Notation (JSON) <xref target="RFC8259"/> in one canonical form <xref target="RFC8785"/>;
<xref target="other-encodings"/> states what another encoding, such as one with
Concise Binary Object Representation (CBOR) Object Signing and Encryption
(COSE), has to define. Logs use the Merkle tree of <xref target="RFC9162"/>, and
time-stamps come from a TSA <xref target="RFC3161"/>. Agents sign with Ed25519
<xref target="RFC8032"/> and the Module-Lattice-Based Digital Signature Algorithm
ML-DSA-87 <xref target="FIPS204"/> side by side; a signed tree head adds the Stateless
Hash-Based Digital Signature Algorithm SLH-DSA <xref target="FIPS205"/>.</t>
      <t>Other drafts (<xref target="related"/>) already have principal-signed authorizations,
signed and hash-chained receipts for each action, passkey approval of one
exact action, signed budgets enforced when an action is attempted, and
delegation that only narrows. This document adds three things. First,
the permission that the principal signs with a passkey <xref target="WebAuthn"/>
carries limits that a verifier can check mechanically (totals, single
amounts, counts, and totals or counts within a rolling period) and
conditions (the other party's countersignature, or the principal's
approval of one action). Second, a cancellation can be acknowledged by
the agent. Third, it specifies a verifier that says, from the records
alone and after the fact, whether each recorded action, including a
helper agent's, stayed within the permission.</t>
      <t>The records are evidence, not a verdict: a sound record can show an
agent acting outside its permission. This document is the core of a
published format description <xref target="FORMAT"/>; <xref target="elsewhere"/> lists the parts
specified only there.</t>
    </section>
    <section anchor="terms">
      <name>Conventions and Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      

<t>The identifiers that <xref target="FORMAT"/> uses in labels and member names are
given in parentheses after each term.</t>
      <dl spacing="compact">
        <dt>Principal:</dt>
        <dd>
          <t>The person who signs a permission with a passkey ("issuer").</t>
        </dd>
        <dt>Passkey:</dt>
        <dd>
          <t>A credential <xref target="WebAuthn"/> in a device, unlocked by user verification
such as a biometric or a personal identification number (PIN).</t>
        </dd>
        <dt>Agent:</dt>
        <dd>
          <t>Software that acts for the principal. It deals with services, which
may countersign its receipts.</t>
        </dd>
        <dt>Helper agent, or helper:</dt>
        <dd>
          <t>An agent that acts under a delegation (<xref target="delegation"/>).</t>
        </dd>
        <dt>Service:</dt>
        <dd>
          <t>The other party to an action, named in a permission's "with"; it may
countersign (<xref target="receipt"/>).</t>
        </dd>
        <dt>Permission:</dt>
        <dd>
          <t>The principal's signed statement of which agent may do what, within
which limits, with whom, and when ("slip").</t>
        </dd>
        <dt>Action receipt, or receipt:</dt>
        <dd>
          <t>The agent's signed statement that it took one action ("stub"). It is
not a Receipt in the sense of Supply Chain Integrity, Transparency,
and Trust (SCITT) <xref target="RFC9943"/> (<xref target="related"/>).</t>
        </dd>
        <dt>Delegation:</dt>
        <dd>
          <t>An agent's signed hand-over of part of its permission ("pass").</t>
        </dd>
        <dt>Record:</dt>
        <dd>
          <t>A signed statement of one of the eight kinds of <xref target="records"/>.</t>
        </dd>
        <dt>Log:</dt>
        <dd>
          <t>A sequence of entries, only ever added to ("book").</t>
        </dd>
        <dt>Entry:</dt>
        <dd>
          <t>One record together with what is carried beside it, as one element
of a log (<xref target="log-format"/>).</t>
        </dd>
        <dt>Recorder:</dt>
        <dd>
          <t>Whoever keeps a log.</t>
        </dd>
        <dt>Signed tree head, or head:</dt>
        <dd>
          <t>The recorder's signed statement of a log's size and root ("seal").</t>
        </dd>
        <dt>Chain:</dt>
        <dd>
          <t>The receipts of one agent under one permission or one delegation,
each naming the one before (<xref target="receipt"/>).</t>
        </dd>
        <dt>Verifier:</dt>
        <dd>
          <t>Anyone, or any software, that verifies records ("checker").</t>
        </dd>
        <dt>Core verifier:</dt>
        <dd>
          <t>A verifier that implements this document and none of the parts
specified only in <xref target="FORMAT"/> (<xref target="elsewhere"/>).</t>
        </dd>
        <dt>Digest:</dt>
        <dd>
          <t>The SHA-256 hash <xref target="FIPS180-4"/> of some bytes.</t>
        </dd>
        <dt>Encoding:</dt>
        <dd>
          <t>How records, keys, and logs are written as bytes and how signatures
are carried (<xref target="json"/>, <xref target="other-encodings"/>).</t>
        </dd>
        <dt>Problem:</dt>
        <dd>
          <t>A reason why an entry, or the log, cannot be relied on.</t>
        </dd>
        <dt>Sound:</dt>
        <dd>
          <t>Of an entry or a log: having no problem.</t>
        </dd>
        <dt>Finding:</dt>
        <dd>
          <t>A statement that a sound receipt or delegation lies outside its
permission. A finding is not a problem.</t>
        </dd>
        <dt>Compared:</dt>
        <dd>
          <t>Of a receipt or delegation: judged against its permission
(<xref target="answers"/>).</t>
        </dd>
        <dt>Counted:</dt>
        <dd>
          <t>Of a time-stamp: from a trusted TSA, on a record whose signatures were
all verified (<xref target="timestamps"/>).</t>
        </dd>
        <dt>Intact:</dt>
        <dd>
          <t>Of a log: no problem was found and everything was verified
(<xref target="answers"/>).</t>
        </dd>
      </dl>
      <t>The base64url encoding is that of <xref section="5" sectionFormat="of" target="RFC4648"/>, without
padding. Where a rule is followed by a code in parentheses, such as
"(chain-broken)", an entry that breaks the rule has a problem. A
verifier <bcp14>MUST</bcp14> report that code for it, unless it stopped at an earlier
problem of the same entry (<xref target="answers"/>). Every finding of a compared
receipt or delegation is reported: each code once, except
over-period-limit, which is reported once for each period limit
exceeded. <xref target="codes"/> lists the codes.</t>
    </section>
    <section anchor="overview">
      <name>Overview and Example</name>
      <t>Once the principal has signed a permission, the agent signs a receipt
for each action, naming the permission and the receipt before it. The
recorder writes each receipt, with any countersignature and approval,
as one log entry, and periodically appends a time-stamped signed tree
head. This example follows the demonstration published with <xref target="FORMAT"/>; the
parties and orders are invented. An office agent may order supplies up
to 200 GBP in total and 100 GBP for one order, and send two messages in
any hour. Every order needs the supplier's countersignature, and an
order above 60 GBP the principal's approval. The permission's content
is shown in the JSON encoding (<xref target="json"/>), with spaces and line breaks
added, and values abbreviated:</t>
      <sourcecode type="json"><![CDATA[
{"actions": ["supplies.order", "message.send"],
 "agent": {"keys": ["<Ed25519>", "<ML-DSA-87>"], "name": "Agent"},
 "id": "<base64url>",
 "issuer": {"key": "<ES256>", "name": "A. Person",
   "origin": "https://sign.example.org", "rpId": "example.org"},
 "limits": [
   {"action": "supplies.order", "max": 200, "unit": "GBP"},
   {"action": "supplies.order", "each": 100, "unit": "GBP"},
   {"action": "message.send", "count": 2, "per": 3600}],
 "never": ["destroys", "impersonate"],
 "purpose": "Keep the office stocked with paper and toner.",
 "requires": [
   {"action": "supplies.order", "need": "countersignature"},
   {"above": 60, "action": "supplies.order", "need": "approval",
    "unit": "GBP"}],
 "type": "provared.slip.v0",
 "validFrom": "2026-10-05T09:00:00Z",
 "validUntil": "2026-10-12T09:00:00Z",
 "with": [{"id": "supplier", "keys": ["<Ed25519>", "<ML-DSA-87>"],
   "name": "Example Stationery"}]}
]]></sourcecode>
      <t>The log then holds these entries ("receipt n" has "seq" n; "cs" is a
countersignature):</t>
      <artwork><![CDATA[
Entry Record     Action, amount With it      Total Findings
0     permission
1     receipt 0  order, 45 GBP  cs              45
2     receipt 1  message
3     receipt 2  order, 80 GBP  approval, cs   125
4     receipt 3  order, 25 GBP                 150 countersignature-
                                                   missing
5     receipt 4  order, 80 GBP  cs             230 over-limit,
                                                   approval-missing
6     signed tree head          time-stamp
]]></artwork>
      <t>The content of the receipt at entry 5, shown across lines, is:</t>
      <sourcecode type="json"><![CDATA[
{"action":"supplies.order","amount":{"unit":"GBP","value":80},
 "id":"<base64url>","previous":"<digest of the receipt at 4>",
 "seq":4,"slip":"<digest of the permission>",
 "type":"provared.stub.v0","when":"2026-10-05T09:40:00Z",
 "with":"supplier"}
]]></sourcecode>
      <t>The countersignature at entry 5 has the content {"stub": "&lt;digest of
the receipt at 5&gt;", "type": "provared.countersignature.v0", "when":
"2026-10-05T09:40:12Z"}.</t>
      <t>Given the thumbprint of the principal's passkey, the digest of the
recorder's key set, and the digest of the TSA's certificate (<xref target="keys"/>),
a verifier finds no problem and verifies every signature: the log is
intact. It reports that the agent did not stay within its permission,
at entries 4 and 5.</t>
    </section>
    <section anchor="common">
      <name>Common Rules</name>
      <t>Sections <xref format="counter" target="common"/> through <xref format="counter" target="verification"/> are the content model;
<xref target="json"/> is the JSON encoding. Maps are written here as in JSON:
{"unit", "value"} is a map with exactly those two members.</t>
      <section anchor="records">
        <name>Records and Signers</name>
        <t>A record is of one of eight kinds. Each is signed by one party, with
these methods, in this order; X is the identifier of the kind in the
labels of <xref target="FORMAT"/>:</t>
        <table>
          <name>Kinds of record and their signers</name>
          <thead>
            <tr>
              <th align="left">Kind of record</th>
              <th align="left">X</th>
              <th align="left">Signed with</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Permission</td>
              <td align="left">slip</td>
              <td align="left">the principal's passkey (<xref target="passkey"/>)</td>
            </tr>
            <tr>
              <td align="left">Action receipt</td>
              <td align="left">stub</td>
              <td align="left">Ed25519, ML-DSA-87</td>
            </tr>
            <tr>
              <td align="left">Countersignature</td>
              <td align="left">countersignature</td>
              <td align="left">Ed25519, ML-DSA-87</td>
            </tr>
            <tr>
              <td align="left">Approval</td>
              <td align="left">approval</td>
              <td align="left">the principal's passkey</td>
            </tr>
            <tr>
              <td align="left">Delegation</td>
              <td align="left">pass</td>
              <td align="left">Ed25519, ML-DSA-87</td>
            </tr>
            <tr>
              <td align="left">Cancellation</td>
              <td align="left">cancellation</td>
              <td align="left">the principal's passkey</td>
            </tr>
            <tr>
              <td align="left">Acknowledgement</td>
              <td align="left">acknowledgement</td>
              <td align="left">Ed25519, ML-DSA-87</td>
            </tr>
            <tr>
              <td align="left">Signed tree head</td>
              <td align="left">seal</td>
              <td align="left">Ed25519, ML-DSA-87, SLH-DSA-SHA2-256s</td>
            </tr>
          </tbody>
        </table>
        <t>The content of a record holds a member "type" whose value is
"provared.X.v0". Every signature of a record covers its kind as well as
its content, so that a signature made for one kind of record is not
accepted as a signature on another; the encoding says how
(<xref target="json-envelope"/>). The suffix "v0" marks this draft, so that a record
of a later, frozen version is distinguished from a draft one.</t>
      </section>
      <section anchor="content">
        <name>Content</name>
        <t>The content of a record is a map from member names, which are text, to
values. A value is a map of the same kind, a list of values, text, an
integer from 0 to 2^53 - 1, or one of the values of <xref target="values"/>. There
are no others: no true, false, or null, no fractions, and no negative
numbers. Text is a sequence of Unicode scalar values; its length is
counted in code points. The encoding writes the content in one form,
which a verifier tests.</t>
        <t>"type" <bcp14>MUST</bcp14> match the kind of record that the encoding labels
(payload-type-mismatch). A map <bcp14>MUST</bcp14> hold exactly the members listed for
it, each in its stated form (bad-field).</t>
      </section>
      <section anchor="values">
        <name>Values</name>
        <dl spacing="compact">
          <dt>Bytes:</dt>
          <dd>
            <t>A sequence of bytes, of the length stated for each member.
Identifiers, digests, and the parts of keys are bytes.</t>
          </dd>
          <dt>Identifier:</dt>
          <dd>
            <t>An "id" is 16 random bytes. No two records in a log hold the same
"id" (duplicate-id).</t>
          </dd>
          <dt>Time:</dt>
          <dd>
            <t>A date and time in Coordinated Universal Time (UTC), to the second,
with no fraction and no offset. It <bcp14>MUST</bcp14> denote a moment that exists:
29 February in a year that is not a leap year, an hour of 24, and a
second of 60 are refused (bad-field).</t>
          </dd>
          <dt>Digests:</dt>
          <dd>
            <t>A digest is 32 bytes. A record's digest is that of its content, in
the bytes that the encoding writes and that its signatures cover; it
covers no signature. Records name one another by it. A "sha256"
member holds a document's digest: records never hold documents.</t>
          </dd>
          <dt>Name:</dt>
          <dd>
            <t>Text of 1 to 200 code points, chosen by the writer. Except for the
reserved names of documents (<xref target="receipt"/>), a name is not checked
against anything.</t>
          </dd>
          <dt>Amount:</dt>
          <dd>
            <t>Exactly {"unit", "value"}, where "value" is an integer and the unit
is 1 to 16 ASCII letters, digits, ".", "-", or "_", beginning with a
letter or digit.</t>
          </dd>
        </dl>
      </section>
      <section anchor="keys">
        <name>Keys</name>
        <t>A key is a public key of one of these methods, and of no other
(bad-key):</t>
        <dl spacing="compact" indent="19">
          <dt>Ed25519:</dt>
          <dd>
            <t>32 bytes (<xref target="RFC8032"/>).</t>
          </dd>
          <dt>ML-DSA-87:</dt>
          <dd>
            <t>2,592 bytes (<xref target="FIPS204"/>).</t>
          </dd>
          <dt>SLH-DSA-SHA2-256s:</dt>
          <dd>
            <t>64 bytes (<xref target="FIPS205"/>).</t>
          </dd>
          <dt>ES256:</dt>
          <dd>
            <t>A P-256 public key, two coordinates of 32 bytes
(<xref section="3.4" sectionFormat="of" target="RFC7518"/>).</t>
          </dd>
          <dt>RS256:</dt>
          <dd>
            <t>An RSA modulus of 2,048 to 8,192 bits, with the public exponent
65,537 (<xref section="3.3" sectionFormat="of" target="RFC7518"/>).</t>
          </dd>
        </dl>
        <t>The key set of an agent or a service is exactly one Ed25519 key
followed by one ML-DSA-87 key. A recorder's key set adds one
SLH-DSA-SHA2-256s key. A principal's passkey is one ES256, RS256, or
Ed25519 key.</t>
        <t>An Ed25519 key, wherever it appears, <bcp14>MUST NOT</bcp14> encode a y-coordinate
greater than or equal to p = 2^255 - 19, and <bcp14>MUST NOT</bcp14> encode the
y-coordinate of any of the eight points of small order, whatever the
sign bit (bad-key). With a key of small order, anyone can produce a
signature that verifies; a y-coordinate of p or more gives one point two
encodings. <xref target="RFC8032"/> requires the first check
(<xref section="5.1.3" sectionFormat="of" target="RFC8032"/>) but not the second, and libraries differ
on both, so a verifier performs both itself.</t>
        <t>A verifier is told which principals it trusts by the thumbprints of
their passkeys, and which recorders it trusts by the digests of their
key sets. The encoding defines both (<xref target="json-keys"/>).</t>
      </section>
      <section anchor="hybrid">
        <name>Hybrid Signatures</name>
        <t>A receipt, a countersignature, a delegation, and an acknowledgement
carry two signatures over the same content, in this order: first Ed25519
(<xref section="5.1" sectionFormat="of" target="RFC8032"/>), verified as <xref target="ed25519"/> requires; then
ML-DSA-87, the pure (not pre-hashed) ML-DSA.Verify of <xref target="FIPS204"/> with
an empty context, as <xref section="5" sectionFormat="of" target="RFC9964"/> requires. A signed tree
head carries a third: SLH-DSA-SHA2-256s, the pure slh_verify of
<xref target="FIPS205"/> with an empty context. An empty context is the zero-length
string, not a single zero byte. Each signature is over its own signing
input, which the encoding defines and which covers the kind of record
(<xref target="json-envelope"/>). Each is verified with the key at the same position
in the applicable key set: the agent's or a service's keys in the
permission, a helper's keys in its delegation, or the recorder's keys in
the head. Every signature <bcp14>MUST</bcp14> verify; a signature that fails is a
problem (signature-invalid).</t>
        <t>A signature is exactly 64 bytes (Ed25519), 4,627 bytes (ML-DSA-87), or
29,792 bytes (SLH-DSA-SHA2-256s). An Ed25519, ML-DSA-87, or
SLH-DSA-SHA2-256s signature of any other length is a problem
(signature-invalid) on every verifier, whether or not the verifier
implements the method. This rule covers every signature of a record, a
passkey's Ed25519 signature included; it does not reach a TSA's
signature inside a time-stamp (<xref target="timestamps"/>).</t>
        <t>A signature of the right length whose algorithm the verifier lacks is
not verified (<xref target="answers"/>). An entry none of whose signatures was
verified is not evidence: what it says <bcp14>MUST NOT</bcp14> be shown as fact.</t>
      </section>
      <section anchor="ed25519">
        <name>Ed25519 Verification</name>
        <t><xref target="RFC8032"/> leaves some verification choices to implementations, and
implementations that choose differently accept different sets of
signatures. With public key A, signature halves R and S, message M, base
point B, group order L, and n*P for the point P multiplied by the
integer n, a verifier <bcp14>MUST</bcp14>:</t>
        <ol spacing="compact" type="1"><li>
            <t>refuse S unless, read as a little-endian integer, it is less than L;</t>
          </li>
          <li>
            <t>refuse A or R unless it decodes to a point on the curve, which
includes refusing an encoded y of p or more
(<xref section="5.1.3" sectionFormat="of" target="RFC8032"/>);</t>
          </li>
          <li>
            <t>refuse A or R of small order, that is, one of the eight points whose
order divides 8, including the identity element; and</t>
          </li>
          <li>
            <t>accept only if S*B = R + k*A, where k is the SHA-512 hash of the
32-byte encoding of R, then the 32-byte encoding of A, then M, read
as a little-endian integer and reduced modulo L before the
multiplication. Comparing the encoding of S*B - k*A with the 32
bytes of R is the same test, since rule 2 makes R's encoding unique.
A signature that satisfies only the equation multiplied by the
cofactor 8, 8*S*B = 8*R + 8*k*A, is refused.</t>
          </li>
        </ol>
        <t>Rules 1 and 2 restate <xref section="5.1.7" sectionFormat="of" target="RFC8032"/>; rules 3 and 4
choose where it leaves choices. These rules apply to every Ed25519
signature, a passkey's included; a key whose point is the sum of a point
of large order and a point of small order (a mixed-order key) is not
refused by these rules.</t>
      </section>
      <section anchor="passkey">
        <name>Passkey Signatures</name>
        <t>A permission, an approval, and a cancellation carry one signature by the
principal's passkey. To sign, the signer requests an assertion from the
passkey with user verification "required". The challenge is the SHA-256
hash of the record's signing input, which the encoding defines and which
covers the record's kind and content. The record carries the
authenticator data, the client data, and the signature exactly as the
passkey returned them (<xref target="json-envelope"/>).</t>
        <t>A verifier checks the signature against the "key", "rpId", and "origin"
of the "issuer" of the permission concerned. It follows
<xref section="7.2" sectionFormat="of" target="WebAuthn" relative="#sctn-verifying-assertion"/> as
far as it applies to a later check with no state, and <bcp14>MUST</bcp14> confirm
that:</t>
        <ol spacing="compact" type="1"><li>
            <t>the client data is UTF-8 with no byte order mark and is a JSON
object, read by a JSON parser: white space and member order are not
constrained, and a repeated member is read as its last occurrence
(passkey-bad-data);</t>
          </li>
          <li>
            <t>its "type" is "webauthn.get" (passkey-wrong-type);</t>
          </li>
          <li>
            <t>its "challenge" is the base64url of the SHA-256 hash of the record's
signing input (passkey-challenge-mismatch);</t>
          </li>
          <li>
            <t>its "origin" is the same string as the issuer's, and "crossOrigin" is
not the JSON value true (passkey-origin-mismatch); other members are
not used;</t>
          </li>
          <li>
            <t>the authenticator data is at least 37 bytes (passkey-bad-data) and
begins with the SHA-256 hash of "rpId" (passkey-rpid-mismatch);</t>
          </li>
          <li>
            <t>its flags have "user present" (bit 0) and "user verified" (bit 2)
set (passkey-user-not-present, passkey-user-not-verified) and
"attested credential data" (bit 6) clear. Without "extension data"
(bit 7), the authenticator data is exactly 37 bytes
(passkey-bad-data). Other flags and any further bytes are not
examined; in particular, the <xref target="WebAuthn"/> rule that "backup state"
(bit 4) is clear whenever "backup eligible" (bit 3) is clear is not
checked; and</t>
          </li>
          <li>
            <t>the signature verifies over the authenticator data followed by the
SHA-256 hash of the client data (signature-invalid). An ES256
signature is an Elliptic Curve Digital Signature Algorithm (ECDSA)
signature (<xref section="3.4" sectionFormat="of" target="RFC7518"/>) stored as an ECDSA-Sig-Value
in strict Distinguished Encoding Rules (DER) <xref target="X690"/>: one SEQUENCE
with a one-byte length, holding two positive INTEGERs of 1 to 33
bytes in their shortest form, with nothing after them
(passkey-bad-data). Either value of s that verifies is accepted. An
RS256 signature is as <xref section="3.3" sectionFormat="of" target="RFC7518"/>.</t>
          </li>
        </ol>
        <t>The signature counter, the credential identifier, and the user handle
are not used. For an approval or a cancellation, a failure is reported
as approval-invalid or cancellation-invalid. If the verifier was given
thumbprints of trusted passkeys, the issuer's key <bcp14>MUST</bcp14> be one
(issuer-not-expected); if it was given none, it <bcp14>MUST</bcp14> say that the key
was not compared with a trusted key. The "rpId" and "origin" of the
issuer are part of what a verifier trusts, not only the thumbprint
(<xref target="security"/>).</t>
      </section>
      <section anchor="relied">
        <name>Records Relied On</name>
        <t>An entry that relies on another record names it by its digest. The
named record <bcp14>MUST</bcp14> be earlier in the log and sound; otherwise the entry
has a problem:</t>
        <ul spacing="compact">
          <li>
            <t>slip-missing or slip-unusable, for a permission that is missing or
not sound;</t>
          </li>
          <li>
            <t>pass-missing, for a delegation that is missing or not sound, or
pass-mismatch for a delegation under another permission; and</t>
          </li>
          <li>
            <t>cancellation-not-found, for a cancellation.</t>
          </li>
        </ul>
        <t>A permission or a delegation is judged as it stood when it was itself
read. A problem that a later entry adds to it (dated-after-stamp,
<xref target="timestamps"/>) changes nothing for the entries that rely on it, though
it remains a problem of the log. A cancellation named by an
acknowledgement is judged again once the whole log has been read; if it
has a problem then, the acknowledgement is reported
cancellation-not-found.</t>
      </section>
    </section>
    <section anchor="permission">
      <name>The Permission</name>
      <t>A permission's content holds exactly these members, all of them required
except "passes":</t>
      <dl spacing="compact">
        <dt>"type":</dt>
        <dd>
          <t>"provared.slip.v0"</t>
        </dd>
        <dt>"id":</dt>
        <dd>
          <t>An identifier.</t>
        </dd>
        <dt>"issuer":</dt>
        <dd>
          <t>The principal: exactly "key", "name", "origin", and "rpId", as
specified below.</t>
        </dd>
        <dt>"agent":</dt>
        <dd>
          <t>Exactly "keys" (a key set) and "name", and optionally "software": 1
to 16 maps {"name", "sha256"}, digests of the program and settings
the principal approved. It is a statement, not proof of what ran.</t>
        </dd>
        <dt>"actions":</dt>
        <dd>
          <t>1 to 64 action names, none repeated.</t>
        </dd>
        <dt>"limits":</dt>
        <dd>
          <t>0 to 64 limits (<xref target="limits"/>).</t>
        </dd>
        <dt>"requires":</dt>
        <dd>
          <t>0 to 64 conditions (<xref target="limits"/>).</t>
        </dd>
        <dt>"never":</dt>
        <dd>
          <t>0 to 16 names, none repeated (<xref target="limits"/>).</t>
        </dd>
        <dt>"with":</dt>
        <dd>
          <t>0 to 64 services, {"id", "name"} or {"id", "keys", "name"}; "id" has
the form of an action name, may begin "provared.", and is unique. A
service with no "keys" cannot countersign.</t>
        </dd>
        <dt>"passes":</dt>
        <dd>
          <t>An integer from 1 to 10 (<xref target="delegation"/>).</t>
        </dd>
        <dt>"validFrom", "validUntil":</dt>
        <dd>
          <t>Times; "validUntil" is later than "validFrom". The permission covers
"validFrom" up to, but not including, "validUntil".</t>
        </dd>
        <dt>"purpose":</dt>
        <dd>
          <t>Text of 1 to 1,000 code points.</t>
        </dd>
      </dl>
      <t>"rpId" is the WebAuthn Relying Party Identifier (RP ID): 1 to 253
lower-case ASCII letters, digits, ".", and "-", beginning and ending
with a letter or a digit.</t>
      <t>The member "origin" is at most 300 characters and <bcp14>MUST</bcp14> have the
following form (bad-field). It is the form in which a browser serializes
the origin of a site named by a domain name
(<xref section="6.2" sectionFormat="of" target="RFC6454"/>), and a verifier can check it without a
parser of web addresses and without Unicode tables:</t>
      <ul spacing="compact">
        <li>
          <t>the scheme, which <bcp14>MUST</bcp14> be "https", or "http" only with the host
"localhost";</t>
        </li>
        <li>
          <t>"://";</t>
        </li>
        <li>
          <t>the host: 1 to 253 characters, made of labels separated by ".", each
label 1 to 63 lower-case ASCII letters, digits, and "-", neither
beginning nor ending with "-", and the last label not all digits; a
name in another script appears in its "xn--" form and is taken as it
is; and</t>
        </li>
        <li>
          <t>optionally ":" followed by a port, only where the port is not the
scheme's default (443 for "https", 80 for "http"), in digits with no
leading zero, from 1 to 65,535.</t>
        </li>
      </ul>
      <t>Nothing else may follow. The host <bcp14>MUST</bcp14> be "rpId" or end with "."
followed by "rpId".</t>
      <t>An action name is 1 to 64 lower-case ASCII letters, digits, ".", "-",
and "_", beginning with a letter or a digit. Names are compared
exactly. Names beginning "provared." are reserved for the shared list
of <xref target="shared-list"/>, and an action name that begins so <bcp14>MUST</bcp14> be on it
(bad-field). Any other member is a problem for a core verifier
(bad-field); this includes the members by which <xref target="FORMAT"/> covers fields
(<xref target="elsewhere"/>).</t>
      <section anchor="limits">
        <name>Limits, Conditions, and Prohibitions</name>
        <t>A limit names an "action" from "actions" (bad-field) and holds exactly
one of "max", "each", and "count":</t>
        <artwork><![CDATA[
{"action","max","unit"}        the sum of the amounts is at most "max"
{"action","each","unit"}       no single amount exceeds "each"
{"action","count"}             at most "count" receipts ("count" >= 1)
{"action","max","per","unit"}  as "max", within any period of "per"
                               seconds
{"action","count","per"}       as "count", within any period of "per"
                               seconds
]]></artwork>
        <t>"per" is from 1 to 31,622,400 seconds (366 days). Two limits <bcp14>MUST NOT</bcp14>
agree in all three of: "action"; which of "max", "each", or "count" they
hold; and "per", or its absence (bad-field). Every "unit" named for one
action, in limits and conditions, <bcp14>MUST</bcp14> be the same: a receipt gives one
amount.</t>
        <t>A condition is {"need": "countersignature"} or {"need": "approval"}.
It may hold "action", which <bcp14>MUST</bcp14> be one of "actions" (bad-field);
without it, the condition applies to every action. The members "above"
and "unit" are either both present or both absent, and are present only
together with "action"; they restrict the condition to amounts greater
than "above" in that unit. Two conditions <bcp14>MUST NOT</bcp14> have the same "need"
together with the same "action", or the same "need" and both without
"action" (bad-field). The need "countersignature" asks for the service's
countersignature (<xref target="receipt"/>); "approval" asks for the principal's
approval.</t>
        <t>"never" names kinds of action and rules of conduct from
<xref target="shared-list"/>. A permission <bcp14>MUST NOT</bcp14> allow, in "actions", a shared
action of a kind that its "never" names (bad-field). A rule of conduct
is the principal's signed instruction; no check of a record shows that
it was kept.</t>
      </section>
    </section>
    <section anchor="receipt">
      <name>Action Receipts</name>
      <t>A receipt's content holds exactly:</t>
      <dl spacing="compact">
        <dt>"type":</dt>
        <dd>
          <t>"provared.stub.v0"</t>
        </dd>
        <dt>"id":</dt>
        <dd>
          <t>An identifier.</t>
        </dd>
        <dt>"slip":</dt>
        <dd>
          <t>The digest of the permission.</t>
        </dd>
        <dt>"seq":</dt>
        <dd>
          <t>Its place in its chain, from 0.</t>
        </dd>
        <dt>"previous":</dt>
        <dd>
          <t>The digest of the receipt before it; present if and only if "seq" is
not 0.</t>
        </dd>
        <dt>"action":</dt>
        <dd>
          <t>An action name.</t>
        </dd>
        <dt>"amount":</dt>
        <dd>
          <t>Optional: an amount.</t>
        </dd>
        <dt>"with":</dt>
        <dd>
          <t>Optional: the "id" of a service.</t>
        </dd>
        <dt>"details":</dt>
        <dd>
          <t>Optional: 1 to 32 maps {"name", "sha256"}, the documents involved.</t>
        </dd>
        <dt>"approval":</dt>
        <dd>
          <t>Optional: the digest of an approval.</t>
        </dd>
        <dt>"pass":</dt>
        <dd>
          <t>Optional: the digest of the delegation a helper acts under.</t>
        </dd>
        <dt>"terms":</dt>
        <dd>
          <t>Optional, with "with": the digest of a service's terms <xref target="FORMAT"/>.</t>
        </dd>
        <dt>"when":</dt>
        <dd>
          <t>The time of the action, as the agent states it.</t>
        </dd>
      </dl>
      <t>Document names that begin "provared." are reserved. In a receipt's or
an approval's "details", a name that begins so <bcp14>MUST</bcp14> be one of the seven
names of <xref section="27" sectionFormat="of" target="FORMAT" relative="#27-reserved-document-names"/>:
"provared.arguments", "provared.http-request",
"provared.http-response", "provared.trace-id", "provared.request-id",
"provared.event-id", or "provared.error" (bad-field). Of these, only
"provared.trace-id", "provared.request-id", and "provared.event-id" may
be named more than once in one record (bad-field). <xref target="FORMAT"/> states
the exact text whose digest each reserved name carries; a core verifier
checks the names, not the digests.</t>
      <t>The permission and any delegation named are records relied on
(<xref target="relied"/>). Both signatures <bcp14>MUST</bcp14> verify with the agent's keys or, for
a helper, with the "to" keys of its delegation (signature-invalid). A
core verifier accepts no terms entry, so it reports a receipt that holds
"terms" as terms-not-found.</t>
      <t>The receipts of the permission's own agent form one chain, and those
under each delegation another. In each chain, in log order, the first
has "seq" 0. Each later one has the next "seq" and names the one before
in "previous" (chain-broken), and is not dated before it
(time-went-backwards). A receipt with a problem keeps its place in its
chain, provided its content could be read and the records it relies on
were found: the next receipt is checked against it. So one break is
reported once.</t>
      <t>A countersignature has exactly the content {"stub": the receipt's
digest, "type": "provared.countersignature.v0", "when": a time}, and
states that the action took place with the service. It is carried in
the receipt's log entry and signed with the key set the permission
gives for the service the receipt names in "with". A verifier <bcp14>MUST</bcp14>
confirm "stub" (countersignature-wrong-stub), that such keys exist
(countersignature-not-possible), and both signatures
(countersignature-invalid). A receipt without a countersignature is
one-sided. This is a reported state, not a problem: such a receipt shows
only what the agent stated.</t>
      <t>An approval is the principal's approval of exactly one action. Its
content holds exactly "type" ("provared.approval.v0"), "id", "slip",
"action", and "when", and optionally "amount", "with", and "details". It
is signed with the permission's passkey and carried in the receipt's
entry, and the receipt names it by its digest. The receipt <bcp14>MUST</bcp14> name
the approval in its entry (approval-mismatch), and an approval it names
<bcp14>MUST</bcp14> be there (approval-not-found). The approval's "slip", "action",
"amount", "with", and "details" <bcp14>MUST</bcp14> match the receipt's, each present
in both or neither (approval-mismatch). Its "id" <bcp14>MUST NOT</bcp14> be that of an
approval in an earlier entry (approval-reused) or of another record
(duplicate-id). Its passkey signature <bcp14>MUST</bcp14> verify against the
permission's "issuer" (approval-invalid). It <bcp14>MUST NOT</bcp14> be dated more than
300 seconds after the receipt, which was signed after it
(approval-dated-after-stub). An approval shows that the passkey
approved the action, not that the principal read it.</t>
    </section>
    <section anchor="delegation">
      <name>Delegation</name>
      <t>"passes" says how many times in a row a permission may be delegated: 1
lets its agent delegate to a helper, 2 lets that helper delegate once
more, up to 10. Without it, a permission may not be delegated. A
delegation's content holds exactly:</t>
      <dl spacing="compact">
        <dt>"type":</dt>
        <dd>
          <t>"provared.pass.v0"</t>
        </dd>
        <dt>"id":</dt>
        <dd>
          <t>An identifier.</t>
        </dd>
        <dt>"slip":</dt>
        <dd>
          <t>The permission's digest.</t>
        </dd>
        <dt>"from":</dt>
        <dd>
          <t>The digest of the delegation its writer acts under; absent when the
writer is the permission's own agent.</t>
        </dd>
        <dt>"to":</dt>
        <dd>
          <t>The helper: exactly {"keys": key set, "name": name}.</t>
        </dd>
        <dt>"actions":</dt>
        <dd>
          <t>As in a permission.</t>
        </dd>
        <dt>"limits":</dt>
        <dd>
          <t>As in a permission, naming only these "actions".</t>
        </dd>
        <dt>"validFrom", "validUntil":</dt>
        <dd>
          <t>Its validity, as in a permission.</t>
        </dd>
        <dt>"when":</dt>
        <dd>
          <t>When it was written.</t>
        </dd>
      </dl>
      <t>It is signed by its writer: with the agent's keys or, with "from", the
"to" keys of that delegation (signature-invalid). The permission and
the delegation in "from" are records relied on (<xref target="relied"/>). Its depth
is 1 without "from", otherwise one more than that of "from"; a depth
above 10 is a problem (pass-too-deep).</t>
      <t>A verifier reports these findings for a delegation:</t>
      <ul spacing="compact">
        <li>
          <t>pass-not-allowed, if its depth exceeds "passes" (taken as 0 when
"passes" is absent);</t>
        </li>
        <li>
          <t>pass-wider, if any of its "actions" is not among its writer's, or its
validity begins earlier or ends later than its writer's;</t>
        </li>
        <li>
          <t>outside-valid-time, if "when" is outside its writer's validity; and</t>
        </li>
        <li>
          <t>after-cancellation, as <xref target="cancellation"/> sets out.</t>
        </li>
      </ul>
      <t>"Its writer's" means the permission's, or, with "from", the
delegation's named there.</t>
      <t>A receipt under a delegation is compared with the permission exactly as
the agent's own receipts are, and shares their totals, conditions, and
"never". It is also compared with its own delegation and with every
delegation above it, each treated as a permission for its "actions",
"limits", and validity; the totals of a delegation include everything
done under delegations from it. A finding code already reported for a
receipt is not repeated. Every receipt under a delegation reported
pass-not-allowed, or under a delegation below it, is reported
pass-not-allowed. Because the limits of the permission and of every
delegation above always apply, a delegation never widens what the
verifier accepts as within the permission.</t>
    </section>
    <section anchor="cancellation">
      <name>Cancellation and Acknowledgement</name>
      <t>A cancellation has exactly the content {"id", "slip", "type":
"provared.cancellation.v0", "when"}, and is signed with the permission's
passkey and verified against its "issuer" (cancellation-invalid); the
permission is a record relied on (<xref target="relied"/>). Its entry may hold
"stamps" over its digest (<xref target="timestamps"/>), which the principal can
obtain at once.</t>
      <t>The effective cancellation of a permission is the first cancellation of
it in the log that is sound when read and whose passkey signature, and
that of its permission, were verified. Every receipt and delegation
under the permission that follows the effective cancellation in the log
is reported after-cancellation.</t>
      <t><xref section="22" sectionFormat="of" target="FORMAT" relative="#22-cancelling-a-slip"/> adds a
stricter rule for a time-stamped cancellation. A receipt before it in
the log is also reported, unless a time-stamp on an earlier head shows
that the receipt existed by the cancellation's time, within 300
seconds. This document does not specify that rule (<xref target="open-issues"/>).
Without that rule, a core verifier can miss receipts made after a
cancellation.</t>
      <t>A cancellation does not show that the agent was told; an
acknowledgement is the agent's signed statement that it was. Its
content holds exactly "cancellation" (a digest), "id", "slip", "type"
("provared.acknowledgement.v0"), and "when", and optionally "pass". It
is signed with the agent's keys or a helper's (signature-invalid). The
permission, any delegation named, and the cancellation, which <bcp14>MUST</bcp14>
cancel the same permission (cancellation-not-found), are records relied
on (<xref target="relied"/>). An acknowledgement changes no finding, and its "when"
is not compared with the cancellation's; its signer <bcp14>SHOULD NOT</bcp14> date it
before the last receipt or delegation its agent wrote.
<xref section="26" sectionFormat="of" target="FORMAT" relative="#26-acknowledging-a-cancellation"/>
sets out how a verifier uses it with the principal's own copy.</t>
    </section>
    <section anchor="log">
      <name>Logs, Signed Tree Heads, and Time-Stamps</name>
      <section anchor="log-format">
        <name>The Log</name>
        <t>A log is a sequence of entries, numbered from 0. Each entry holds one
record, with what is carried beside it: a permission; an action
receipt, optionally with a countersignature and an approval; a
delegation; a cancellation, optionally with time-stamps; an
acknowledgement; or a signed tree head, optionally with time-stamps.
Any other entry is a problem (unknown-entry). A core verifier reports
the four further kinds of <xref target="FORMAT"/> ("refusal", "terms", "vouching",
"withdrawal") in the same way, and so never calls such a log intact. The
same permission <bcp14>MUST NOT</bcp14> appear twice (duplicate-slip), nor the same
delegation (duplicate-id). A log <bcp14>MUST NOT</bcp14> exceed 100,000 entries
(too-large). <xref target="json-log"/> gives the form of a log in the JSON encoding.</t>
        <t>The leaves of the tree are the entries as the encoding writes them, in
log order; the root is the Merkle Tree Hash of
<xref section="2.1.1" sectionFormat="of" target="RFC9162"/> with SHA-256. Inclusion and consistency
proofs are checked against a size as well as a root, so the two are
kept together. A verifier given a root or a size to expect <bcp14>MUST</bcp14> compare
it (root-mismatch).</t>
      </section>
      <section anchor="seal">
        <name>Signed Tree Heads</name>
        <t>A signed tree head's content holds exactly "type" ("provared.seal.v0"),
"id", "by" (exactly {"keys": the recorder's key set, "name"}), "size"
(at least 1), "root", "previous" (the previous head's digest, absent for
the first), and "when". A head is signed with the three keys in "by" and
appended as the next entry, so each head covers those before it. A
verifier holding the whole log <bcp14>MUST</bcp14> confirm that:</t>
        <ol spacing="compact" type="1"><li>
            <t>the three signatures verify (signature-invalid);</t>
          </li>
          <li>
            <t>"size" is its own place in the log, and "root" the root of the
entries before it (seal-mismatch);</t>
          </li>
          <li>
            <t>"previous" names the nearest earlier head, or is absent if there is
none (seal-chain-broken);</t>
          </li>
          <li>
            <t>"when" is not before that head's (time-went-backwards); and</t>
          </li>
          <li>
            <t>if given digests of trusted recorders' key sets, that of "by.keys" is
one (sealer-not-expected); if given none, it <bcp14>MUST</bcp14> say that the keys
were not compared with trusted keys.</t>
          </li>
        </ol>
        <t><xref section="21" sectionFormat="of" target="FORMAT" relative="#21-the-seal-and-the-outside-time-stamp"/> adds rules that
compare a head's "when" with the times its entries state and with
earlier heads' time-stamps (time-went-backwards). This document does
not specify them (<xref target="open-issues"/>).</t>
      </section>
      <section anchor="timestamps">
        <name>Time-Stamps</name>
        <t>"stamps" holds 1 to 4 time-stamps, none repeated. A time-stamp is either
an <xref target="RFC3161"/> TimeStampToken or a block time-stamp of <xref target="FORMAT"/>. A
TimeStampToken is at most 12,288 bytes; its "messageImprint" has the
hashAlgorithm SHA-256 and a hashedMessage equal to the 32 bytes of the
record's digest, not hashed again. A block time-stamp holds exactly
"block" and "proof", both bytes (<xref target="json-log"/>); a core verifier does not
count it, and so answers no to the second question of <xref target="answers"/>.
Time-stamps are read only if none of the record's own signatures failed.
A verifier <bcp14>MUST</bcp14> confirm that:</t>
        <ol spacing="compact" type="1"><li>
            <t>the token is one element with nothing after it, laid out as
<xref target="RFC3161"/> and <xref target="RFC5652"/> require: signed data of version 3 with
exactly one signer, of version 1 or 3, enclosing a TSTInfo of
version 1 (stamp-bad-data);</t>
          </li>
          <li>
            <t>it meets these rules of DER <xref target="X690"/> (stamp-bad-data):
            </t>
            <ul spacing="normal">
              <li>
                <t>definite lengths in their shortest form, with a length field of at
most four bytes, and single-byte tags;</t>
              </li>
              <li>
                <t>every constructed element exactly filled by its parts;</t>
              </li>
              <li>
                <t>every INTEGER and OBJECT IDENTIFIER in its shortest form; every
BOOLEAN 0x00 or 0xFF; every NULL empty; every BIT STRING with at
most 7 unused bits;</t>
              </li>
              <li>
                <t>genTime and each certificate's validity times in the one form DER
gives them, denoting a moment that exists;</t>
              </li>
              <li>
                <t>the public key of the signing certificate written exactly as its
own specification sets out, with no unused bits: RSA as
<xref section="2.3.1" sectionFormat="of" target="RFC3279"/>, with the parameters present and NULL
and two positive INTEGERs with nothing after them; ECDSA as
<xref section="2.2" sectionFormat="of" target="RFC5480"/>, as an uncompressed point; Ed25519 as
<xref section="4" sectionFormat="of" target="RFC8410"/>, with no parameters and 32 bytes; and</t>
              </li>
              <li>
                <t>at most 4,000 elements, none more than 24 levels deep, in each of
the signed data, the enclosed TSTInfo (read from its OCTET STRING),
and an RSA public key; at most 8 digest algorithms, 8 certificates,
16 signed attributes, 4 values in one attribute, 8 identifiers in a
signing-certificate attribute, and 16 TSTInfo extensions.</t>
              </li>
            </ul>
            <t>
The order of SET OF elements and the omission of DEFAULT values are
not checked;</t>
          </li>
          <li>
            <t>the "messageImprint" is as above (stamp-wrong-data);</t>
          </li>
          <li>
            <t>the signed attributes hold a content type of id-ct-TSTInfo, and the
TSTInfo's message digest made with the signer's digest algorithm
(SHA-256, SHA-384, or SHA-512). They also hold ESSCertIDv2
(<xref target="RFC5035"/>, <xref target="RFC5816"/>), with SHA-256 (the default), SHA-384, or
SHA-512, or ESSCertID (<xref target="RFC2634"/>), with SHA-1, ESSCertIDv2 being
used if both are present; the first identifier in the attribute names
the certificate, which the token carries; the issuerSerial is not
compared. Each of these attributes appears at most once and holds
exactly one value, as <xref target="RFC5652"/> and <xref target="RFC5035"/> require
(stamp-invalid);</t>
          </li>
          <li>
            <t>the signature over the signed attributes verifies with that
certificate's key (stamp-invalid). The signature algorithm names the
signer's digest algorithm (for RSA, rsaEncryption is also accepted).
The accepted methods are RSASSA-PKCS1-v1_5 with a modulus of 2,048 to
8,192 bits and an odd public exponent from 3 to 2^32 - 1 (with an
exponent of 1, anyone can produce a signature that verifies); ECDSA
on P-256 or P-384; and Ed25519 <xref target="RFC8419"/>. An Ed25519 key that
<xref target="keys"/> refuses, or a key of any other kind or on any other curve,
is refused (stamp-invalid); and</t>
          </li>
          <li>
            <t>"genTime" lies within the certificate's validity, the seconds field
of any "accuracy" is at most 300, and no TSTInfo extension is
critical (stamp-invalid). The certificate's extensions are not
examined, since the certificate is trusted by its digest.</t>
          </li>
        </ol>
        <t>A verifier is told which TSAs it trusts by the digest of each TSA's
certificate in DER; it builds no chain, checks no revocation, and asks
no outside party. A time-stamp counts only if its TSA is trusted and
every signature of its record was verified (for a cancellation, also
its permission's). A sound time-stamp from a TSA not trusted <bcp14>MUST</bcp14> be
shown as such, with its certificate's digest; a time-stamp that does not
count <bcp14>MUST NOT</bcp14> be used as a time. Times are taken to the second, rounded
down.</t>
        <t>A counted time-stamp at time T shows that the record existed by T. On a
sound signed tree head, it also shows that every entry before the head
existed by T. An entry existed by the earliest such T of any later sound
head. A verifier <bcp14>MUST</bcp14> report "existed by", never "existed at", and <bcp14>MUST</bcp14>
say which entries the last counted time-stamp reaches. It <bcp14>MUST</bcp14> report
dated-after-stamp for a head or a cancellation whose "when" is more than
300 seconds after the earliest time its counted time-stamps state, and
for an entry whose "when", or the "when" of a countersignature or
approval carried in it, is more than 300 seconds after the time by which
the entry existed.</t>
      </section>
    </section>
    <section anchor="verification">
      <name>Verification</name>
      <section anchor="answers">
        <name>The Three Answers</name>
        <t>A verifier is given the log and, optionally, the size and root it
expects, the thumbprints of the passkeys it trusts, and the digests of
the key sets of the recorders and of the certificates of the TSAs it
trusts. It makes no network request. It gives three answers, kept
apart:</t>
        <ol spacing="compact" type="1"><li>
            <t>Was a problem found? Yes if any entry, or the log, has one.</t>
          </li>
          <li>
            <t>Was everything verified? Yes only if every entry was read as far as
its signatures, and no signature or time-stamp in the log was left
unverified because the verifier does not implement its method.</t>
          </li>
          <li>
            <t>Did each action stay within its permission? Yes only if no problem
was found, every receipt and delegation was compared, and none gave
a finding.</t>
          </li>
        </ol>
        <t>A verifier <bcp14>MUST</bcp14> call a log intact only if no problem was found and
everything was verified. A receipt or delegation is compared only if it
is sound, at least one of its signatures was verified and none failed,
and its permission's passkey signature was verified. So the third
answer can be yes while the second is no: for example, a verifier
without ML-DSA-87 compares receipts on their Ed25519 signatures alone.
When the second answer is no, a verifier <bcp14>MUST</bcp14> say that the third rests
only on the signatures it verified, and <bcp14>MUST</bcp14> name the signing methods
it lacked.</t>
        <t>A verifier checks each record's encoding (in the JSON encoding, its
envelope, labels, and content, <xref target="json"/>), then its members, and then
finds the records it relies on, in that order. At the first problem in
those steps, it reports that problem's code and checks nothing further
in that entry. Once an entry's members have been read, and before the
records it relies on are looked up, its "id" is compared with the
identifiers seen so far and then recorded; an approval's "id" is
compared and recorded once the approval has been matched to its receipt.
Every other problem of an entry (a signature, its place in its chain, a
countersignature, an approval, a repeated "id") is reported. Anything
the verifier did not expect is a problem (check-failed), never a pass.
Each problem and finding is reported with its entry's number. Two
verifiers agree if they give the same three answers, find problems at
the same entries, and report the same findings for each entry.</t>
      </section>
      <section anchor="findings">
        <name>Findings</name>
        <t>A verifier reports these findings at the receipt concerned:</t>
        <dl spacing="compact" indent="20">
          <dt>action-not-allowed:</dt>
          <dd>
            <t>"action" is not in "actions".</t>
          </dd>
          <dt>prohibited:</dt>
          <dd>
            <t>"action" is a shared action of a kind that "never" names.</t>
          </dd>
          <dt>party-not-allowed:</dt>
          <dd>
            <t>"with" names no service of the permission.</t>
          </dd>
          <dt>outside-valid-time:</dt>
          <dd>
            <t>"when" is outside the permission's validity.</t>
          </dd>
          <dt>amount-missing:</dt>
          <dd>
            <t>A limit with a "unit", or a condition with "above", applies to the
action, and the receipt has no amount in that unit (once a receipt).</t>
          </dd>
          <dt>over-limit, over-each-limit, over-count-limit:</dt>
          <dd>
            <t>The running total exceeds "max"; the amount exceeds "each"; with
this receipt, the number exceeds "count".</t>
          </dd>
          <dt>over-period-limit:</dt>
          <dd>
            <t>Within the period ending at this receipt, the total exceeds "max" or
the number "count".</t>
          </dd>
          <dt>countersignature-missing, approval-missing:</dt>
          <dd>
            <t>A condition applies, and the entry holds no countersignature, or no
approval.</t>
          </dd>
          <dt>after-cancellation, pass-not-allowed:</dt>
          <dd>
            <t>As <xref target="cancellation"/> and <xref target="delegation"/> set out.</t>
          </dd>
        </dl>
        <t>A condition with "above" applies only if the amount is in its unit and
greater than "above"; an amount missing or in another unit is
amount-missing. Only compared receipts count toward totals.</t>
        <t>Totals and counts without "per" accumulate in log order over every
compared receipt for the action under the permission, across all
chains including the current one. Once a total is exceeded, every later
receipt for that action is reported too. A limit with "per" P is
evaluated for each compared receipt X, dated t, over the period that
ends at X. That period holds: every receipt for the action, in any
chain and anywhere in the log, dated later than t - P and earlier than
t; those dated exactly t that precede X in the log; and X itself.
Because a later entry may state an earlier time, period limits are
settled only once every receipt has been read. Periods are counted in
seconds; there are no calendar days and no time zones.</t>
      </section>
    </section>
    <section anchor="json">
      <name>The JSON Encoding</name>
      <t>This section specifies the JSON encoding: how records, keys, and logs
are written as JSON <xref target="RFC8259"/>, and how signatures are carried, with
JWS <xref target="RFC7515"/>.</t>
      <section anchor="json-envelope">
        <name>Envelope and Labels</name>
        <t>Every record is a JWS in the General JWS JSON Serialization
(<xref section="7.2.1" sectionFormat="of" target="RFC7515"/>). It <bcp14>MUST</bcp14> hold exactly the members
"payload" and "signatures". Each element of "signatures" <bcp14>MUST</bcp14> hold
exactly "protected" and "signature" and, for a passkey signature, also
"header", which holds exactly "authenticatorData" and "clientDataJSON"
(bad-envelope). A passkey's authenticator data and client data are
stored there, and its signature in "signature", each exactly as
returned. The signing input of every signature is the JWS Signing Input
(<xref section="5.1" sectionFormat="of" target="RFC7515"/>) formed from "protected" and "payload" as
carried.</t>
        <t>Every value written in base64url, in a record's envelope or content or
in a log entry, is that of <xref section="5" sectionFormat="of" target="RFC4648"/>, without padding,
and is read strictly: a verifier <bcp14>MUST</bcp14> refuse padding, a character
outside the alphabet, a length that leaves 1 when divided by 4, and
unused bits that are not zero (bad-base64url; in a key, bad-key; in
"authenticatorData" and "clientDataJSON", passkey-bad-data). The decoded
"signature" of an Ed25519, ML-DSA-87, or SLH-DSA-SHA2-256s signature
<bcp14>MUST</bcp14> have its method's length (<xref target="hybrid"/>; signature-invalid).</t>
        <t>The protected header of each signature, once decoded, <bcp14>MUST</bcp14> be exactly
the UTF-8 bytes of {"typ":"&lt;typ&gt;","alg":"&lt;alg&gt;"}, with no
white space and the two members in that order, where &lt;typ&gt; and
&lt;alg&gt; are as follows. This header is a fixed text, compared as
bytes; it is deliberately not in the canonical member order of
<xref target="json-content"/>. A verifier compares bytes and interprets nothing else.
A header that is not a known text is a problem (unknown-type). One that
belongs to another kind of record than the one expected is a problem
too (payload-type-mismatch). The number and order of the signatures are
those of <xref target="records"/> (bad-signatures-layout).</t>
        <t>&lt;typ&gt; is "vnd.provared.X.v0+json", with X as in <xref target="records"/>: the
subtype of the record's media type, written without its "application/"
prefix as <xref section="4.1.9" sectionFormat="of" target="RFC7515"/> allows. The placeholder
&lt;alg&gt; names the method of the signature: "Ed25519", "ML-DSA-87",
"SLH-DSA-SHA2-256s", or "prova.red/webauthn/v0" for a passkey. A passkey's signature is its
assertion signature over the authenticator data and the client data
(<xref target="passkey"/>); the JWS Signing Input enters it only through the
challenge. The "typ" value is used for explicit typing
(<xref section="3.11" sectionFormat="of" target="RFC8725"/>); since it is signed, every signature
covers the kind of record. The name "Ed25519" is registered by
<xref target="RFC9864"/> and "ML-DSA-87" by <xref target="RFC9964"/>. The name
"prova.red/webauthn/v0" is collision-resistant
(<xref section="4.1.1" sectionFormat="of" target="RFC7515"/>) and is not registered. The name
"SLH-DSA-SHA2-256s", which <xref target="FIPS205"/> gives the parameter set, is
neither registered nor collision-resistant, one of which
<xref section="4.1.1" sectionFormat="of" target="RFC7515"/> says an "alg" value should be; this
document fixes it as a private-use value, compared byte for byte. It
follows the naming of <xref target="I-D.ietf-cose-sphincs-plus"/>, which
registers the 128s parameter sets with the same key form (AKP), pure
mode, and the empty context, so that a registration of this name with
that meaning would be compatible.</t>
      </section>
      <section anchor="json-content">
        <name>Content and Values</name>
        <t>The content of a record is the decoded "payload", and its digest is the
SHA-256 hash of those bytes. It <bcp14>MUST</bcp14> be a JSON object in UTF-8, in the
canonical form of <xref target="RFC8785"/>: a verifier serializes it again and
refuses it if a single byte differs (payload-not-canonical). This
refuses repeated member names, white space, and members out of order.
The content <bcp14>MUST</bcp14> hold only objects, arrays, strings, and integers from 0
to 2^53 - 1. It holds no "true", "false", "null", fractions, exponents,
or negative numbers, and no unpaired surrogate, even escaped. Objects
and arrays <bcp14>MUST NOT</bcp14> nest more than 8 levels deep, the content itself
being the first (payload-not-canonical). The signed bytes are verified
as signed; the canonical form is a test, never a rewrite.</t>
        <t>A map is written as an object, a list as an array, text as a string, and
an integer as a number. The values of <xref target="values"/> are written so:</t>
        <dl spacing="compact">
          <dt>Bytes:</dt>
          <dd>
            <t>In base64url, read strictly as <xref target="json-envelope"/> sets out.</t>
          </dd>
          <dt>Time:</dt>
          <dd>
            <t>"YYYY-MM-DDTHH:MM:SSZ", an <xref target="RFC3339"/> date-time (bad-field).</t>
          </dd>
          <dt>Key:</dt>
          <dd>
            <t>A JSON Web Key (JWK) <xref target="RFC7517"/> of exactly one of the shapes below,
with no other member (bad-key).</t>
          </dd>
        </dl>
        <artwork><![CDATA[
{"alg":"Ed25519","crv":"Ed25519","kty":"OKP","x":X}     X: 32 bytes
{"alg":"ML-DSA-87","kty":"AKP","pub":P}               P: 2592 bytes
{"alg":"SLH-DSA-SHA2-256s","kty":"AKP","pub":P}         P: 64 bytes
{"alg":"ES256","crv":"P-256","kty":"EC","x":X,"y":Y}  X, Y: 32 bytes
{"alg":"RS256","e":"AQAB","kty":"RSA","n":N}     N: 2048-8192 bits
]]></artwork>
        <t>These follow <xref target="RFC8037"/> (the Octet Key Pair, "OKP", key type),
<xref section="3" sectionFormat="of" target="RFC9964"/> (the Algorithm Key Pair, "AKP", key type), and
<xref section="6" sectionFormat="of" target="RFC7518"/>; "n" has no leading zero byte. A key set is an
array of keys.</t>
        <t>A record <bcp14>MUST NOT</bcp14> exceed 65,536 characters, counted as the length of
"payload" plus the lengths of every string in its signature entries,
"header" included (too-large).</t>
      </section>
      <section anchor="json-keys">
        <name>Thumbprints and Key-Set Digests</name>
        <t>A passkey is named by its key thumbprint: <xref target="RFC7638"/> with SHA-256,
over the members required by <xref section="3.2" sectionFormat="of" target="RFC7638"/>,
<xref section="2" sectionFormat="of" target="RFC8037"/> for "OKP", and <xref section="6" sectionFormat="of" target="RFC9964"/> for
"AKP". A recorder is named by the digest of its key set: the SHA-256
hash of the key set written in the canonical form of <xref target="json-content"/>.</t>
      </section>
      <section anchor="json-log">
        <name>Logs</name>
        <t>A log is UTF-8 text, one entry to a line, each line ended by a line
feed except perhaps the last. A log with no entry, an empty line, or a
byte order mark is a problem (not-json); so is a line ending in a
carriage return (line-not-canonical). Each line is a JSON object in the
canonical form of <xref target="json-content"/>, with records as values
(line-not-canonical). It holds exactly the members of one kind of entry
(<xref target="log-format"/>): "slip" (a permission); "stub", optionally with
"countersignature" and "approval" (an action receipt); "pass" (a
delegation); "cancellation", optionally with "stamps";
"acknowledgement"; or "seal" (a signed tree head), optionally with
"stamps" (unknown-entry). A line <bcp14>MUST NOT</bcp14> exceed 131,072 bytes
(too-large). The leaves of the tree are the lines' bytes, without line
feeds.</t>
        <t>In "stamps", a TimeStampToken is a string, in base64url. A block
time-stamp is an object of exactly "block" and "proof", each a string
(bad-field) in base64url (<xref target="json-envelope"/>).</t>
      </section>
    </section>
    <section anchor="other-encodings">
      <name>Other Encodings</name>
      <t>Another encoding could carry the same content model: for example, one
using COSE_Sign (<xref section="4.1" sectionFormat="of" target="RFC9052"/>) over deterministically
encoded CBOR (<xref section="4.2" sectionFormat="of" target="RFC8949"/>). This document does not
define one. Such an encoding has to define:</t>
      <ol spacing="compact" type="1"><li>
          <t>the bytes of a record's content, in one form that a verifier tests,
so that a record's digest is fixed; it may write member names in
another fixed form, such as short integer labels;</t>
        </li>
        <li>
          <t>how the signatures are carried, in the number and order of
<xref target="records"/>, and the signing input of each, which covers the kind of
record (with COSE, perhaps by the "typ" header parameter <xref target="RFC9596"/>)
and its content;</t>
        </li>
        <li>
          <t>how each signature names its method, in fixed bytes that a verifier
compares: with COSE, the "alg" of each signer, which has values for
Ed25519 <xref target="RFC9864"/> and ML-DSA-87 <xref target="RFC9964"/>, but none yet for
SLH-DSA-SHA2-256s or the passkey signature;</t>
        </li>
        <li>
          <t>the passkey's challenge, the SHA-256 hash of that signing input, and
where the authenticator data and client data are stored;</t>
        </li>
        <li>
          <t>how bytes, times, and keys are written (with COSE, keys as COSE_Key),
and the thumbprints (<xref target="RFC9679"/>) and key-set digests by which a
verifier is told whom it trusts;</t>
        </li>
        <li>
          <t>the form of a log and of its entries, which are the leaves of the
tree; and</t>
        </li>
        <li>
          <t>its size limits, and the codes for problems of its own form.</t>
        </li>
      </ol>
      <t>The rest of the content model, the three answers, and the findings
apply unchanged. A record's digest depends on its encoding, so records
that name one another, and the entries of one log, are in one encoding.
The thumbprints and key-set digests by which a verifier is told whom it
trusts also depend on the encoding: a key's JWK thumbprint and its
COSE_Key thumbprint differ.</t>
    </section>
    <section anchor="related">
      <name>Relationship to Other Work</name>
      <dl spacing="compact">
        <dt>Agent receipts:</dt>
        <dd>
          <t><xref target="I-D.nelson-agent-delegation-receipts"/> has the user sign an
authorization (WebAuthn being one way) with allowed and denied
actions, prohibitions, and a time window, logged before the agent
acts; its delegations may only narrow, within a depth limit, and can
be revoked. <xref target="I-D.sahu-agent-action-receipts"/> and
<xref target="I-D.dembowski-agentledger-proof-of-behavior"/> (which expired on 22
October 2026) specify signed, hash-chained action receipts, with a
recorded policy decision or a gate run before execution. Here the
permission carries limits on amounts, counts, and periods, and anyone
can compare each recorded action with it afterward.</t>
        </dd>
        <dt>Audit records:</dt>
        <dd>
          <t><xref target="I-D.gilda-audit-agent-audit-record"/> records an authorization
decision and the effect that followed, as one in-toto predicate in a
DSSE envelope, with a canonicalization contract and what a retaining
party keeps beside a record so that it can later be dated from
anchors it does not control; it defines no policy.
<xref target="I-D.sharif-agent-audit-trail"/> specifies a JSON logging record with
mandatory fields for the agent, the authorizing principal, the
action's class, and its outcome, hash-chained with SHA-256 over
<xref target="RFC8785"/> and optionally signed with ECDSA, and maps it to
regulatory logging requirements.
<xref target="I-D.sergeev-audit-task-requirements"/> states which evidence answers
which audit question and separates missing evidence from a negative
observation; the three answers of <xref target="answers"/> and the omission limits
of <xref target="security"/> are of that kind. None carries a permission signed by
the principal with limits that a verifier compares receipts against;
the permission here could be the authorization under which a decision
recorded by the first two was made.</t>
        </dd>
        <dt>EMILIA Protocol receipts:</dt>
        <dd>
          <t>In <xref target="I-D.schrock-ep-authorization-receipts"/>, an enrolled approver,
never the initiator, signs a context bound to one exact action before
it is executed, preferably with a WebAuthn credential whose challenge
is the hash of that context, with user verification required. The
executor records one-time use in shared atomic state; the receipt,
which carries a log inclusion proof, can be verified offline. In
<xref target="I-D.schrock-ep-bounded-capability-receipts"/>, an issuer signs with
Ed25519 a capability holding a closed scope, a budget in explicit
units, an expiry, and any parent; its issuance can itself be approved
by such a receipt. Delegation only narrows, and is funded from the
parent's budget. An overspend or a replayed operation is refused when
an operation is reserved, and revocation is checked then and again
just before the action takes effect, within one atomic store. That
document states that it provides no offline or cross-domain
double-spend prevention, and that a committed operation is not
verifiable evidence unless a signed record covers it; Section 13 of
that document lists what such evidence should hold. Together, the two
EMILIA documents provide enforcement before an action takes effect,
in the executor's atomic state, and evidence of what was authorized,
in the authorization receipt. An approval here (<xref target="receipt"/>)
corresponds to the first document, and a signed total with narrowing
delegation to the second. The difference is where the limits live and
who checks them: there, the executor's store refuses an operation;
here, the principal's passkey signs the limits, which may also bound
single amounts, counts, and periods and set conditions, each action is
a signed receipt that the service may countersign, and any verifier
decides afterward, from the records alone, whether each action stayed
within the permission. This document does not stop an action when it
is attempted, and an action for which no receipt was written is found
only in another party's records (<xref target="security"/>). The two designs could
be combined: an executor that refuses an operation before it takes
effect, and receipts from which any verifier can later check each
action against the limits the principal signed.</t>
        </dd>
        <dt>SCITT profiles:</dt>
        <dd>
          <t>A SCITT Transparency Service <xref target="RFC9943"/> registers Signed Statements
and returns Receipts <xref target="RFC9942"/> proving inclusion in its log; a
SCITT Receipt proves registration, not an action.
<xref target="I-D.noa-scitt-ai-agent-receipt"/> records a principal class and an
ALLOW or DENY verdict, keeps pre-execution authorization apart, and
does not claim that a named approver authorized the action.
<xref target="I-D.emirdag-scitt-ai-agent-execution"/> has the operator sign each
record, with an independent custodian as Transparency Service; a
principal's constraints appear only as an optional text field and
references to credentials. <xref target="I-D.mih-scitt-agent-action-capsule"/>
records one action per capsule, with its disposition and the
constraints evaluated, and leaves permission to authorization records
it references by digest. None defines a permission signed by the
principal, with limits that a verifier compares receipts against. That
content model could be carried by a SCITT profile, with heads or
receipts registered as Signed Statements, also guarding against
truncation and split views (<xref target="security"/>).</t>
        </dd>
        <dt>OAuth and GNAP:</dt>
        <dd>
          <t>Token Exchange expresses delegation through the "act" claim
(<xref section="4.1" sectionFormat="of" target="RFC8693"/>); Rich Authorization Requests <xref target="RFC9396"/>
and the Grant Negotiation and Authorization Protocol (GNAP)
<xref target="RFC9635"/> grant detailed rights. All yield tokens issued by a
server for access, not records signed by the principal.
Transaction Tokens <xref target="I-D.ietf-oauth-transaction-tokens"/> carry one
call's context through a trust domain; a receipt can hold a token's
digest in "details".</t>
        </dd>
        <dt>Attenuating tokens:</dt>
        <dd>
          <t><xref target="I-D.niyikiza-oauth-attenuating-agent-tokens"/> lets a holder derive
offline tokens with equal or narrower capabilities, within depth and
lifetime limits, checked before each call; macaroons <xref target="MACAROONS"/>,
Biscuit <xref target="BISCUIT"/>, and User Controlled Authorization Network (UCAN)
<xref target="UCAN"/> narrow capabilities likewise. Delegation here also only
narrows, but is checked over recorded actions, with totals and
periods across many of them.</t>
        </dd>
        <dt>WIMSE:</dt>
        <dd>
          <t>Workload Identity in a Multi System Environment (WIMSE)
<xref target="I-D.ietf-wimse-arch"/> gives workloads identities;
<xref target="I-D.ietf-wimse-aims"/> applies WIMSE and OAuth to AI agents. A WIMSE
credential for an agent's keys would say which workload held them.</t>
        </dd>
        <dt>Credentials and mandates:</dt>
        <dd>
          <t>A permission resembles a credential (<xref target="VC-DATA-MODEL"/>,
<xref target="I-D.ietf-oauth-sd-jwt-vc"/>) and a mandate of the Agent Payments
Protocol <xref target="AP2"/>, by which a user authorizes purchases within limits;
but it is checked against receipts, and handles no payment.</t>
        </dd>
        <dt>Agent auditing:</dt>
        <dd>
          <t>The approved request for a working-group-forming session on Agent Use
of Delegation and Interaction Traceability (AUDIT) at IETF 127
<xref target="AUDIT-BOFREQ"/>, dated 8 October 2026, lists
<xref target="I-D.kuehlewind-audit-architecture"/> and
<xref target="I-D.birkholz-verifiable-agent-conversations"/> as its architecture
and solution drafts, and a data model for records among the new work
required; at the time of writing (October 2026) the proposed group's
charter is still being revised. The architecture's first work item
leaves the encoding open, CBOR and COSE or JSON and JWS, with detached
payloads. In its terms, a permission records an initial grant, an
approval a step-up approval, and a cancellation a revocation, which
are kinds of Authorization Transition Record; a delegation is a
Delegation Record. It places Action Records where an action took
effect and binds each to its authorizing token; here the agent's
receipt names its permission by digest, and the countersignature
comes from the side where the action took effect. Its records share a
correlation identifier, which this document does not define
(<xref target="open-issues"/>). This document offers the permission with limits
and the comparison rule as content that any record format in that
work could carry.</t>
        </dd>
      </dl>
    </section>
    <section anchor="rationale">
      <name>Design Rationale</name>
      <t>Passkeys are on the devices people use, resist phishing, and record user
verification; no device offers a post-quantum passkey. The JSON encoding
is defined first because an implementation uses it, and JSON text suits
a log of one entry to a line. Two signatures side by side can each be
verified by any library, and a verifier lacking one says so. Composite
signatures <xref target="I-D.ietf-jose-pq-composite-sigs"/> would make one of the
two, but that draft pairs ML-DSA-87 only with ES384 or Ed448, never with
Ed25519. Verification needs no network, because a record may be checked
years later, when its writers have gone. Post-quantum signatures are
used from the start: if Ed25519 is forged in future, a record carrying
only Ed25519 could be made afterward and not told apart from a genuine
one; SLH-DSA rests on hash functions alone. The tree is that of
Certificate Transparency, the covering of fields in <xref target="FORMAT"/> that of
<xref target="RFC9901"/>, and the time-stamp that of the Time-Stamp Protocol.</t>
    </section>
    <section anchor="elsewhere">
      <name>Parts Specified Elsewhere</name>
      <t><xref target="FORMAT"/> specifies these parts, out of scope here: one-page proofs of
single entries, with a permission's names and purpose covered by the
disclosures of <xref target="RFC9901"/>; vouching records, by which an organization
states that a key belongs to a name, and their withdrawal; a service's
signed refusals and terms; time-stamps from a public blockchain; further
date rules; the principal's own copy of a cancellation, handed to a
verifier; the exact texts whose digests the reserved document names of
<xref target="receipt"/> carry
(<xref section="27" sectionFormat="of" target="FORMAT" relative="#27-reserved-document-names"/>),
which bind a receipt to a web request, an answer, a call's arguments, an
identifier for the call from either side, or an error text; and the check
before acting
(<xref section="20" sectionFormat="of" target="FORMAT" relative="#20-the-check-before-acting"/>), by
which the software around an agent asks, before an action, whether it
would stay within the permission. How records are carried, how keys are
distributed, and what to do about a finding are out of scope too.</t>
    </section>
    <section anchor="open-issues" removeInRFC="true">
      <name>Open Issues</name>
      <ol spacing="compact" type="1"><li>
          <t>Labels: standards-tree media types <xref target="RFC6838"/>, a registered passkey
method, and the brand in the identifiers. The brand stands in the
media types, in the passkey method name, in the "type" values
"provared.X.v0" of the content model (<xref target="records"/>), and in the
reserved action prefix "provared." of <xref target="permission"/> and
<xref target="shared-list"/>. On adoption, all of these would be renamed, with a
"type" such as
"agent-permission.v0" and a prefix chosen by the group; the "v0"
label is what keeps the two from being confused, and the vendor-tree
media types would then need no registration.
<xref target="I-D.ietf-cose-sphincs-plus"/> registers SLH-DSA-SHA2-128s and
SLH-DSA-SHAKE-128s, not SLH-DSA-SHA2-256s.</t>
        </li>
        <li>
          <t>Canonical form: <xref target="RFC8785"/> is Informational (Independent stream),
not in the downref registry; this document could define the narrowed
form, which is short.</t>
        </li>
        <li>
          <t>Client data: refusing repeated members, or the limited verification
algorithm of <xref target="WebAuthn"/>; public suffixes; extension bytes; backup
flags.</t>
        </li>
        <li>
          <t><xref target="RFC8419"/> requires SHA-512 with Ed25519 when signed attributes are
present; <xref target="timestamps"/> also accepts SHA-256 and SHA-384.</t>
        </li>
        <li>
          <t>Timing: whether to bring in the date rules of
<xref section="21" sectionFormat="of" target="FORMAT" relative="#21-the-seal-and-the-outside-time-stamp"/> and
<xref section="22" sectionFormat="of" target="FORMAT" relative="#22-cancelling-a-slip"/>, and
whether 300 seconds is the right allowance.</t>
        </li>
        <li>
          <t>A COSE encoding (<xref target="other-encodings"/>), and detached payloads; a
member for a correlation identifier shared with other audit records
(<xref target="related"/>); SCITT registration; consistency proofs
(<xref section="2.1.4" sectionFormat="of" target="RFC9162"/>);
composite signatures; a registry for shared action names; whether to
answer "within its permission" when not everything was verified.</t>
        </li>
      </ol>
    </section>
    <section anchor="impl" removeInRFC="true">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>.
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort has
been spent to verify the information presented here that was supplied
by IETF contributors. This is not intended as, and must not be
construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.</t>
      <t>Provared 0.5.0, by the author, covers this document and <xref target="FORMAT"/> in
two languages: a JavaScript library for Node.js 24.7 or later, with no
dependencies, with a command-line verifier and a verification page that
runs from one file; and a Python library for Python 3.11 or later,
which depends on the package "cryptography". The Python library has no
SLH-DSA yet, so it reports the third signature of a signed tree head as
not verified. Version 0.5.0 does not yet refuse a time-stamp whose
signed attributes hold the signing-certificate attribute more than once,
as <xref target="timestamps"/> requires: it uses the last ESSCertIDv2 attribute or,
where there is none, the first ESSCertID attribute. Both libraries are
tested
against one set of test vectors, each an input with the expected answer,
published in the repository for any implementation to use. Three further
Python packages, two of them published, put an agent framework's tool
calls behind the check before an action and write a receipt for each
call: "provared-langchain", listed among the middleware in LangChain's
documentation, and "pydantic-ai-provared" are published; "provared-agno"
is in the repository only. The author records the tool calls of their
own coding agent with the library, under a permission signed with a
passkey; the record is published at https://prova.red/records/.
Maturity: marked as a draft. Licensing: Apache License 2.0 (<xref target="FORMAT"/>:
Creative Commons Attribution 4.0). Location:
https://github.com/provared/provared (tag v0.5.0), the npm package
"provared", and the Python package "provared". Contact: the author.
Dates: version 0.1.0 was published to the npm registry on 5 October 2026
and version 0.5.0 on 16 October 2026, both in UTC; the repository's
change log heads the same versions 6 and 17 October 2026. The rules of
<xref target="ed25519"/> were confirmed against both libraries, on Node.js 24.19.0
with OpenSSL 3.5.7 and on Python 3.14.7 with "cryptography" 50.0.2 and
the OpenSSL 4.0.3 bundled with it. No independent implementation is
known.</t>
      <t>Provared is used by the author as a trademark; it is not registered.
Anyone may use the identifiers in this document to implement this
document.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Making or widening a permission requires a signature by the principal's
passkey; making or changing any other record requires its signer's
keys. Without the keys that signed a chain, a receipt cannot be removed
from the middle of the chain, moved within it, or changed without a
verifier reporting it (chain-broken, signature-invalid). Whoever holds
those keys can re-sign the chain from any receipt onward. Anyone can
remove the last receipts of a chain, unless a head held by someone other
than the recorder covers them, or the service has kept a
countersignature of one of them. A verifier that holds a copy of a
signed tree head, or of its size and root, obtained from someone other
than the recorder, detects any change, addition, or removal before that
head (root-mismatch). Trusting the recorder's keys protects against
everyone except the recorder, who can sign a shortened or reordered
history. A counted time-stamp shows that the entries before a sound head
existed by its time. Once a permission is covered by a head whose keys
the verifier trusts, two of the head's three signatures, which are
post-quantum, cover the permission's entry. The passkey signature on the
permission itself is classical. What the head adds is that the
permission, as it stands in the log, cannot be replaced afterward by
anyone without the recorder's keys, even if its passkey signature later
becomes forgeable; it does not make the principal's signature
post-quantum.</t>
      <t>What this document does not protect against:</t>
      <dl spacing="compact">
        <dt>No trusted keys:</dt>
        <dd>
          <t>With no trusted keys named, "intact" means only that the log is
consistent with itself. Anyone can make such a log.</t>
        </dd>
        <dt>Omission, one side's word:</dt>
        <dd>
          <t>An agent that writes no receipt leaves no trace in its own log, and
no check of that log shows the gap. Only another party's records can
show it: a countersignature kept by the service, or an executor that
refuses any action without a verified approval and records each
action it allows (the strongest class of
<xref target="I-D.schrock-ep-authorization-receipts"/> is such an executor). This
document defines no executor. A cancellation the principal signed can
be left out of the log by whoever keeps it, after which every later
receipt reads as within the permission; only the principal's own copy
of the cancellation, handed to the verifier
(<xref section="22" sectionFormat="of" target="FORMAT" relative="#22-cancelling-a-slip"/>, out of
scope here), answers this. A one-sided receipt, an acknowledgement,
and the times stated in records, on which period limits depend, rest
on the signer's own statement.</t>
        </dd>
        <dt>Truncation and split views:</dt>
        <dd>
          <t>The last head, with everything after it, can be removed unnoticed
unless someone else holds that head. A recorder can keep two logs
that differ after some entry, with heads for each; no consistency
proof is defined. Handing heads to others lets them be compared.</t>
        </dd>
        <dt>One log only:</dt>
        <dd>
          <t>approval-reused and duplicate-id hold within one log, and so do
totals, counts, and periods. Receipts for one permission written into
two logs, or into a log that was started afresh, are not added
together: each log can be within its limits while the two together
are not. A recorder that keeps one log for each permission avoids
this; the format does not close it.</t>
        </dd>
        <dt>Service keys:</dt>
        <dd>
          <t>The keys of a service in "with" are stated by the principal. A
countersignature shows that a holder of those keys signed; it does
not show who that holder is. A principal who lists keys they control
can countersign their own agent's receipts. A compromise of a
service's keys lets anyone countersign in its name: a countersignature
is only as strong as the service's keys.</t>
        </dd>
        <dt>Agent keys held by the recorder:</dt>
        <dd>
          <t>Such a recorder can write and sign another history. A time-stamp then
shows only when; countersignatures still stand against it.</t>
        </dd>
        <dt>Passkeys:</dt>
        <dd>
          <t>A passkey shows that a device signed after verifying a user, not who
held it, nor that the principal read what was signed; a compromised
device or page can show one thing and have another signed. The
challenge is opaque to the principal. Any party that can choose the
challenge at an origin under the issuer's "rpId" (the site's operator,
any script at that origin, or any subdomain of the "rpId") can obtain
a signature on a record of its choosing by presenting it as a
sign-in: the client data of a sign-in and of a record are the same
shape. So a passkey trusted for records <bcp14>SHOULD</bcp14> be created for an
"rpId" used for nothing but signing records, the signing page <bcp14>SHOULD</bcp14>
show the record before asking, and a verifier <bcp14>MAY</bcp14> be told the "origin"
it expects as well as the thumbprint. The counter is not used, so a
cloned passkey goes unseen. An "http://localhost" origin is for tests
only.</t>
        </dd>
        <dt>Time-stamp keys:</dt>
        <dd>
          <t>A TSA is trusted by certificate digest, without revocation, and its
time is checked against the certificate's validity, not the
verifier's clock. A compromised TSA key can stamp any time; a
verifier that learns of it <bcp14>MUST</bcp14> stop trusting it. Up to four TSAs
lessen the dependence on one.</t>
        </dd>
        <dt>Renewal:</dt>
        <dd>
          <t>TSA signatures are classical, and certificates age; so the times by
which entries existed rest on classical signatures and have no
post-quantum protection. A later head covers earlier heads' entries,
time-stamps included, so stamping it by a newer TSA extends the
evidence, as evidence records <xref target="RFC4998"/> do.</t>
        </dd>
        <dt>Stripping:</dt>
        <dd>
          <t>Signatures are fixed in number, order, and label, and their keys are
given elsewhere (<xref target="hybrid"/>), so removing or replacing one is caught.</t>
        </dd>
        <dt>Ed25519 alone:</dt>
        <dd>
          <t>Without ML-DSA-87, what is compared rests on Ed25519 alone. Such a
verifier cannot tell a record made with the agent's Ed25519 key alone
from a genuine one. A verifier whose library applies other rules than
<xref target="ed25519"/> <bcp14>MUST</bcp14> add the missing checks.</t>
        </dd>
        <dt>Malleable signatures:</dt>
        <dd>
          <t>An ECDSA signature can be altered into another valid one. A record
digest covers only content, so no digest changes; the entry does,
and a later head shows it.</t>
        </dd>
      </dl>
      <t>A verifier <bcp14>MUST</bcp14> treat every byte of a record as untrusted, and answer a
failed check with a code, not a crash. It <bcp14>SHOULD</bcp14> replace control,
invisible, and direction-changing characters before showing text from a
record. Member names are plain strings: "__proto__" is like any other.</t>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>Following <xref target="RFC6973"/>: keys repeat in every record a party signs, so
records in different logs can be linked. Document digests are not
salted, so whoever can guess a document can confirm that a receipt
names it; a writer can add a random value to a document first. A TSA
learns the digests it stamps, when, and who asked. An entry cannot be
erased without breaking later heads, so records should hold no more
personal data than needed; names may be pseudonyms, and <xref target="FORMAT"/>
defines covered names and purpose. The members "origin" and "rpId" name
the site where the principal signed. A verifier makes no network
request.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions. On adoption, a later version is
expected to request standards-tree media types <xref target="RFC6838"/> for each
kind of record. It would also request a JWS algorithm name for the
passkey signature, and one for the third signature of a signed tree
head (<xref target="open-issues"/>).</t>
    </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="RFC2634">
          <front>
            <title>Enhanced Security Services for S/MIME</title>
            <author fullname="P. Hoffman" initials="P." role="editor" surname="Hoffman"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document describes four optional security service extensions for S/MIME. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2634"/>
          <seriesInfo name="DOI" value="10.17487/RFC2634"/>
        </reference>
        <reference anchor="RFC3161">
          <front>
            <title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="P. Cain" initials="P." surname="Cain"/>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="R. Zuccherato" initials="R." surname="Zuccherato"/>
            <date month="August" year="2001"/>
            <abstract>
              <t>This document describes the format of a request sent to a Time Stamping Authority (TSA) and of the response that is returned. It also establishes several security-relevant requirements for TSA operation, with regards to processing requests to generate responses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3161"/>
          <seriesInfo name="DOI" value="10.17487/RFC3161"/>
        </reference>
        <reference anchor="RFC3279">
          <front>
            <title>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="L. Bassham" initials="L." surname="Bassham"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="May" year="2002"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for digital signatures and subject public keys used in the Internet X.509 Public Key Infrastructure (PKI). Digital signatures are used to sign certificates and certificate revocation list (CRLs). Certificates include the public key of the named subject. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3279"/>
          <seriesInfo name="DOI" value="10.17487/RFC3279"/>
        </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="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="RFC5035">
          <front>
            <title>Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>In the original Enhanced Security Services for S/MIME document (RFC 2634), a structure for cryptographically linking the certificate to be used in validation with the signature was introduced; this structure was hardwired to use SHA-1. This document allows for the structure to have algorithm agility and defines a new attribute for this purpose. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5035"/>
          <seriesInfo name="DOI" value="10.17487/RFC5035"/>
        </reference>
        <reference anchor="RFC5480">
          <front>
            <title>Elliptic Curve Cryptography Subject Public Key Information</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="K. Yiu" initials="K." surname="Yiu"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the syntax and semantics for the Subject Public Key Information field in certificates that support Elliptic Curve Cryptography. This document updates Sections 2.3.5 and 5, and the ASN.1 module of "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5480"/>
          <seriesInfo name="DOI" value="10.17487/RFC5480"/>
        </reference>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC5816">
          <front>
            <title>ESSCertIDv2 Update for RFC 3161</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="N. Pope" initials="N." surname="Pope"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This document updates RFC 3161. It allows the use of ESSCertIDv2, as defined in RFC 5035, to specify the hash of a signer certificate when the hash is calculated with a function other than the Secure Hash Algorithm (SHA-1). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5816"/>
          <seriesInfo name="DOI" value="10.17487/RFC5816"/>
        </reference>
        <reference anchor="RFC6454">
          <front>
            <title>The Web Origin Concept</title>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines the concept of an "origin", which is often used as the scope of authority or privilege by user agents. Typically, user agents isolate content retrieved from different origins to prevent malicious web site operators from interfering with the operation of benign web sites. In addition to outlining the principles that underlie the concept of origin, this document details how to determine the origin of a URI and how to serialize an origin into a string. It also defines an HTTP header field, named "Origin", that indicates which origins are associated with an HTTP request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6454"/>
          <seriesInfo name="DOI" value="10.17487/RFC6454"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7517">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </reference>
        <reference anchor="RFC7638">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </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="RFC8037">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8410">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves. The signature algorithms covered are Ed25519 and Ed448. The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="RFC8419">
          <front>
            <title>Use of Edwards-Curve Digital Signature Algorithm (EdDSA) Signatures in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies the conventions for using the Edwards-curve Digital Signature Algorithm (EdDSA) for curve25519 and curve448 in the Cryptographic Message Syntax (CMS). For each curve, EdDSA defines the PureEdDSA and HashEdDSA modes. However, the HashEdDSA mode is not used with the CMS. In addition, no context string is used with the CMS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8419"/>
          <seriesInfo name="DOI" value="10.17487/RFC8419"/>
        </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="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC9864">
          <front>
            <title>Fully-Specified Algorithms for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This specification refers to cryptographic algorithm identifiers that fully specify the cryptographic operations to be performed, including any curve, key derivation function (KDF), and hash functions, as being "fully specified". It refers to cryptographic algorithm identifiers that require additional information beyond the algorithm identifier to determine the cryptographic operations to be performed as being "polymorphic". This specification creates fully-specified algorithm identifiers for registered JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) polymorphic algorithm identifiers, enabling applications to use only fully-specified algorithm identifiers. It deprecates those polymorphic algorithm identifiers.</t>
              <t>This specification updates RFCs 7518, 8037, and 9053. It deprecates polymorphic algorithms defined by RFCs 8037 and 9053 and provides fully-specified replacements for them. It adds to the instructions to designated experts in RFCs 7518 and 9053.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9864"/>
          <seriesInfo name="DOI" value="10.17487/RFC9864"/>
        </reference>
        <reference anchor="RFC9964">
          <front>
            <title>ML-DSA for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M. Prorock" initials="M." surname="Prorock"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document specifies JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) serializations for the Module-Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum Cryptography (PQC) digital signature scheme defined in US NIST FIPS 204.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9964"/>
          <seriesInfo name="DOI" value="10.17487/RFC9964"/>
        </reference>
        <reference anchor="FIPS180-4">
          <front>
            <title>Secure Hash Standard (SHS)</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="FIPS" value="180-4"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/>
        </reference>
        <reference anchor="FIPS204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS" value="204"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.204"/>
        </reference>
        <reference anchor="FIPS205">
          <front>
            <title>Stateless Hash-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS" value="205"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.205"/>
        </reference>
        <reference anchor="WebAuthn" target="https://www.w3.org/TR/2026/REC-webauthn-3-20260825/">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials - Level 3</title>
            <author>
              <organization>World Wide Web Consortium</organization>
            </author>
            <date year="2026" month="August" day="25"/>
          </front>
          <seriesInfo name="W3C" value="REC-webauthn-3-20260825"/>
        </reference>
        <reference anchor="X690">
          <front>
            <title>Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T" value="Recommendation X.690"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4998">
          <front>
            <title>Evidence Record Syntax (ERS)</title>
            <author fullname="T. Gondrom" initials="T." surname="Gondrom"/>
            <author fullname="R. Brandner" initials="R." surname="Brandner"/>
            <author fullname="U. Pordesch" initials="U." surname="Pordesch"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>In many scenarios, users must be able prove the existence and integrity of data, including digitally signed data, in a common and reproducible way over a long and possibly undetermined period of time. This document specifies the syntax and processing of an Evidence Record, a structure designed to support long-term non-repudiation of existence of data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4998"/>
          <seriesInfo name="DOI" value="10.17487/RFC4998"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <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="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="RFC9596">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) "typ" (type) Header Parameter</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This specification adds the equivalent of the JSON Object Signing and Encryption (JOSE) "typ" (type) header parameter to CBOR Object Signing and Encryption (COSE). This enables the benefits of explicit typing (as defined in RFC 8725, "JSON Web Token Best Current Practices") to be brought to COSE objects. The syntax of the COSE type header parameter value is the same as the existing COSE content type header parameter.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9596"/>
          <seriesInfo name="DOI" value="10.17487/RFC9596"/>
        </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="RFC9679">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
            <author fullname="K. Isobe" initials="K." surname="Isobe"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9679"/>
          <seriesInfo name="DOI" value="10.17487/RFC9679"/>
        </reference>
        <reference anchor="RFC9901">
          <front>
            <title>Selective Disclosure for JSON Web Tokens</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="K. Yasuda" initials="K." surname="Yasuda"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="November" year="2025"/>
            <abstract>
              <t>This specification defines a mechanism for the selective disclosure
of individual elements of a JSON data structure used as the payload
of a JSON Web Signature (JWS). The primary use case is the selective
disclosure of JSON Web Token (JWT) claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9901"/>
          <seriesInfo name="DOI" value="10.17487/RFC9901"/>
        </reference>
        <reference anchor="RFC9942">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <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"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9942"/>
          <seriesInfo name="DOI" value="10.17487/RFC9942"/>
        </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.ietf-oauth-transaction-tokens">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>CrowdStrike</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date day="30" month="July" year="2026"/>
            <abstract>
              <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity, workload identity and authorization context
   throughout the Call Chain within a trusted domain during the
   processing of external requests (e.g. such as API calls) or requests
   initiated internally within the Trust Domain.  Txn-Tokens ensure that
   this context is preserved throughout the Call Chain thereby enhancing
   security and consistency in complex, multi-service architectures.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
        </reference>
        <reference anchor="I-D.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.ietf-wimse-aims">
          <front>
            <title>AI Identity Management System</title>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Jeff Lombardo" initials="J." surname="Lombardo">
              <organization>AWS</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Nick Steele" initials="N." surname="Steele">
              <organization>OpenAI</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="15" month="September" year="2026"/>
            <abstract>
              <t>   This document proposes best practices for authentication and
   authorization of AI agent interactions.  It leverages existing
   standards such as the Workload Identity in Multi-System Environments
   (WIMSE) architecture and OAuth 2.0 family of specifications.  Rather
   than defining new protocols, this document describes how existing and
   widely deployed standards can be applied or extended to establish
   agent authentication and authorization.  By doing so, it aims to
   provide a framework within which to use existing standards, identify
   gaps and guide future standardization efforts for agent
   authentication and authorization.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-00"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-sd-jwt-vc">
          <front>
            <title>SD-JWT-based Verifiable Digital Credentials (SD-JWT VC)</title>
            <author fullname="Oliver Terbu" initials="O." surname="Terbu">
              <organization>MATTR</organization>
            </author>
            <author fullname="Daniel Fett" initials="D." surname="Fett">
              <organization>Authlete Inc.</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="31" month="August" year="2026"/>
            <abstract>
              <t>   This specification describes data formats as well as validation and
   processing rules to express Verifiable Digital Credentials with JSON
   payloads with and without selective disclosure based on the SD-JWT
   format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-sd-jwt-vc-19"/>
        </reference>
        <reference anchor="I-D.ietf-cose-sphincs-plus">
          <front>
            <title>SLH-DSA for JOSE and COSE</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <date day="28" month="July" year="2026"/>
            <abstract>
              <t>   Digital signatures are used within JSON Object Signing and Encryption
   (JOSE) and CBOR Object Signing and Encryption (COSE) to protect the
   integrity and authenticity of messages, such as JSON Web Signatures
   and signed COSE structures.  This document specifies JOSE and COSE
   serializations for the Stateless Hash-Based Digital Signature
   Standard (SLH-DSA), a Post-Quantum Cryptography (PQC) digital
   signature scheme defined in US NIST FIPS 205.  The conventions for
   the associated algorithm identifiers, signatures, public keys, and
   private keys are also specified.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-sphincs-plus-10"/>
        </reference>
        <reference anchor="I-D.ietf-jose-pq-composite-sigs">
          <front>
            <title>PQ/T Hybrid Composite Signatures for JOSE and COSE</title>
            <author fullname="Lucas Prabel" initials="L." surname="Prabel">
              <organization>Huawei</organization>
            </author>
            <author fullname="Sun Shuzhou" initials="S." surname="Shuzhou">
              <organization>Huawei</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <date day="20" month="October" year="2026"/>
            <abstract>
              <t>   This document describes JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for Post-
   Quantum Traditional (PQ/T) hybrid composite signatures.  The
   composite algorithms described combine the Module-Lattice-Based
   Digital Signature Algorithm (ML-DSA) as the post-quantum component
   and either the Elliptic Curve Digital Signature Algorithm (ECDSA) or
   the Edwards-Curve Digital Signature Algorithm (EdDSA) as the
   traditional component.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-pq-composite-sigs-06"/>
        </reference>
        <reference anchor="I-D.birkholz-verifiable-agent-conversations">
          <front>
            <title>Verifiable Agent Conversation Records</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         </author>
            <author fullname="Tobias Heldt" initials="T." surname="Heldt">
         </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
         </author>
            <date day="31" month="August" year="2026"/>
            <abstract>
              <t>   Autonomous agents based on large language models increasingly perform
   consequential tasks on behalf of humans and other agents.
   Demonstrating that recorded agent behavior truthfully represents
   actual behavior is essential for accountability, compliance, and
   human oversight.  This document defines a data format for verifiable
   agent conversation records using CDDL, with representations in both
   JSON and CBOR.  The format captures session metadata, message
   exchanges, tool invocations, reasoning traces, and system events in a
   structured, extensible CDDL definition for verifiable agent
   conversation records.  COSE is used as the signing method to allow
   for native interoperability in SCITT Transparency Services and the
   CDDL definition allows for seemless integration in Evidence as
   specified in RFC 9334.  The specification supports cross-vendor
   interoperability by defining a common representation that
   accommodates translation from multiple existing agent implementations
   with distinct data structure layouts that are typically represented
   in JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-verifiable-agent-conversations-01"/>
        </reference>
        <reference anchor="I-D.nelson-agent-delegation-receipts">
          <front>
            <title>Agent Delegation Receipts</title>
            <author fullname="Ryan Nelson" initials="R." surname="Nelson">
              <organization>Authproof</organization>
            </author>
            <date day="21" month="October" year="2026"/>
            <abstract>
              <t>   This document defines the Agent Delegation Receipt: a signed record
   of what a human principal authorized an AI agent to do, for how long,
   and under what instructions.  The receipt carries a scope, hard
   boundaries, a validity window, and a hash of the operator's stated
   instructions, all signed by the authorizing key.  Version -11
   replaces the draft's earlier custom signature format with two
   standard profiles: a JWS profile (RFC 7515) over JCS-canonicalized
   JSON (RFC 8785) as the primary wire format, and a COSE_Sign1 profile
   (RFC 9052) for constrained environments.  It also specifies scope
   attenuation rules for multi-agent delegation chains, a revocation
   registry model with cascade semantics, and the limitations of what
   receipts can and cannot prove.  Version -12 resolves the unknown-
   fields question raised on the IETF oauth mailing list: authorization
   fields are closed (verifiers reject unknown top-level body fields
   rather than silently ignoring them), the "metadata" object is the
   defined extension point, and one-time-use receipts fail closed
   without a durable consumption store.  Version -13 incorporates
   independent-implementation feedback: it pins the
   orchestratorSignature verification key to the sub-receipt signer's
   key, states the receipt-issuance computation order explicitly, and
   guides issuers on default boundaries versus explicit allowances.
   Version -14 adds a pointer to content profiles for verification of
   what the agent produced, following implementer feedback.  Version -15
   adopts the grant/execution vocabulary of [CHEN-AGENT-USE-CASES]: the
   receipt as Execution Layer Evidence for a Grant Layer Authority.  It
   adds delegatee holder binding for sub-receipts -- a parent names the
   delegatee's public key, closing a bearer-copy issuance gap found in
   review -- deprecates orchestratorSignature as redundant, sketches an
   OAuth authorization_details binding so a token can reference its
   receipt, and states normative custody requirements for the
   authorizing key.  The delegateeKey field is a wire-format addition;
   -14-era verifiers will reject receipts carrying it, which is the
   intended fail-closed version behavior.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-nelson-agent-delegation-receipts-15"/>
        </reference>
        <reference anchor="I-D.sahu-agent-action-receipts">
          <front>
            <title>Signed, Hash-Chained Action Receipts for AI Agents</title>
            <author fullname="Nancy sahu" initials="N." surname="sahu">
              <organization>kriya native</organization>
            </author>
            <date day="16" month="August" year="2026"/>
            <abstract>
              <t>   This document specifies a format for action receipts: compact,
   individually signed JSON records that state that a specific AI agent
   attempted a specific action at a specific time, under a specific
   policy decision, and what the outcome was.  Receipts are linked into
   an append-only hash chain so that deletion, insertion, reordering, or
   modification of any previously recorded receipt is detectable by a
   verifier that holds only the records and the signer's public key.

   The format is deliberately small and self-contained.  Verification
   requires no network access, no service operated by the producer of
   the receipts, and no state beyond the records themselves and a trust
   anchor obtained out of band.  This document specifies the record
   fields, the canonical byte sequence that is signed, the chain linkage
   rule, the verification procedure, and test vectors.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sahu-agent-action-receipts-00"/>
        </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.emirdag-scitt-ai-agent-execution">
          <front>
            <title>AI Agent Execution Profile of SCITT</title>
            <author fullname="Pinar Emirdag" initials="P." surname="Emirdag">
              <organization>Veridic Inc.</organization>
            </author>
            <author fullname="Daniel Feichtinger" initials="D." surname="Feichtinger">
              <organization>Veridic Inc.</organization>
            </author>
            <date day="12" month="October" year="2026"/>
            <abstract>
              <t>   This document defines a SCITT (Supply Chain Integrity, Transparency,
   and Trust) profile for creating independently verifiable, tamper-
   evident records of autonomous AI agent actions.  The profile defines
   the AgentInteractionRecord (AIR) as the COSE_Sign1 signed statement
   payload for material agent actions; maps SCITT roles to the agent
   execution context, with the Agent Operator as Issuer and an
   independent Evidence Custodian as Transparency Service; specifies
   Registration Policy requirements including hash chain integrity,
   temporal ordering, and sequence completeness; defines a redaction
   receipt mechanism for privacy-preserving evidence custody; and
   provides compliance mappings to EU AI Act Articles 12 and 19, DORA,
   NIST AI RMF, MAS AI Risk Management Guidelines, PCI DSS, and MiFID
   II.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-emirdag-scitt-ai-agent-execution-01"/>
        </reference>
        <reference anchor="I-D.mih-scitt-agent-action-capsule">
          <front>
            <title>An Agent Action Capsule Profile for SCITT</title>
            <author fullname="Steven Mih" initials="S." surname="Mih">
              <organization>Action State Group, Inc.</organization>
            </author>
            <date day="26" month="September" year="2026"/>
            <abstract>
              <t>   This document defines a SCITT statement profile for recording what an
   AI agent did: the Agent Action Capsule.  A Capsule is a digest-
   committed record of one agent action carrying its verdict-level
   disposition (executed, blocked, denied, errored, timed out), the
   deterministic constraints that were evaluated, the effect that was
   committed together with a confirmed-effect binding that distinguishes
   a dispatched attempt from an observed result, and an honest human-in-
   the-loop flag.  Capsules are identified independently of signing and
   MAY be authenticated by one or more COSE_Sign1 Producer Envelopes.
   Its Capsule ID can separately be made transparent by registration in
   a SCITT Transparency Service [I-D.ietf-scitt-scrapi].  A Capsule is
   recorded on every verdict, including refusals: a blocked or denied
   Capsule is the auditor-grade evidence that a gate worked.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-scitt-agent-action-capsule-05"/>
        </reference>
        <reference anchor="I-D.niyikiza-oauth-attenuating-agent-tokens">
          <front>
            <title>Attenuating Authorization Tokens for Agentic Delegation Chains</title>
            <author fullname="Niki Aimable" initials="N." surname="Aimable">
              <organization>Tenuo</organization>
            </author>
            <date day="15" month="June" year="2026"/>
            <abstract>
              <t>   This document defines Attenuating Authorization Tokens (AATs), a
   signed credential format for task-scoped delegation in AI agent
   systems.  An AAT encodes the tools an agent may invoke and the
   argument constraints that apply to those invocations.  A token holder
   authorized to delegate can derive a token offline with equal or
   narrower authority, subject to the parent token's depth and lifetime
   limits.  The resulting delegation chain is verifiable offline by any
   enforcement point that has the root issuer's trust anchor key.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-niyikiza-oauth-attenuating-agent-tokens-01"/>
        </reference>
        <reference anchor="I-D.dembowski-agentledger-proof-of-behavior">
          <front>
            <title>Proof-of-Behavior Protocol for Autonomous AI Agents</title>
            <author fullname="Jakub Dembowski" initials="J." surname="Dembowski">
         </author>
            <date day="20" month="April" year="2026"/>
            <abstract>
              <t>   Autonomous AI agents execute actions — file writes, API calls, shell
   commands — on behalf of human principals.  No standard mechanism
   exists for a third party to verify that an agent acted within its
   declared behavioral rules, that policy enforcement occurred before
   execution (not after), or that the action log has not been tampered
   with after the fact.

   This document defines the Proof-of-Behavior (PoB) protocol: a
   minimal, language-agnostic standard for tamper-evident audit trails
   and pre-execution policy enforcement in AI agent systems.  The
   protocol specifies a signed receipt format, a hash-chain linking
   scheme, a policy gate contract, and a cross-agent reference
   mechanism.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dembowski-agentledger-proof-of-behavior-00"/>
        </reference>
        <reference anchor="I-D.schrock-ep-authorization-receipts">
          <front>
            <title>Authorization Receipts for High-Risk Agent Actions</title>
            <author fullname="Iman Schrock" initials="I." surname="Schrock">
              <organization>EMILIA Protocol, Inc.</organization>
            </author>
            <date day="12" month="September" year="2026"/>
            <abstract>
              <t>   This document defines the EMILIA Protocol (EP) authorization receipt,
   an evidence artifact binding an enrolled approver key to one
   canonical action before execution.  An approver-held key signs an
   Authorization Context containing the action hash, policy reference,
   shared authorization instance, per-signoff nonce, audience, and
   validity window.  A Trust Receipt carries the signed contexts,
   terminal consumption record, and Merkle inclusion material so a
   relying party can verify the recorded event offline under
   independently selected log, directory, policy, and approver trust
   inputs.

   The receipt establishes only the guarantees of the selected
   verification profile.  The mapping from an enrolled approver
   identifier to a natural person is asserted by the directory
   authority.  Offline verification does not establish current
   revocation status, global non-replay, comprehension, legality,
   safety, or execution.  Replay prevention requires an online atomic
   consumption store at the executor.  The state-machine invariants are
   machine-checked under the assumptions stated in this document.

   This revision defines the closed EP-AUTHORIZATION-BUNDLE-v1 pre-
   execution profile and its verification algorithm.  The bundle carries
   the Action Object, signed Authorization Contexts, signoffs, key
   proofs, and presentation evidence; it deliberately carries no
   terminal consumption or execution claim.  An optional, profile-
   identified authorization binding can commit the human evidence to an
   independently verified native authorization artifact without
   replacing that artifact or making this receipt format depend on its
   transport or trust model.

   A receipt is evidence, not authorization.  This document does not
   treat a local user interaction as an authorization decision.  It
   defines one evidence artifact that an authorization architecture can
   use in a human-confirmation flow: the signed Authorization Context is
   action-bound confirmation evidence an authorization server MAY
   validate and bind to the grant it issues.  The resulting Trust
   Receipt records terminal consumption and remains evidence; neither
   object makes the authorization decision.  That decision remains with
   the authorization server.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-authorization-receipts-13"/>
        </reference>
        <reference anchor="I-D.schrock-ep-bounded-capability-receipts">
          <front>
            <title>Bounded Capability Receipts and Durable Spend Control for Agent Actions</title>
            <author fullname="Iman Schrock" initials="I." surname="Schrock">
              <organization>EMILIA Protocol, Inc.</organization>
            </author>
            <date day="9" month="September" year="2026"/>
            <abstract>
              <t>   Agents sometimes need bounded authority to perform more than one
   consequential action without obtaining a new human approval for every
   operation.  A signed token alone cannot enforce a shared budget
   across replicas, survive retries safely, or distinguish an operation
   that never crossed an effect boundary from one whose outcome is
   unknown.

   This document defines a bounded capability receipt and a durable
   reserve-admit-reconcile protocol.  The receipt binds an issuance
   authorization, a closed action scope, a budget with explicit units, a
   holder proof, an expiry, and any parent capability.  The state
   protocol atomically refuses overspend and operation-key replay,
   fences concurrent owners, and charges an indeterminate operation when
   an external effect may have occurred.  Delegation transfers rather
   than copies authority: all direct child allocations are funded by
   committed parent operations before child registration, and their
   aggregate cannot exceed the parent balance within one authoritative
   atomic state domain.  It also defines narrowing-only delegation,
   explicit revocation inheritance for delegated authority, an optional
   admission-control epoch that can freeze new consequence admission,
   and evidence interfaces.  It does not make a bearer token into human
   approval, does not provide cross-domain or offline global double-
   spend prevention, and does not claim that an authorized action was
   safe, lawful, or successfully executed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-bounded-capability-receipts-06"/>
        </reference>
        <reference anchor="I-D.kuehlewind-audit-architecture" target="https://datatracker.ietf.org/doc/html/draft-kuehlewind-audit-architecture-01">
          <front>
            <title>An Architecture for Auditing Agent Delegation and Interactions</title>
            <author initials="M." surname="Kuehlewind" fullname="Mirja Kuehlewind">
              <organization/>
            </author>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization/>
            </author>
            <date year="2026" month="September" day="07"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kuehlewind-audit-architecture-01"/>
        </reference>
        <reference anchor="I-D.gilda-audit-agent-audit-record" target="https://datatracker.ietf.org/doc/html/draft-gilda-audit-agent-audit-record-00">
          <front>
            <title>An Audit Record Format for AI Agent Authorization Decisions</title>
            <author initials="S." surname="Gilda" fullname="Sankalp Gilda">
              <organization/>
            </author>
            <date year="2026" month="October" day="16"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gilda-audit-agent-audit-record-00"/>
        </reference>
        <reference anchor="I-D.sharif-agent-audit-trail" target="https://datatracker.ietf.org/doc/html/draft-sharif-agent-audit-trail-08">
          <front>
            <title>Agent Audit Trail: A Standard Logging Format for Autonomous AI Systems</title>
            <author initials="R." surname="Sharif" fullname="Raza Sharif">
              <organization/>
            </author>
            <date year="2026" month="October" day="13"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sharif-agent-audit-trail-08"/>
        </reference>
        <reference anchor="I-D.sergeev-audit-task-requirements" target="https://datatracker.ietf.org/doc/html/draft-sergeev-audit-task-requirements-00">
          <front>
            <title>Task-Relative Evidence Requirements for Agent Auditing</title>
            <author initials="M." surname="Sergeev" fullname="Mikhail Sergeev">
              <organization/>
            </author>
            <date year="2026" month="October" day="15"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sergeev-audit-task-requirements-00"/>
        </reference>
        <reference anchor="AUDIT-BOFREQ" target="https://datatracker.ietf.org/doc/bofreq-kuhlewind-audit-agent-use-of-delegation-and-interaction-traceability/">
          <front>
            <title>AUDIT - Agent Use of Delegation and Interaction Traceability</title>
            <author initials="M." surname="Kuehlewind" fullname="Mirja Kuehlewind" role="editor">
              <organization/>
            </author>
            <date year="2026" month="October" day="08"/>
          </front>
          <seriesInfo name="IETF BOF request" value="bofreq-kuhlewind-audit-agent-use-of-delegation-and-interaction-traceability-00"/>
        </reference>
        <reference anchor="FORMAT" target="https://github.com/provared/provared/blob/v0.5.0/spec/provared-format.md">
          <front>
            <title>The Provared format - draft version 0</title>
            <author initials="P." surname="Izmaylov" fullname="Pavel Izmaylov">
              <organization/>
            </author>
            <date year="2026" month="October" day="16"/>
          </front>
        </reference>
        <reference anchor="VC-DATA-MODEL" target="https://www.w3.org/TR/vc-data-model-2.0/">
          <front>
            <title>Verifiable Credentials Data Model v2.0</title>
            <author>
              <organization>World Wide Web Consortium</organization>
            </author>
            <date year="2025" month="May" day="15"/>
          </front>
        </reference>
        <reference anchor="AP2" target="https://github.com/google-agentic-commerce/AP2">
          <front>
            <title>Agent Payments Protocol (AP2)</title>
            <author>
              <organization>AP2 project</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="MACAROONS">
          <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="Network and Distributed System Security Symposium (NDSS)" value="2014"/>
          <seriesInfo name="DOI" value="10.14722/ndss.2014.23212"/>
        </reference>
        <reference anchor="BISCUIT" target="https://doc.biscuitsec.org/reference/specifications">
          <front>
            <title>Biscuit specification</title>
            <author>
              <organization>Eclipse Biscuit project</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="UCAN" target="https://github.com/ucan-wg/spec">
          <front>
            <title>User Controlled Authorization Network (UCAN) Specification, Version 1.0.0</title>
            <author>
              <organization>UCAN Working Group</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    

<section anchor="codes">
      <name>Codes</name>
      <t>The JSON encoding (<xref target="json"/>): not-json (not JSON; empty; byte order mark); bad-envelope (envelope members); bad-base64url (not strict base64url); unknown-type (unknown label); bad-signatures-layout (signatures in wrong number or order); payload-not-canonical (content not canonical); line-not-canonical (line not canonical).</t>
      <t>Any record (<xref target="common"/>): too-large (over a size limit, <xref target="log-format"/> and <xref target="json"/>); payload-type-mismatch (other kind of record); bad-field (member missing, unknown, or malformed); bad-key (key not allowed, or a weak Ed25519 key); signature-invalid (signature fails, or has the wrong length); check-failed (anything unexpected).</t>
      <t>Passkeys (<xref target="passkey"/>): passkey-bad-data (malformed values); passkey-wrong-type (wrong "type"); passkey-challenge-mismatch (wrong challenge); passkey-origin-mismatch (other origin); passkey-rpid-mismatch (other "rpId"); passkey-user-not-present (flag clear); passkey-user-not-verified (flag clear); issuer-not-expected (key not trusted).</t>
      <t>Logs and receipts (<xref target="relied"/>, <xref target="log-format"/>, <xref target="receipt"/>): unknown-entry (unknown kind of entry); duplicate-id ("id" or delegation twice); duplicate-slip (permission twice); slip-missing (permission not earlier); slip-unusable (permission not sound); root-mismatch (unexpected root or size); chain-broken (receipt missing, moved, or changed); time-went-backwards (dated before its predecessor); terms-not-found (terms not in the log); countersignature-wrong-stub (for another receipt); countersignature-not-possible (service has no keys); countersignature-invalid (fails); approval-mismatch (for something else); approval-not-found (not in the entry); approval-reused (used twice); approval-invalid (fails); approval-dated-after-stub (dated after its receipt).</t>
      <t>Delegations, cancellations, and heads (<xref target="delegation"/>, <xref target="cancellation"/>, <xref target="log"/>): pass-missing (delegation not earlier or not sound); pass-mismatch (other permission); pass-too-deep (deeper than 10); cancellation-invalid (fails); cancellation-not-found (unusable); seal-mismatch (size or root wrong); seal-chain-broken (wrong "previous"); sealer-not-expected (recorder not trusted); dated-after-stamp (dated after a time-stamp); stamp-bad-data (malformed); stamp-wrong-data (for something else); stamp-invalid (signature or field fails).</t>
      <t>Findings (<xref target="findings"/>, <xref target="delegation"/>): action-not-allowed,
prohibited, party-not-allowed, outside-valid-time, amount-missing,
over-limit, over-each-limit, over-count-limit, over-period-limit,
countersignature-missing, approval-missing, after-cancellation,
pass-not-allowed, and pass-wider. The codes terms-unusable,
terms-mismatch, outside-terms, cover-invalid, vouching-missing,
acknowledgement-mismatch, proof-invalid, headers-invalid, and
record-not-sound belong only to parts specified in <xref target="FORMAT"/>.</t>
    </section>
    <section anchor="shared-list">
      <name>Shared List</name>
      <t>Names that begin "provared." are reserved for this list; <xref target="FORMAT"/>
also gives each action's meaning. Shared action names are written below
without their "provared." prefix: "data.read" stands for
"provared.data.read". Kinds and rules of conduct are written as shown,
with no prefix; a "never" list may name any of them.</t>
      <dl spacing="compact">
        <dt>"reads":</dt>
        <dd>
          <t>Looks at data without changing it. Actions: "data.read", "data.search", "message.read", "calendar.read", "code.read", "web.read".</t>
        </dd>
        <dt>"changes":</dt>
        <dd>
          <t>Creates or changes data in a way that can be put back. Actions: "data.create", "data.change", "message.draft", "calendar.change", "access.remove", "code.change", "system.configure".</t>
        </dd>
        <dt>"destroys":</dt>
        <dd>
          <t>Removes data or a resource in a way that may not be put back. Actions: "data.delete".</t>
        </dd>
        <dt>"sends":</dt>
        <dd>
          <t>Sends a message or data to a person, to the public, or to another system. Actions: "data.export", "message.send", "post.publish", "agent.instruct".</t>
        </dd>
        <dt>"commits":</dt>
        <dd>
          <t>Binds the principal to something: an order, a booking, an agreement, an account. Actions: "booking.make", "booking.cancel", "order.place", "order.cancel", "terms.accept", "form.submit", "account.create".</t>
        </dd>
        <dt>"grants":</dt>
        <dd>
          <t>Gives someone or something access or permission. Actions: "access.grant", "key.create".</t>
        </dd>
        <dt>"runs":</dt>
        <dd>
          <t>Runs a program or a command. Actions: "code.run", "code.release".</t>
        </dd>
        <dt>"enters":</dt>
        <dd>
          <t>Signs in to a system or an account. Actions: "account.sign-in".</t>
        </dd>
        <dt>"impersonate":</dt>
        <dd>
          <t>Never claim to be a human being, or to be anyone other than the agent of the principal who signed the permission.</t>
        </dd>
        <dt>"bypass":</dt>
        <dd>
          <t>Never go around an access control, a block, or a refusal.</t>
        </dd>
        <dt>"escalate":</dt>
        <dd>
          <t>Never obtain or use access that the agent was not given.</t>
        </dd>
        <dt>"conceal":</dt>
        <dd>
          <t>Never hide, alter, or leave out the agent's own records.</t>
        </dd>
        <dt>"deceive":</dt>
        <dd>
          <t>Never state what the agent has reason to believe is false, and never make up a record or a result.</t>
        </dd>
        <dt>"harass":</dt>
        <dd>
          <t>Never threaten, pressure, or attack a person.</t>
        </dd>
        <dt>"disclose":</dt>
        <dd>
          <t>Never pass information that is not public to anyone the permission does not name.</t>
        </dd>
        <dt>"continue-after-stop":</dt>
        <dd>
          <t>Never carry on after being told to stop.</t>
        </dd>
      </dl>
    </section>
    <section anchor="changes" removeInRFC="true">
      <name>Changes Since -00</name>
      <ul spacing="normal">
        <li>
          <t>The content model (Sections <xref format="counter" target="common"/> through <xref format="counter" target="verification"/>) is
specified apart from its encoding. The JWS form is now <xref target="json"/>, with
its rules unchanged; <xref target="other-encodings"/> states what another encoding,
such as one with COSE, has to define. Log "lines" are now "entries"
outside <xref target="json"/>, and the codes in <xref target="codes"/> are grouped by where they
arise.</t>
        </li>
        <li>
          <t>No record's bytes change, but a verifier of -01 refuses some records
that -00 accepted, to match versions 0.2.0 to 0.5.0 of the
implementation. From version 0.2.0: an Ed25519 key that encodes a y of
p or more, or the y of a point of small order, is refused as a key
wherever it stands, used or not (bad-key; in a TSA's certificate,
stamp-invalid), where -00 refused only a signature verified under such
a key; an "origin" outside the exact rule of <xref target="permission"/>, which
needs no parser of web addresses; a TSA's RSA public exponent that is
not odd, from 3 to 2^32 - 1 (stamp-invalid); and a TSA certificate's
public key not written strictly (stamp-bad-data). From version 0.4.0:
an Ed25519, ML-DSA-87, or SLH-DSA-SHA2-256s signature whose length is
not its method's is a problem on every verifier, whether or not it
implements the method (signature-invalid; <xref target="hybrid"/>), where -00 left
it unverified on a verifier without the method. From version 0.5.0: a
document name that begins "provared." in a receipt's or an approval's
"details" <bcp14>MUST</bcp14> be one of the seven reserved names, and only the three
identifiers among them may be named more than once in one record
(bad-field; <xref target="receipt"/>), where -00 read every name as a label.</t>
        </li>
        <li>
          <t><xref target="intro"/> names more of what other drafts already have. <xref target="related"/>
compares the two EMILIA Protocol drafts and maps the records onto the
AUDIT architecture's record types. <xref target="security"/> says which records can
show that a receipt was never written.</t>
        </li>
        <li>
          <t><xref target="impl"/> describes version 0.5.0 and a second implementation, in
Python, by the same author.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="ack">
      <name>Acknowledgements</name>
      <t>The author thanks Iman Schrock, whose comments on the audit@ietf.org
list on 8 October 2026 led to the separation of the content model from
its encoding and to the comparison in <xref target="related"/>, and Nicholas
Templeman and Lars Kersten Kroehl, for the discussion on that list,
from 11 to 23 October 2026, of failure cases and of the number rule.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
wydWgExT7xnsFs3jjiBJePOx3/aP3R1vwtSbY7BPt50Nma2MGE6N/kIwWa5o
EpPIdHJzPLiTQVCE2/LA6k1+QJHetM6Il3HKxL9Lq72n8W5+KKdgpBr2rGCF
t1UmqgOGU/z4me11ejTSBPScLuXzyFWNGg+D4qAzIONy+JZlYP+HV68ACb5B
uuBVevXDg1VdXdXzKADRJL5CS1057RbroJFGFtNucw5jy7q8bZvTkiMH2ZmB
LN6roJ+HCfwRnm4Poe0ON7e4vDLcDnadm/MVxfxKF00kBM9p3tWvHfs2Sqe5
RPY8C0pS/KYvASBXP/xZkHo+Lz2nzjUXwG5wD8rX5GHczC4r7zDDBGT8hDlb
QgXcHklBNa+uciAEM7KGCzvdVYzpFyk0jwKxysLVYZpsd6f8TOnHdo9yy3t/
NexSkGsCOoqR1iB/p5E1INaCrkfTWFWKAW3QDbguirsUjeEb1Lw16zbHjsw7
S9ERVUt1S+GwtXPRkTyY89M1Yi03l0gO+G96Q31I91M33bJeyu4s84K5Erpq
hu2XYQJnjiVUDbveYAXcu18oA/wawvDoRSWEAeWhcaqonyOeMeOYd7j7jeLl
dbv45ddffmWSD/5BpieU65YYgtL+wWr0+URk40FfpCl8Q/xB0qQyP/fV71+C
IofbUWmERKCKlKOd6UQEJsHyNn48oNbZMHDoUppckpLlT0zLv2SviSWomwXU
TJA1HVXu98BPbw7y1pcsSer6DIa5BmrKfeMlZdAWVXfC1tgPqVFalTTB4oSi
tReIoHZC1E+HYWPXDS8O66I8oulEVV2LJ1aPUCMIELs1Oc5O0ibN9BTiJNdJ
LBntKbI9RbTYCMWErYJUB/hlJyaXUv+iQ39LDmTnfbMCnIepP2zG7dP95NQJ
7oVp3DXlruxZxYVUFofMd31HIXVpYCT8cqU1lNnN8F3i4XVPCKhSPdRYxj9l
8u3lh8u5QA7dtvO0t7wyxt/BX1gB+XEytE2px23B6eypFPsxV/7+f1npJVPh
mLjt7d5ylJl26k8V725JnSXcr5UpNKdYaxl8zU3+Z9qNRV9mhYZNc35+zqxb
zOdPhEv++h1hkw0Duaqicyx78h044QOpH9juQpwRF+0RU8TZRRuZcdtl/pfJ
izUImPkCUgLXUEHST60ip2RmH5AGYM+Y0Ta2y6ApDTB8YU0b6vpoRJnpxycZ
n9qlJ+rTC5IZIy7aOY2E2CyOGsJALxWXafo+Mx2CE5hpENqlQHUCiPWqrfkl
bD/a5JfeVtSX6Tn7OZ2mTYyAbZaWh2tX+spnlMbhfXcnal/7CYRuif/w6nJw
WZW+p2MoKiNnJyhdw8y3uBblIXPgH62DWGzSr1UYY7fnMt09stIOW9+EZ8GJ
0Facjq9n5LZpmD4UK8XglKkRX2wSpE6ovCE0ycZ4mFo1zd+E1jrrZqugj0O7
3cOwmbUy27u0gpeDgmVWdbtEKnxS/NN1cqpZDmrU7eQuYIt8jOW1NNUFU0rG
mQq8SynWAzKsj6Vw1UYsvNdtRf9R9mPFlJL6Uvlll4thA2u0gsp5HD73VUM4
9ttlxDayJvji3BXS2IAZ1bJmvBkYlqmlHrdjFDe1qqLR6H+eKnzTEpXqt57S
WbIQ2qWHSPImouM95jWcWSXfI4pkcLwiupmmVogNGUWNsFybHhnHI3rNIkCu
GbHe2iU/iKUfaTXO5n43k2kwzSQxoOcjZ38Yb8zsJxSxcaKmmXZqSEFI9yQ2
2akf5Z3N/ZxaZDd8mUVmyY8ojnLu4NguDC4MyyXl2Ku/5H997fO33+4GJ/ic
vkObDk25R0uyAxeyX3AMplUVqHKEEMYm0n4ooqo9ENvmXZJPoiKeQcSDeLby
QmUp9N9U50LFIcQWuC5AYIjH9g9yamzbF8+xTqE/88mpvg3z79sD26WvlpD3
ECxi7ALKlrepN4Idn8AnHcbDtLBWs3Mne57j4XPR1osF9021WjHlF0/G/08d
8fk77QJ9e1IK1ezE9TTuDPhNc5Zk442xOGD5ndFBSx2FIa24IVRhwH5FNo7+
z2xYGDjV162X97AbLPJZGWami4540c5NFeC/oU1WH3BzVp8oemUfzVKI8rOr
TWufcA2qWC3VzrrfVPfxKRLXdu6khM6og8sFatXobxeoMmIDPaEV4euwyhXY
ZfRHMdnwJLEQ5J+KtmYqH3RkXIW4se/K11GVtoWsR9Wf56r0TV0sr0Q+Vfm8
R63I1+9iDWXTfDCq7A72GVyqsRKz24UqaWnntKcn1p1lc0qodASNCoijZAAn
he7aexDrjCo+F3JaNiFLZthVHVERZrLusR3WCIUsPBuHxHe5afl+3b4jFAu1
AcsfJUzrAdkt4d1iPUpKY+OscXobzOUFASEWoiuFXUlTpgbiWjC3YAGP0ftx
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

-->

</rfc>
