<?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-00" category="std" consensus="true" submissionType="IETF" tocDepth="1" 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-00"/>
    <author initials="P." surname="Izmaylov" fullname="Pavel Izmaylov">
      <organization/>
      <address>
        <email>hello@prova.red</email>
      </address>
    </author>
    <date year="2026" month="October" day="06"/>
    <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>
      <?line 179?>

<t>Automated agents, such as artificial intelligence (AI) agents, act for
people. This document specifies records that let anyone check, later
and offline, what an agent was allowed to do and what it recorded
doing: a permission a person signs with a passkey, with limits a
machine can check; a receipt the agent signs for each action, with
Ed25519 and the post-quantum Module-Lattice-Based Digital Signature
Algorithm (ML-DSA-87); and a log whose tree head is signed and
time-stamped. A verifier says whether each action stayed within its
permission, apart from whether the records are sound.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 191?>

<t>Note to the RFC Editor: please remove this note before publication.</t>
      <t>The contribution is the content model and the comparison rule: a
principal-signed permission with limits a machine can check,
acknowledged cancellation, and a verifier that says whether each
action, a helper agent's included, stayed within it. The JSON Web
Signature (JWS) encoding is not essential; a CBOR Object Signing and
Encryption (COSE) form and a Supply Chain Integrity, Transparency, and
Trust (SCITT) registration profile can be added if a working group
prefers them.</t>
      <t>Comments are welcome, in writing: by email to the author, or as issues
at https://github.com/provared/provared/issues.</t>
    </note>
  </front>
  <middle>
    <?line 207?>

<section anchor="intro">
      <name>Introduction</name>
      <t>When an automated agent acts for a person, the questions asked
afterwards 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, with tokens that are not
kept. This document is about records that a third party can verify
later, with no 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 records reuse JSON Web Signature (JWS) <xref target="RFC7515"/> over JavaScript
Object Notation (JSON) in one canonical form <xref target="RFC8785"/>, the Merkle
tree of <xref target="RFC9162"/>, and time-stamps from a Time-Stamping Authority
(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
and delegation that only narrows. This document adds limits a machine
can check (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) to a permission the
principal signs with a passkey <xref target="WebAuthn"/>; acknowledged cancellation;
and a verifier that says whether each recorded action, a helper agent's
included, stayed within them. The JWS encoding is not essential; a CBOR
Object Signing and Encryption (COSE) form and a Supply Chain Integrity,
Transparency, and Trust (SCITT) registration profile can be added if a
working group prefers them.</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>
      <?line -18?>

<t>The format's own names, as used in its labels and members, are given in
parentheses.</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 and deals with services, which
may countersign. A helper agent acts under a delegation.</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 SCITT Receipt (<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>Log:</dt>
        <dd>
          <t>A sequence of entries, one to a line, only ever added to ("book").</t>
        </dd>
        <dt>Recorder, signed tree head:</dt>
        <dd>
          <t>Whoever keeps a log; its signed statement of the log's size and root
("seal").</t>
        </dd>
        <dt>Verifier:</dt>
        <dd>
          <t>Anyone, or any software, that verifies records ("checker").</t>
        </dd>
        <dt>Digest:</dt>
        <dd>
          <t>The SHA-256 hash <xref target="FIPS180-4"/> of some bytes, in base64url.</t>
        </dd>
        <dt>Problem, sound:</dt>
        <dd>
          <t>A reason why an entry, or the log, cannot be relied on; an entry
with none is sound.</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>Intact:</dt>
        <dd>
          <t>Of a log: no problem was found and everything was verified
(<xref target="answers"/>).</t>
        </dd>
      </dl>
      <t>Base64url 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 reports that code
for it, unless it stopped at an earlier fault 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 line, and now and then 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 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>Given the principal's key thumbprint, the recorder's key-set digest and
the TSA's certificate digest, 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>
      <section anchor="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 record signed with a
passkey (<xref target="passkey"/>), also "header", which holds exactly
"authenticatorData" and "clientDataJSON" (bad-envelope). Each signature
covers the JWS Signing Input (<xref section="5.1" sectionFormat="of" target="RFC7515"/>) formed from
"protected" and "payload" as carried.</t>
        <t>The protected header of each signature, once decoded, <bcp14>MUST</bcp14> be exactly
the UTF-8 bytes of {"typ":"T","alg":"A"}, with no white space and the
two members in that order. 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 fixed (bad-signatures-layout).</t>
        <t>For each kind of record, with X as below, T is "vnd.provared.X.v0+json"
and the content's "type" is "provared.X.v0". A takes these values in
signature order, W being "prova.red/webauthn/v0":</t>
        <dl spacing="compact" indent="19">
          <dt>slip:</dt>
          <dd>
            <t>Permission: W</t>
          </dd>
          <dt>stub:</dt>
          <dd>
            <t>Action receipt: Ed25519, ML-DSA-87</t>
          </dd>
          <dt>countersignature:</dt>
          <dd>
            <t>Countersignature: Ed25519, ML-DSA-87</t>
          </dd>
          <dt>approval:</dt>
          <dd>
            <t>Approval: W</t>
          </dd>
          <dt>pass:</dt>
          <dd>
            <t>Delegation: Ed25519, ML-DSA-87</t>
          </dd>
          <dt>cancellation:</dt>
          <dd>
            <t>Cancellation: W</t>
          </dd>
          <dt>acknowledgement:</dt>
          <dd>
            <t>Acknowledgement: Ed25519, ML-DSA-87</t>
          </dd>
          <dt>seal:</dt>
          <dd>
            <t>Signed tree head: these two, then SLH-DSA-SHA2-256s</t>
          </dd>
        </dl>
        <t>Each label ends in "v0", so that a record of a later, frozen version
cannot be taken for a draft one. "typ" is the media type of the record
(<xref section="4.1.9" sectionFormat="of" target="RFC7515"/>), used for explicit typing
(<xref section="3.11" sectionFormat="of" target="RFC8725"/>); being signed, it stops a signature made
for one kind of record passing as another. "Ed25519" is registered by
<xref target="RFC9864"/> and "ML-DSA-87" by <xref target="RFC9964"/>. "SLH-DSA-SHA2-256s", named
in <xref target="FIPS205"/>, and "prova.red/webauthn/v0", a collision-resistant name
(<xref section="4.1.1" sectionFormat="of" target="RFC7515"/>), are not registered.</t>
      </section>
      <section anchor="content">
        <name>Content</name>
        <t>The content of a record is the decoded "payload". 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>"type" <bcp14>MUST</bcp14> match the labels (payload-type-mismatch). An object <bcp14>MUST</bcp14>
hold exactly the members listed for it, each in its stated form
(bad-field). Lengths of text are counted in Unicode code points.</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="values">
        <name>Values</name>
        <dl spacing="compact">
          <dt>Base64url:</dt>
          <dd>
            <t>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).</t>
          </dd>
          <dt>Identifier:</dt>
          <dd>
            <t>An "id" is 16 random bytes in base64url. No two records in a log hold
the same "id" (duplicate-id).</t>
          </dd>
          <dt>Time:</dt>
          <dd>
            <t>"YYYY-MM-DDTHH:MM:SSZ", an <xref target="RFC3339"/> date-time in Coordinated
Universal Time (UTC), to the second, with no fraction or offset. It
<bcp14>MUST</bcp14> exist: "2026-02-29", hour 24 and second 60 are refused
(bad-field).</t>
          </dd>
          <dt>Digests:</dt>
          <dd>
            <t>A record's digest is that of its content bytes as signed, covering
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 and never 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>Keys are JSON Web Keys (JWK) <xref target="RFC7517"/> of exactly these shapes, with
no other member (bad-key):</t>
        <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"/>, <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. The key set of an agent or a service is exactly Ed25519 then
ML-DSA-87; a recorder's adds SLH-DSA-SHA2-256s; a principal's passkey is
one ES256, RS256 or Ed25519 key.</t>
        <t>A verifier is told which principals it trusts by key thumbprints:
<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". It is told which recorders it
trusts by key-set digests: the digest of the key set written in the
canonical form.</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 payload: Ed25519
(<xref section="5.1" sectionFormat="of" target="RFC8032"/>, as <xref target="ed25519"/> requires), then ML-DSA-87
(pure ML-DSA.Verify of <xref target="FIPS204"/> with an empty context, as
<xref section="5" sectionFormat="of" target="RFC9964"/> requires). A signed tree head adds a third,
SLH-DSA-SHA2-256s (pure slh_verify of <xref target="FIPS205"/> with an empty
context). Each is verified with the key in the same place of the key
set that applies: 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; one that fails is a problem
(signature-invalid).</t>
        <t>A signature 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 verifiers choices, and verifiers that choose
differently disagree. 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, the identity among them; and</t>
          </li>
          <li>
            <t>accept only if S*B = R + k*A, with k the SHA-512 hash of R, A and
M reduced modulo L. A signature that satisfies only the equation
multiplied by the cofactor, 8*S*B = 8*R + 8*k*A, is refused.</t>
          </li>
        </ol>
        <t>These rules apply to every Ed25519 signature, a passkey's included; a
key of large order plus small order is not refused by them.</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. The signer asks the passkey for an assertion whose
challenge is the SHA-256 hash of the JWS Signing Input, with user
verification "required". It stores, in base64url and exactly as
returned, "authenticatorData" and "clientDataJSON" in "header", and the
signature in "signature".</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 free,
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 JWS
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) it is exactly 37 bytes (passkey-bad-data). Further bytes and
other flags are not examined. So the <xref target="WebAuthn"/> rule that "backup
state" (bit 4) is clear when "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, made with the Elliptic Curve Digital Signature Algorithm
(ECDSA) (<xref section="3.4" sectionFormat="of" target="RFC7518"/>), is stored as an ECDSA-Sig-Value
in strict Distinguished Encoding Rules (DER) <xref target="X690"/>. It is one SEQUENCE
with a one-byte length, two positive INTEGERs of 1 to 33 bytes in
their shortest form, nothing after (passkey-bad-data). Either value
of s that verifies is accepted. RS256 is
<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.</t>
      </section>
      <section anchor="relied">
        <name>Records Relied On</name>
        <t>An entry that relies on another record names it by its digest. That
record <bcp14>MUST</bcp14> be earlier in the log and sound. Otherwise the entry has a
problem: slip-missing or slip-unusable for a permission; pass-missing
for a delegation, or pass-mismatch if it is under another permission;
and cancellation-not-found for a cancellation. 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 required but
"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", below.</t>
        </dd>
        <dt>"agent":</dt>
        <dd>
          <t>Exactly "keys" (a key set) and "name", and optionally "software": 1
to 16 objects {"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, the second later than the first. 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 ID: 1 to 253 lower-case ASCII
letters, digits, "." and "-", beginning and ending with a letter or a
digit. "origin" is at most 300 characters. It <bcp14>MUST</bcp14> be equal to the
ASCII serialization (<xref section="6.2" sectionFormat="of" target="RFC6454"/>) of its own origin
(<xref section="4" sectionFormat="of" target="RFC6454"/>). So it has no path, no "/", no user
information, no default port, and no leading zero in a port.
Its scheme <bcp14>MUST</bcp14> be "https", or "http" with the host "localhost". Its
host <bcp14>MUST</bcp14> be "rpId" or end with "." and "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, such as those by which <xref target="FORMAT"/> covers
fields, is a problem for a verifier of this document alone (bad-field).</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 amounts added up: at most max
{"action","each","unit"}       no single amount above each
{"action","count"}             at most count receipts (count >= 1)
{"action","max","per","unit"}  as max, in any period of per seconds
{"action","count","per"}       as count, in any period of per seconds
]]></artwork>
        <t>"per" is from 1 to 31,622,400 seconds (366 days). No two limits have
the same "action", the same choice of "max", "each" or "count", and the
same "per" or none. 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. It may hold "above"
and "unit", which come together, need "action", and limit the
condition to amounts above "above". No two conditions have the same
"need" and the same "action" or none. "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", "with":</dt>
        <dd>
          <t>Optional: an amount; the "id" of a service.</t>
        </dd>
        <dt>"details":</dt>
        <dd>
          <t>Optional: 1 to 32 objects {"name", "sha256"}, the documents involved.</t>
        </dd>
        <dt>"approval", "pass":</dt>
        <dd>
          <t>Optional: the digest of an approval; 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>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
verifier of this document alone 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
means "this action happened with me". It is carried on the receipt's
log line 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 one is one-sided: a named
state, not a problem, showing what the agent said.</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 on the receipt's
line, and the receipt names it by its digest. The receipt <bcp14>MUST</bcp14> name the
approval on its line (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 on an earlier line (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", "id", "slip":</dt>
        <dd>
          <t>"provared.pass.v0"; an identifier; 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", "limits":</dt>
        <dd>
          <t>As in a permission, the limits naming only these actions.</t>
        </dd>
        <dt>"validFrom", "validUntil", "when":</dt>
        <dd>
          <t>Its validity, as in a permission; 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. It reports
pass-not-allowed if the depth exceeds "passes" (0 if absent), and
pass-wider if an action is not among its writer's, or its validity
starts earlier or ends later than the writer's. It reports
outside-valid-time if "when" is outside the writer's validity, and
after-cancellation as <xref target="cancellation"/> sets out.</t>
      <t>A receipt under a delegation is compared with the permission as the
agent's own receipts are, sharing their totals, conditions and
"never". It is also compared with its delegation, whose "actions",
"limits" and validity count as a permission's, and with every
delegation above it; each delegation's totals include everything
delegated from it. A finding code already given for the receipt is not
repeated. Receipts under or below a delegation reported
pass-not-allowed are reported pass-not-allowed. Since the limits of the
permission and of every delegation above always apply, a delegation
cannot widen a 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"}. It 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>Take the first cancellation of a permission in the log that is sound
when it is read, and whose passkey signature, and its permission's,
were verified. Every receipt and delegation under the permission after
it 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 verifier applying only this document 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 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="content"/>, with records as values
(line-not-canonical). It holds exactly the members of one kind of entry
(unknown-entry):</t>
        <t>"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". A verifier of this document alone
reports the four further kinds of <xref target="FORMAT"/> ("refusal", "terms",
"vouching", "withdrawal") as unknown-entry, and so never calls such a
log intact. Entries are numbered from 0. The same permission <bcp14>MUST NOT</bcp14> appear twice
(duplicate-slip), nor the same delegation (duplicate-id). A line <bcp14>MUST
NOT</bcp14> exceed 131,072 bytes, nor a log 100,000 entries (too-large).</t>
        <t>The leaves of the tree are the lines' bytes, without line feeds, 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 string there is the
base64url of an <xref target="RFC3161"/> TimeStampToken of at most 12,288 bytes,
whose "messageImprint" has the hashAlgorithm SHA-256 and a
hashedMessage equal to the 32 bytes of the record's digest, not hashed
again. An object there is a block time-stamp of <xref target="FORMAT"/>. It <bcp14>MUST</bcp14>
hold exactly "block" and "proof", each text (bad-field) in base64url
(bad-base64url); a verifier of this document alone does not count it,
and 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): definite
lengths in their shortest form; single-byte tags; every constructed
element exactly filled by its parts; 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; and genTime
and each certificate's validity times in the one form DER gives
them, naming a moment that exists. 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"/>) or ESSCertID (<xref target="RFC2634"/>), ESSCertIDv2
being used if both are present; the token carries the certificate
that its first identifier names (stamp-invalid);</t>
          </li>
          <li>
            <t>the signature over the signed attributes verifies with that
certificate's key (stamp-invalid). The methods are RSASSA-PKCS1-v1_5
(modulus of 2048 to 8192 bits, exponent of at most 32 bits) and
ECDSA on P-256 or P-384, the signature algorithm naming the signer's
digest algorithm (for RSA, also rsaEncryption); and Ed25519
<xref target="RFC8419"/>; and</t>
          </li>
          <li>
            <t>"genTime" lies within the certificate's validity, the seconds field
of any "accuracy" is at most 300, and no extension is critical
(stamp-invalid).</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; no time-stamp that does
not count may 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 signed tree head that is itself sound, it also shows that every entry
before the head existed by T. An entry existed by the earliest such
time of any later sound head. A verifier <bcp14>MUST</bcp14> say "existed by", never
"existed at", and <bcp14>MUST</bcp14> say which entries the last counted time-stamp
reaches. It <bcp14>MUST</bcp14> report as dated-after-stamp a head or a cancellation
dated more than 300 seconds after the earliest time its counted
time-stamps state. It <bcp14>MUST</bcp14> report so too an entry whose "when", or that
of a countersignature or approval on its line, is more than 300 seconds
after the time by which it 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. A
signature that fails is a problem.</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 envelope, labels, content and members,
and finds the records it relies on, in that order. At the first fault
there, it reports that fault's code and checks nothing further in that
entry. An entry's "id" is compared with earlier ones, and noted, once
its members are read, before the records it relies on are found (an
approval's, once it matches its receipt). Other faults of an entry (a signature, its place in a chain, a
countersignature, an approval, a repeated "id") are each 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 line 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 towards totals.</t>
        <t>Totals and counts without "per" are kept in log order over every
compared receipt for the action under the permission, in every chain,
the current one included. Once a total is exceeded, each later receipt
is reported too. A period is counted back from each receipt X stating
time t. With "per" P, it holds every receipt for the action, in any
chain and anywhere in the log, dated later than t minus P and earlier
than t; those dated t that come earlier in the log; and X. A later line
may state an earlier time, so these limits are settled once every
receipt has been read. There are no calendar days or time zones.</t>
      </section>
    </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"/> 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 afterwards.</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 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>A request for a working-group-forming session on Agent Use of
Delegation and Interaction Traceability (AUDIT) names
<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 as new work.
Permissions with limits could serve as input to it.</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. JWS JSON carries
several signatures, and JSON text suits a log of one entry to a line.
The content model does not depend on JWS; <xref target="related"/> describes how a
SCITT profile could carry it. 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 afterwards 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 block
chain; further date rules; and the principal's own copy of a
cancellation, handed to a verifier. 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; <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 form, with COSE_Sign (<xref section="4.1" sectionFormat="of" target="RFC9052"/>); 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.1.0, by the author, covers this document and <xref target="FORMAT"/>: a
library, a command-line verifier, a verification page that runs from
one file, samples with expected answers, and tests. Maturity: a first
version, marked as a draft. Licence: Apache License 2.0 (<xref target="FORMAT"/>:
Creative Commons Attribution 4.0); JavaScript for Node.js 24.7 or
later, with no dependencies. Location: https://github.com/provared/provared
(tag v0.1.0) and the npm package "provared". Contact: the author.
Date: published 5 October 2026; updated 6 October 2026. The rules of
<xref target="ed25519"/> were confirmed against it on Node.js 24.19.0 with OpenSSL
3.5.7. No independent implementation is known.</t>
      <t>Provared is used by the author as a trade mark; 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>A permission cannot be made or widened without the principal's
passkey, nor any other record made or changed without its signer's
keys; each signature covers a label naming the kind of record. A
receipt cannot be removed from the middle of its chain, moved within
its chain or changed unnoticed; its last receipts can be, unless a head held by
someone else covers them. Nothing before a signed tree head can be
changed, added or removed unnoticed by a verifier that holds a copy of
that head, or of its size and root, obtained other than from the
recorder. 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. Against anyone but the recorder, a permission gains
post-quantum protection once under a head whose keys the verifier
trusts: two of the head's three signatures are post-quantum and cover
its line.</t>
      <t>What the format 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. A
one-sided receipt, an acknowledgement, and the times in records,
which periods rest on, are the signer's word.</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; the same
approval or "id" in two logs is not detected.</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
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. A later head
covers earlier heads' lines, 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. 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 line 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. "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="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="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="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="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="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="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="11" month="September" year="2026"/>
            <abstract>
              <t>   This document describes JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for PQ/T
   hybrid composite signatures.  The composite algorithms described
   combine ML-DSA as the post-quantum component and either ECDSA or
   EdDSA as the traditional component.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-pq-composite-sigs-04"/>
        </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>Delegation Receipt Protocol for AI Agent Authorization</title>
            <author fullname="Ryan Nelson" initials="R." surname="Nelson">
              <organization>Authproof</organization>
            </author>
            <date day="13" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the Delegation Receipt Protocol (DRP), a
   cryptographic authorization primitive for AI agent deployments.
   Before any agent action executes, the authorizing user signs an
   Authorization Object containing scope boundaries, time window,
   operator instruction hash, and model state commitment.  This signed
   receipt is published to an append-only log before the agent runtime
   receives control.  The protocol reduces reliance on the operator as a
   trusted intermediary by making the user's private key the sole
   signing authority over the delegation record.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-nelson-agent-delegation-receipts-10"/>
        </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>
            <date day="11" month="April" 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 v4.0, and
   MiFID II.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-emirdag-scitt-ai-agent-execution-00"/>
        </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.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="FORMAT" target="https://github.com/provared/provared/blob/v0.1.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="05"/>
          </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>
    <?line 1366?>

<section anchor="codes">
      <name>Codes</name>
      <t>Any record (<xref target="common"/>): not-json (not JSON; empty; byte order mark); bad-envelope (envelope members); bad-base64url (not strict base64url); too-large (over a size limit); unknown-type (unknown label); payload-type-mismatch (other kind of record); bad-signatures-layout (signatures in wrong number or order); payload-not-canonical (not canonical); bad-field (member missing, unknown or malformed); bad-key (key shape); signature-invalid (signature fails); 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"/>): line-not-canonical (line not canonical); 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 on the line); 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 it was not given.</t>
        </dd>
        <dt>"conceal":</dt>
        <dd>
          <t>Never hide, alter or leave out its own records.</t>
        </dd>
        <dt>"deceive":</dt>
        <dd>
          <t>Never state what it 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>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA82963Lj2LEl/B9PgWH/sOQhWbpXlWT7jFql7pZdt1NSue0Z
z+eASEiERQI0AEqtVtR5lnmWebLJtTL3BSBV3T4TE/F1OFwUsLEvuXPnPXOP
RqOkLdp5fpwOLovbMp+mH/N6UTRNUZVNmpXT9HTSyu/0Uz7Ji2XbpDdVnZ6u
2mqRtdL69DYv22aQZNfXdX4vvfBB1In/cJBMq0mZLWSoaZ3dtKPi50X2OK/u
Rxk+GS39J6PaPhnt7CQTGea2qh+P06adJsWyPk7betW0ezs7r3f2kmZ1bV+1
j0vp+uL86rskq/PsOL3MJ6u6aB+Tu/zxoaqnx0k6Sk8vUg6H39mqnVV18XPG
Beb3xTQvJzneTPN5fsvH+Mumg59tnZXNUvovJ4/pvLrFs2XVtKN/rrKyXS2S
phWY/T2bV6VM5jFvkmUh46ZtNdE/+XOaL9vZcborfzVV3db5TePeNo+L8Gei
M+TEFXIfs/t8nl4Y5KR9WpTS+OO48yxfZMX8OJ3l83n135Z1dZ+N63yaJGVV
y64V9zmm9Om7s73d3df289XuywP39Gjf/dzfPdp1P/f3XduDo4NX9vNwZ//Q
/Tw63HM/X+0e2c+jg0PX2cvD3cPw82X46Tp7ebTvfr7a2d8LP13bVwdhvi9f
uc5e7x65tq9fHbnRXr/Wn99dfLzcfbUz4h8CfYfsQI48/SFrZukl9iyrp+nW
5Q+X2wO285Dnf1V9e5y+J0JkAv6ykW5WbZ5WN/5jPSxX+WRWVoIYj/xyKsh7
nO7t7B6Odl7xSZPXRd4U5U3l+sYEBRcwRXvy5sOFPNgZH+3svXrx/uLyaow2
Y9cEf+zt9Nbzrpqu5vnobda2xSQffZs1cjjfFLdFKxPGyc5arNfN9v/FIvcO
fmmRA5n24OuLlBZ+iYe9LWtloHneNNy1//8u8fAXl3goDX7Mr4WKzsruGuUp
iOtMKFQx4TyP09MyPf14QbqbTSay/qK8TT+urufFJP1T/pieydlG+2zeCJ14
m4NC7D+7+h+rej5NfxRahymkZ0LmhQQVQro6Cz2ShY72DnVyWX2bt0JP2nbZ
HL948fDwMH7YH0t3L64+vUDjF5/Oz0YP+TXGK0f7IzzbebV3+OIZWP24f3ac
PvONNPnL0eudLlwu5GPSLiHUrd8b0PPL9+PdVMhxNQVYajkEQg8vl/mkuDEI
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
02VAPqTtc0b7/wOc8q+z/vQAAA==

-->

</rfc>
