<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mih-sokolov-scitt-payload-binding-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Canonical Payload Binding">Canonical Payload Binding: A Signed Statement Construction Profile</title>
    <seriesInfo name="Internet-Draft" value="draft-mih-sokolov-scitt-payload-binding-02"/>
    <author initials="S." surname="Mih" fullname="Steven Mih">
      <organization>Action State Group, Inc.</organization>
      <address>
        <email>spec@actionstate.ai</email>
      </address>
    </author>
    <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
      <organization>Tyche Institute</organization>
      <address>
        <email>anton.sokolov@tyche.institute</email>
      </address>
    </author>
    <date year="2026" month="August" day="24"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>SCITT</keyword>
    <keyword>canonicalization</keyword>
    <keyword>payload binding</keyword>
    <keyword>derived identifier</keyword>
    <keyword>typed digest reference</keyword>
    <abstract>
      <?line 103?>

<t>Independently written systems that anchor records to a SCITT Transparency
Service repeatedly re-derive the same construction: a canonical form of
structured content, a content-addressed identifier derived from that form, a
receipt placed in the unprotected header of the Signed Statement, and a typed
reference mechanism that lets one record cite another by digest across profile
boundaries. This document defines that construction as a reusable profile —
the Canonical Payload Binding — so that each payload class declares its
canonicalization algorithm and exclusion set once, obtains an interoperable
derived identifier, and inherits statement-to-receipt binding and typed
digest reference semantics without restating the mechanics in every profile.
It complements the COSE Hash Envelope mechanism defined in RFC 9995: where
that mechanism signals that a Signed Statement's payload is a digest
standing in for content held elsewhere, this document defines how that
digest is computed from structured content so that independently written
implementations converge on the same bytes. An IANA registry governs the canonicalization
algorithms; entries are immutable. This document defines no payload content
formats and registers no artifact types; the artifact types that a typed
reference may cite, and their meaning, are registered in a single shared
Artifact Type Registry, governed separately from this document, that
payload profiles register into.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 126?>

<t>This document is an individual submission. The intended venue is the SCITT
Working Group (scitt@ietf.org). Named attributions and acknowledgments in this document were individually
confirmed in writing by the named parties.
The short name "Canonical Payload Binding" and the document title are
expected to be settled by the adopting working group.</t>
      <t>The source of this document and the companion interop record are maintained
at: https://github.com/action-state-group/scitt-payload-binding</t>
    </note>
  </front>
  <middle>
    <?line 137?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Systems that anchor structured content to a SCITT Transparency Service
<xref target="RFC9943"/> face a common sub-problem: how does a producer turn a JSON or
CBOR object into a content-addressed Signed Statement whose identifier
survives serialization, and how does a verifier check that the identifier
in hand matches the bytes in hand? Each answer involves the same four
moves — canonicalize, derive an identifier, bind a receipt, cite externals
by digest — but they have been restated independently in every profile that
needed them, with small variations that defeat interoperability.</t>
      <t>This document extracts those four moves into a single reusable profile
called the Canonical Payload Binding (CPB). CPB is the missing piece the COSE
Hash Envelope mechanism <xref target="RFC9995"/> deliberately leaves open: RFC 9995 defines
how a Signed Statement signals that its payload field carries a hash rather
than the content itself, but it does not say how that hash is computed from
structured content so that two independently written implementations arrive
at the same bytes. CPB fills that gap and stops there — it defines the
canonicalization algorithm, the derived identifier it produces, the binding
of that identifier to a Signed Statement and its Receipt, and a typed
reference mechanism for citing other digests, and it defines nothing about
what the hashed content means. CPB is derived from
<xref target="I-D.mih-scitt-agent-action-capsule"/> (§Conventions, §envelope, §registration,
§identity), which first stated the construction in a SCITT context, and
generalized at the IETF 126 hackathon in Vienna, where seven parties
participated in the public interop program. The public record reports four
codebases demonstrating byte agreement in specific shared, declared contexts.
Other frozen artifacts retained separately declared digest contexts. ORPRG
retained its CP-JSON-2 context and was represented in the interop design through a typed reference rather
than through an assertion of cross-profile digest equality. Digests remain
governed by their original contexts; CPB does not relabel an ORPRG CP-JSON-2
commitment as a CPB canonicalization algorithm's output. The provenance is
stated here once and not repeated in subsequent sections.</t>
      <t>For generic citation-binding verification, a CPB verifier can process a
typed reference to any artifact type whose digest context it can resolve.
Whether a particular citation slot permits that artifact type is determined
by the consuming profile. Artifact-specific appraisal, authorization
semantics, and application integration remain separate.</t>
      <t>Supporting a new artifact type requires no change to this document's
citation-binding algorithm. Declaring the type, its digest context, and its
meaning is a matter for the payload profile that defines it; it may also
require consuming-profile integration and artifact-specific appraisal.</t>
      <section anchor="outofscope">
        <name>Out of Scope</name>
        <t>This document does not define:</t>
        <ul spacing="normal">
          <li>
            <t>Payload semantics — what fields a payload contains, what their values mean,
or what verdicts or decisions are carried. Those belong to payload profiles
that use CPB as their binding layer.</t>
          </li>
          <li>
            <t>Artifact types and their digest contexts — which named categories of
structured content exist, what fields and exclusion sets each declares,
and which purpose labels its digest contexts use. Artifact types are
registered in the shared Artifact Type Registry, governed separately from
this document; CPB defines only the algorithms and the typed-reference
container they use. (See <xref target="I-D.mih-scitt-agent-action-capsule"/> for an
example payload profile that registers artifact types there.)</t>
          </li>
          <li>
            <t>Application meaning — the real-world interpretation of any record
anchored via this construction.</t>
          </li>
          <li>
            <t>Transparency Service registration policy — which records a Transparency
Service will or must accept. Registration policy is a Transparency Service
concern, not a statement profile concern.</t>
          </li>
          <li>
            <t>Transports — how registration requests or retrieval queries travel between
producers, Transparency Services, or verifiers.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="changes-01">
      <name>Changes from -01</name>
      <t>The most consequential correction since -01 is registry-level: the registry
was re-derived from what the field actually built, not from what -01
originally specified. <tt>jcs-n</tt>, live and Registered in -01, is withdrawn;
<tt>jcs</tt> — the construction every independent implementation actually
converged on — is registered in its place. The rest of this revision
consolidates registry, canonicalization, and conformance-checker work
landed since -01 was posted, and rescopes the document to its charter.</t>
      <t><strong>Charter rescope.</strong> This document no longer normatively defines the
Artifact Type Registry or any artifact-type-specific payload-shape rule.
What changes is governance ownership, not location: <tt>REGISTRY.md</tt> does not
move, and stays in this repository as the shared home for both registries
this document's ecosystem uses. The Canonicalization Algorithm Registry
(<xref target="iana-alg"/>) remains CPB-normative. The Artifact Type Registry — its
registration template, the purpose-label vocabulary, and both live entries
(<tt>agent-action-capsule</tt>, <tt>machine-mandate</tt>) — is governed separately, by
its own Designated Expert checklist and registration rungs already stated
in <tt>REGISTRY.md</tt>, and this document references that registry rather than
defining it. It is a single shared registry, not a per-profile one:
<xref target="I-D.mih-scitt-agent-action-capsule"/> registers artifact types there
alongside any other payload profile that wants to, each citing a CPB
algorithm for its canonicalization; no one profile owns the registry. The worked walkthrough
of Artifact-Type-Registry governance (Specification Required / Designated
Expert / third-party registration) that -01 carried as an appendix is
removed from this document, not moved — it belongs beside the registry it
documents, in <tt>REGISTRY.md</tt>, where it already lives. This document now
anchors <xref target="RFC9995"/> and keeps only the canonicalization algorithm(s), the
derived identifier, Signed-Statement and Receipt binding, and the typed
digest-reference container; the Abstract's former claim that this document
governs "the artifact types" is corrected.</t>
      <t><strong>Registry.</strong></t>
      <ul spacing="normal">
        <li>
          <t>A machine-readable <tt>registry.json</tt> is now generated by CI from
<tt>REGISTRY.md</tt>; releases pin a snapshot. A lookup against an identifier
absent from the pinned snapshot but potentially valid in a later snapshot
now returns a distinct verdict, <tt>id-unknown-to-snapshot</tt>, rather than
being indistinguishable from a genuinely unknown identifier.</t>
        </li>
        <li>
          <t><tt>REGISTRY.md</tt> gained an onboarding ladder and a controlled entry-status
vocabulary (<tt>owner-confirmed</tt>, <tt>third-party-documented</tt>, <tt>provisional</tt>,
<tt>standards-referenced</tt>), a three-rung registration path (owner-authored /
third-party-documented / provisional) with a template, lifecycle, and
removal/correction path, and Designated Expert review stated explicitly
as a precondition of merging an entry rather than a status a merged entry
can still assert. This infrastructure is shared by every registry this
file hosts, including the shared Artifact Type Registry, which
<xref target="I-D.mih-scitt-agent-action-capsule"/> registers into alongside every
other payload profile that does — no single profile owns it.</t>
        </li>
        <li>
          <t>The registry generator and validator now source legal status values from
<tt>REGISTRY.md</tt> itself instead of a hardcoded list, and reject a malformed
table row (mismatched cell/header count) closed instead of silently
mis-assigning columns; a small number of rows that predate the controlled
vocabulary are named explicitly as the only ones permitted a legacy
status spelling.</t>
        </li>
        <li>
          <t>A <tt>Reserved</tt> placeholder token no longer reads as <tt>Verified</tt>: registry
lookups previously returned a "verified" verdict on entry presence alone;
a distinct <tt>VERDICT_RESERVED</tt> verdict now applies to any entry present
but not in <tt>Registered</tt> status.</t>
        </li>
        <li>
          <t>The required-fields table, the "immutable" language, and the
upgrade-acknowledgment gate were corrected: the required-fields table is
scoped to new entries; "immutable" is stated consistently as "immutable
in behavior"; and the acknowledgment gate now requires the same
consuming-profile acknowledgment for an upgrade to <tt>owner-confirmed</tt> that
it already required for initial admission, closing a path where an owner
could file without an acknowledgment and self-acknowledge afterward.</t>
        </li>
      </ul>
      <t><strong>Canonicalization algorithms.</strong> <tt>jcs</tt> — plain RFC 8785 JCS, no
normalization pass — is registered (<xref target="algo-jcs"/>), with a named consuming
profile and a discriminating vector against <tt>jcs-n</tt>: one payload carrying a
null member and an empty array (<tt>jcs</tt> preserves both, <tt>jcs-n</tt> stripped
them) plus a float member (<tt>jcs</tt> admits it, <tt>jcs-n</tt> rejected it), failing
loudly in both directions. <tt>jcs-n</tt> is withdrawn (<xref target="algo-jcs-n"/>) — the same
terminal-marking disposition <tt>cde-n</tt> already carried in -01 — following an
implementer census (the reference implementation was the only implementer
of the normalization step it added), a byte audit showing 191 of 203
evaluated records were byte-identical under plain <tt>jcs</tt> without that step,
the 12 divergent records being proof-of-concept artefacts retained by
vintage, and the admission bar this revision applies to every entry: a
named consuming profile. Separately,
a cross-language conformance harness (<tt>vectors/CANONICALIZATION_DECLARATION.md</tt>)
versions <tt>jcs-n</tt>'s construction precisely enough for an independent
implementation to conform against without reading the reference library;
it stands as part of the permanent historical record for the now-withdrawn
algorithm. The lowercase-<tt>\u</tt> string-escaping rule and the corresponding
control-character sort order — properties of RFC 8785 JCS itself, and
therefore shared by <tt>jcs</tt> and the withdrawn <tt>jcs-n</tt> alike — are now stated
in prose and cross-linked from <tt>REGISTRY.md</tt>. The shared JCS serialization
helper also now rejects non-finite numeric values (<tt>Infinity</tt>, <tt>-Infinity</tt>,
<tt>NaN</tt>) before serialization, consistent with RFC 8785 Section 3.2.2.3
admitting finite values only.</t>
      <t><strong>Digest determinism and typed references.</strong> Two paragraphs now state
explicitly what -01 only implied: each algorithm entry and each artifact
type's digest-context declaration names exactly one hash algorithm, so
<tt>digest_alg</tt> is fully determined by <tt>type</tt> (together with <tt>purpose</tt> where
needed) for any registered reference, and a verifier encountering a
<tt>digest_alg</tt> inconsistent with the resolved context MUST treat it as a
failure and MUST NOT attempt to reconcile it (<xref target="comparability"/>). A
MUST-FAIL/PASS vector pair pins that an assembled pre-image — one built
from selected source fields rather than the payload minus an exclusion
set — is under-determined by algorithm and field set alone; producer-chosen
member naming and nesting are part of the bytes. Two conformance-checker
categories exercise this: recomputing both pinned pre-images and asserting
they diverge for exactly the demonstrated reason, and applying a declared
<tt>member_mapping</tt> to assert it reproduces the vector's own input. Contributed
by Rul1an as an external submission, reproduced independently against the
reference canonicalizer.</t>
      <t><strong>Conformance checker.</strong> A grammar/wire-layer conformance checker
(<tt>cpb-check</tt>) validates a record against its declared profile grammar — a
presence-and-number-form walk and duplicate-key rejection — built around a
duplicate-preserving raw-bytes lexer, since a standard JSON parser silently
drops duplicate keys before any rule can see them; digest recomputation and
<tt>canonicalization_id</tt> resolution remain out of scope pending a later gate.
Vector-harness fixes landed alongside it: the lexer now rejects trailing
bytes after a JSON document ends and NFC-normalizes before duplicate-key
detection, and an inverted must-fail assertion and a <tt>-0</tt>/duplicate-key gap
that could previously let the harness certify a vector as passing for the
wrong reason are both closed.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals,
as shown here.</t>
      <dl>
        <dt>Payload Class:</dt>
        <dd>
          <t>A named category of structured content that has declared a canonicalization
algorithm (from the registry in <xref target="iana-alg"/>) and an exclusion set of
fields that are omitted from the canonical form before the derived
identifier is computed. A payload class is declared by the payload profile
that defines it; this document does not maintain a registry of payload
classes or artifact types.</t>
        </dd>
        <dt>Derived Identifier:</dt>
        <dd>
          <t>The content-address of a payload: the output of CANONICAL-DIGEST applied
to the canonical form of the payload with the exclusion set removed.
Verifiers MUST recompute the derived identifier from the payload bytes;
a carried derived-identifier value is advisory only and a mismatch is a
defect.</t>
        </dd>
        <dt>Digest Context:</dt>
        <dd>
          <t>The complete set of parameters that determine how a digest was computed:
the field set selected, the exclusion set applied, the canonicalization
algorithm applied, any domain separation, the encoding of the pre-image,
and the representation of the output. Two digest values are comparable
only when their full digest contexts are established as compatible. A
payload class or artifact type MAY declare more than one digest context
over the same payload, each serving a distinct purpose declared by the
payload profile that defines the class or type; the contexts are
independent and MUST NOT be conflated.</t>
        </dd>
        <dt>CANONICAL-DIGEST:</dt>
        <dd>
          <t>A function parameterized by a canonicalization algorithm A: for any such
algorithm A and payload v, CANONICAL-DIGEST(A, v) = ENCODE_A(H_A(A(v))),
where H_A is the digest function and ENCODE_A the output encoding
declared by A's entry in the Canonicalization Algorithm Registry
(<xref target="iana-alg"/>). Every entry registered by this document declares SHA-256
and 64-character lowercase hexadecimal; an entry registered by a later
document MAY declare another digest function or encoding, and a verifier
MUST read both from the entry rather than assuming them. A(v) is the
octet string produced by the algorithm applied to v; the specific
pre-image construction — field selection, normalization, and encoding —
is part of A's definition and is registered per <xref target="iana-alg"/>.</t>
        </dd>
        <dt>Signed Statement:</dt>
        <dd>
          <t>A COSE_Sign1 object <xref target="RFC9052"/> that carries a payload, a protected
header, and an optional unprotected header; defined in <xref target="RFC9943"/>.</t>
        </dd>
        <dt>Receipt:</dt>
        <dd>
          <t>A COSE structure produced by a Transparency Service that provides
verifiable evidence that a Signed Statement was registered; defined in
<xref target="RFC9943"/> and format-governed by the Verifiable Data Structure of the
service.</t>
        </dd>
        <dt>Transparent Statement:</dt>
        <dd>
          <t>A Signed Statement to whose unprotected header one or more Receipts have
been attached.</t>
        </dd>
        <dt>Verifier:</dt>
        <dd>
          <t>Any party that validates a record from its bytes, without trusting the
producer.</t>
        </dd>
      </dl>
    </section>
    <section anchor="algorithms">
      <name>Payload Canonicalization Algorithms</name>
      <t>A canonicalization algorithm specifies how to produce a canonical octet string
from a structured value. The canonical octet string is the pre-image to
CANONICAL-DIGEST. A payload class declares exactly one canonicalization
algorithm; verifiers MUST NOT guess the algorithm from the payload shape.</t>
      <t>The algorithms defined in this document and registered in the Canonicalization
Algorithm Registry (<xref target="iana-alg"/>) are:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Summary</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">jcs</td>
            <td align="left">Plain RFC 8785 JCS, no normalization pass; SHA-256; lowercase hex output</td>
            <td align="left">
              <xref target="algo-jcs"/></td>
          </tr>
          <tr>
            <td align="left">jcs-n</td>
            <td align="left">Withdrawn -- JCS + absent-field normalization; never carried to IANA</td>
            <td align="left">
              <xref target="algo-jcs-n"/> (withdrawn)</td>
          </tr>
          <tr>
            <td align="left">cde-n</td>
            <td align="left">Withdrawn -- token reserved, never assigned a definition</td>
            <td align="left">
              <xref target="algo-cde-n"/> (withdrawn)</td>
          </tr>
          <tr>
            <td align="left">as-transmitted</td>
            <td align="left">No canonicalization; digest over a byte sequence fixed by a cited named production in the container format; SHA-256; 64-character lowercase hex</td>
            <td align="left">
              <xref target="algo-as-transmitted"/></td>
          </tr>
        </tbody>
      </table>
      <t>Entries in the Canonicalization Algorithm Registry are immutable: new
behavior requires a new entry, never a retroactive edit to an existing one.
A reserved entry binds its token only; its summary is provisional until the
entry is defined, at which point the full entry becomes immutable. A reserved
entry may instead be withdrawn (<xref target="algo-cde-n"/>, <xref target="algo-jcs-n"/>), which is
terminal: the token stays bound, no definition is ever assigned (or, for an
entry that was already defined, no further definition ever attaches to it),
and the name is not reassigned. The hash function is part of each algorithm's
definition; migration to a different hash (for example, a future
post-quantum function) is performed by registering a new algorithm entry,
never by reinterpreting an existing one.</t>
      <section anchor="algo-jcs">
        <name>Algorithm jcs</name>
        <t>Algorithm <tt>jcs</tt> is the JSON Canonicalization Scheme <xref target="RFC8785"/> applied
directly to the payload, with no normalization pass: no member is removed
because its value is JSON null, an empty array, or an empty object.</t>
        <t>Pre-image construction:</t>
        <ol spacing="normal" type="1"><li>
            <t>Apply JCS <xref target="RFC8785"/> to the octets supplied to the algorithm, to
produce the canonical UTF-8 octet string. Exclusion-set removal is not
part of this algorithm: the derived identifier construction
(<xref target="derived-id"/>) removes the payload class's declared exclusion set
before invoking the algorithm.</t>
          </li>
          <li>
            <t>Compute SHA-256 over those octets.</t>
          </li>
          <li>
            <t>Encode the digest as lowercase hexadecimal. The output is a 64-character
ASCII string.</t>
          </li>
        </ol>
        <t>The CANONICAL-DIGEST of a payload P using <tt>jcs</tt> is therefore:</t>
        <artwork><![CDATA[
CANONICAL-DIGEST(jcs, P) =
    lowercase_hex(SHA-256(JCS(P)))
]]></artwork>
        <t>The exclusion set is matched against the top-level member names of P only;
a member of the same name nested inside a member's value is not removed.</t>
        <t><tt>jcs</tt> places no additional restriction on JSON numbers beyond RFC 8785 itself:
a JSON floating-point number is permitted and is serialized per the
canonical ECMAScript-based number-to-string procedure RFC 8785 <xref target="RFC8785"/>
Section 3.2.2.3 defines for IEEE 754 double-precision values. Two conforming
implementations that parse the same numeric literal into the same
double-precision value therefore produce byte-identical output; see
<xref target="floats"/>. A payload profile MAY still declare its own stricter constraint
(for example, requiring monetary fields to be exact decimal strings) — such a
constraint is a payload-profile decision, not a requirement of this
algorithm.</t>
      </section>
      <section anchor="algo-jcs-n">
        <name>Algorithm jcs-n (Withdrawn)</name>
        <t>Algorithm <tt>jcs-n</tt> is withdrawn (2026-08-18) -- terminal marking, never
deletion: the token stays bound, the definition it once carried is not
reassigned, and it is never carried forward to IANA. That is a terminal
marking that <tt>cde-n</tt> (<xref target="algo-cde-n"/>) also carries, though on different
facts: <tt>cde-n</tt> never acquired a definition, while <tt>jcs-n</tt> did and its
records remain verifiable by vintage. <tt>jcs-n</tt> applied JCS <xref target="RFC8785"/> to an
absent-field-normalized JSON object -- the normalization step removed,
bottom-up and recursively, every member whose value was JSON null, an empty
array, or an empty object, before JCS serialization. The full original
construction is the permanent record in
draft-mih-sokolov-scitt-payload-binding-00, Section 3.1, and is not restated
here.</t>
        <t>The withdrawal followed from an implementer census (the reference
implementation was the only implementer of the normalization step), a byte
audit showing 191 of 203 evaluated records were byte-identical under plain
<tt>jcs</tt> without it, the 12 divergent records being proof-of-concept artefacts
retained by vintage, and the admission bar this document now applies to
every entry: a named
consuming profile. <tt>jcs</tt> (<xref target="algo-jcs"/>) is the entry that replaces it going
forward; a payload class or typed digest reference that named <tt>jcs-n</tt> used
the withdrawn construction described above, and a party citing that
historical construction going forward registers a new entry rather than
resuming use of this token.</t>
        <t>Withdrawal forecloses new declarations of <tt>jcs-n</tt>; it does not
retroactively invalidate records already sealed under it. A payload class
or typed digest reference that names <tt>jcs-n</tt> MUST NOT be newly declared. A
verifier encountering <tt>jcs-n</tt> in a record committed on or after 2026-08-18
MUST fail closed — MUST NOT report the payload class or typed digest
reference as verified. A verifier encountering <tt>jcs-n</tt> in a record
committed before 2026-08-18 MAY verify it against the withdrawn
construction as that construction is permanently recorded in
draft-mih-sokolov-scitt-payload-binding-00, Section 3.1; such a record is a
historical record, not a live conformance case, and a verifier that
declines to implement the withdrawn construction MUST report the reference
as unverified rather than as failed. A historical identifier MUST NOT be
relabelled to another algorithm token or recomputed under another
algorithm.</t>
      </section>
      <section anchor="algo-cde-n">
        <name>Algorithm cde-n (Withdrawn)</name>
        <t>Algorithm <tt>cde-n</tt> is withdrawn. It is a recorded terminal state, not a
deletion: the token was reserved for a deterministic CBOR canonicalization
profile, but it was never assigned a definition, and it will not be. The
entry remains in the Canonicalization Algorithm Registry (<xref target="iana-alg"/>) as
withdrawn -- the reserved entry bound the token, so the token stays bound,
never assigned, never reassigned. A future deterministic CBOR
canonicalization profile, if one is specified, is registered under a new
token rather than by assigning a definition to <tt>cde-n</tt>.</t>
        <t>A payload class or typed digest reference that names <tt>cde-n</tt> cannot be
verified: the token names no defined algorithm and never will, so a
verifier encountering it MUST fail closed — MUST NOT report the payload
class or typed digest reference as verified.</t>
      </section>
      <section anchor="algo-as-transmitted">
        <name>Algorithm as-transmitted</name>
        <t>Algorithm <tt>as-transmitted</tt> applies no canonicalization. The digest pre-image
is the exact octet sequence already fixed by the container format or
cryptographic envelope carrying the payload -- for example, the signing input
over which a signature was computed. The signature (or other format-defined
byte-fixing) is what makes those bytes authoritative; re-canonicalizing them
would be redundant at best and would break the very binding that makes the
bytes authoritative at worst.</t>
        <t>Because there is no canonicalization step, <tt>as-transmitted</tt> has no field set
and no exclusion set. An artifact type entry that declares <tt>as-transmitted</tt>
as its canonicalization algorithm MUST instead state a byte-boundary
selector in place of a field set: a normative reference plus the name that
referenced specification gives to the exact byte sequence in question. Two
examples of a valid selector:</t>
        <ul spacing="normal">
          <li>
            <t><tt>RFC 7515 §5.1, JWS Signing Input</tt> -- the octets a JWS signature is
computed over.</t>
          </li>
          <li>
            <t><tt>RFC 9052 §4.4, ToBeSigned</tt> -- the octets a COSE_Sign1 signature is
computed over.</t>
          </li>
        </ul>
        <t>A selector that is not a cited named production is prose, not a selector,
and this registry exists to eliminate exactly that kind of ambiguity: an
artifact type MUST NOT register <tt>as-transmitted</tt> on the strength of an
uncited description such as "the payload bytes." If the container
specification carrying the artifact does not itself name the exact byte
sequence as a discrete production, the artifact type MUST NOT use
<tt>as-transmitted</tt> -- it registers a canonicalization algorithm instead, one
that defines the pre-image construction from first principles.</t>
        <t>The CANONICAL-DIGEST of a byte sequence B identified by the declared
byte-boundary selector is:</t>
        <artwork><![CDATA[
CANONICAL-DIGEST(as-transmitted, B) = lowercase_hex(SHA-256(B))
]]></artwork>
        <t>Digest: SHA-256, 64-character lowercase hex, matching <tt>jcs</tt>. These are
stated explicitly here as part of this entry, not inherited silently from
the generic CANONICAL-DIGEST definition (<xref target="conventions"/>).</t>
      </section>
    </section>
    <section anchor="derived-id">
      <name>The Derived Identifier</name>
      <t>The derived identifier of a record is computed as:</t>
      <artwork><![CDATA[
id = CANONICAL-DIGEST(A, payload minus exclusion_set)
]]></artwork>
      <t>where A is the canonicalization algorithm declared by the payload class and
the exclusion set is the set of fields declared by the payload class as
self-referential or chain-linkage fields. The derived identifier is a
64-character lowercase hex string for every algorithm this document
registers; for an algorithm registered elsewhere, its representation is the
one that algorithm's registry entry declares.</t>
      <t>The exclusion set MUST be declared by the payload class in its specification.
Fields excluded are those that either contain the derived identifier itself
(they cannot be inside the pre-image they help compute) or that reference
other records in a chain (to keep the content-address stable regardless of
what later chains to this record). The exclusion set is normative for the
payload class; a verifier MUST apply the same exclusion set as the producer.</t>
      <t>A producer MAY carry the derived identifier as a field in the payload.
A verifier MUST recompute the identifier from the payload bytes and the
declared exclusion set. If the recomputed value does not match the carried
value, the verifier MUST treat this as a defect in the record.</t>
      <t>When selective disclosure is in use, the derived identifier MUST be computed over the
SD-encoded form of the payload, not the plaintext payload. A payload profile MUST
declare non-eligible for selective disclosure any field that the profile's own verifier
requires in order to evaluate the binding.</t>
      <section anchor="representation">
        <name>Representation</name>
        <t>Representation is normative and MUST be declared by the payload class.
The following representations are distinct and are not implicitly
interchangeable:</t>
        <ul spacing="normal">
          <li>
            <t>bare 64-character lowercase hexadecimal text;</t>
          </li>
          <li>
            <t>prefixed textual representation; and</t>
          </li>
          <li>
            <t>raw 32-byte octet sequence.</t>
          </li>
        </ul>
        <t>A payload class MUST specify which representation it uses for each field
containing or referencing a derived identifier. A verifier MUST NOT
silently coerce among representations.</t>
        <t>A deterministic conversion MAY be applied only where this specification or
the applicable payload profile expressly defines both the conversion and
the resulting comparison representation. Such a conversion is an explicit
protocol operation and does not make the original representations
byte-identical.</t>
      </section>
    </section>
    <section anchor="envelope">
      <name>Envelope Conventions</name>
      <t>A Signed Statement carrying a CPB-bound payload MUST be a COSE_Sign1
<xref target="RFC9052"/> structure. The protected header MUST carry:</t>
      <ul spacing="normal">
        <li>
          <t><tt>alg</tt>: the signing algorithm.</t>
        </li>
        <li>
          <t><tt>kid</tt> or <tt>x5chain</tt>: the signing key identifier or certificate chain.</t>
        </li>
        <li>
          <t><tt>content_type</tt>: the media type of the payload, as <tt>application/CLASS+json</tt>
or <tt>application/CLASS+cbor</tt> according to the serialization the payload
class declares, where CLASS is the payload class name as declared by the
payload class's own defining specification.</t>
        </li>
      </ul>
      <t>A field belongs in the protected header only if a SCITT-generic party — a
Transparency Service registration policy or a profile-unaware verifier —
must act on it without understanding the payload class. Everything
semantically specific to the payload class stays in the payload.</t>
      <t>Protected-header claims are a closed set per payload class: extensions
are payload-only. A Transparency Service that does not understand a
protected-header extension MUST be able to register the Signed Statement
and verify the envelope without it.</t>
      <t>The closed-claim principle does not prevent payload-class-specific
protected-header fields from existing; it requires that such fields be
defined by the payload class specification, not added ad-hoc by producers.</t>
    </section>
    <section anchor="receipt-binding">
      <name>Statement-to-Receipt Binding</name>
      <t>A producer makes a record transparent by registering its Signed Statement
with a SCITT Transparency Service per <xref target="RFC9943"/> and attaching the returned
Receipt to the unprotected header, forming a Transparent Statement.</t>
      <t>This profile is VDS-agnostic at the statement layer. Receipt format and
proof verification are governed by the Verifiable Data Structure (VDS) of
the Transparency Service; this profile imposes no VDS requirement.</t>
      <t>A verifier MUST NOT report receipt-backed status without having verified
a Receipt from a Transparency Service under a key the verifier trusts.</t>
      <t>A verifier determining which VDS to apply when verifying a Receipt MUST
read the VDS identifier from the protected header of the Receipt. The
verifier MUST NOT infer the VDS from the COSE structure of the receipt
alone. Unknown VDS identifiers MUST be rejected.</t>
      <section anchor="leaf-rule">
        <name>Leaf Construction</name>
        <t>This profile imposes no leaf construction on a Verifiable Data Structure.
Where a Transparency Service's VDS keys its log on the derived identifier,
the derived identifier is a 32-byte value and its hexadecimal form is a
representation of that value (<xref target="representation"/>); a VDS or profile that
keys on it therefore states which of the two it uses, and producer and
verifier MUST use the same one. The following is the failure this
requirement exists to prevent.</t>
        <t>That is, for a derived identifier whose string value is a 64-character
hex string D, the log leaf input MUST be the raw 32-byte value:</t>
        <artwork><![CDATA[
leaf_input = bytes.fromhex(D)    -- correct: 32 raw bytes
]]></artwork>
        <t>The following is incorrect and MUST NOT be used:</t>
        <artwork><![CDATA[
leaf_input = D.encode("utf-8")  -- WRONG: 64 ASCII bytes
]]></artwork>
        <t>A verifier constructing the leaf for proof verification MUST apply the same
rule. Failure to distinguish the byte sequence from its hex encoding produces
a silently wrong leaf hash that fails inclusion verification against any
correct log.</t>
      </section>
    </section>
    <section anchor="typed-refs">
      <name>Typed Digest References</name>
      <t>A typed digest reference is the mechanism by which one record cites an
external artifact — another record, an authorization document, a
configuration object, or any other verifiable item — by its content-address
without embedding it.</t>
      <t>A typed digest reference is a JSON object with the following fields:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Field</th>
            <th align="left">Type</th>
            <th align="left">Req</th>
            <th align="left">Meaning</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">type</td>
            <td align="left">string</td>
            <td align="left">REQUIRED</td>
            <td align="left">The artifact type identifier. This document defines the reference container and its verification algorithm; it does not itself register artifact types or resolve <tt>type</tt> values to digest contexts. That resolution is provided by the shared Artifact Type Registry, into which the payload profile that declares the cited artifact type registers it (see <xref target="I-D.mih-scitt-agent-action-capsule"/> for an example).</td>
          </tr>
          <tr>
            <td align="left">purpose</td>
            <td align="left">string</td>
            <td align="left">CONDITIONAL</td>
            <td align="left">The purpose label selecting which of the artifact type's digest contexts this reference targets, drawn from the vocabulary the type's entry in the shared Artifact Type Registry defines. REQUIRED whenever the resolved artifact type declares more than one digest context. MAY be omitted only when the resolved artifact type declares exactly one digest context, in which case that single context applies; a verifier MUST NOT infer a default when more than one context is declared.</td>
          </tr>
          <tr>
            <td align="left">digest_alg</td>
            <td align="left">string</td>
            <td align="left">REQUIRED</td>
            <td align="left">The hash algorithm of the digest value (e.g., "SHA-256"). The canonicalization context of the cited artifact is resolved from the digest context selected by <tt>type</tt> and <tt>purpose</tt>, not from this field.</td>
          </tr>
          <tr>
            <td align="left">digest</td>
            <td align="left">string</td>
            <td align="left">REQUIRED</td>
            <td align="left">The digest of the cited artifact, in the representation declared by the selected digest context.</td>
          </tr>
        </tbody>
      </table>
      <t>Additional fields MAY be present and MUST be ignored by verifiers that do
not understand them.</t>
      <section anchor="comparability">
        <name>Cross-Profile Comparability</name>
        <t>Within typed-reference verification, the digest carried by the reference
and the digest recomputed over the referenced artifact are comparable only
when both are interpreted under the same established referenced-artifact
digest context and comparison representation.</t>
        <t>If the verifier cannot resolve a digest context for the value of <tt>type</tt>,
it MUST NOT report the typed reference as verified; the reference is
present but not verified. Two situations produce that outcome and a
verifier MUST distinguish them in what it reports, because they call for
different responses:</t>
        <ul spacing="normal">
          <li>
            <t>The type is absent from every registry the verifier consults. No payload
profile has declared a digest context under that name, and the citation
becomes verifiable only once one does.</t>
          </li>
          <li>
            <t>The type is declared somewhere, but absent from the particular registry
snapshot the verifier holds, which may predate an entry that does exist.
The remedy is to obtain a current snapshot, not to seek a new
registration.</t>
          </li>
        </ul>
        <t>A verifier that reports these as one condition sends an implementer to fix
the wrong thing. A verifier that cannot tell them apart -- because it holds
no snapshot version -- MUST report the weaker of the two, that its snapshot
may be stale.</t>
        <t>The consuming profile determines the disposition, and a profile MUST state
what it does with a present-but-not-verified reference. A citation carrying
an unresolvable <tt>type</tt> is not an error in the citing record. It is also not
evidence: <xref target="immutable-coordinates"/> requires that citations pin content by
CANONICAL-DIGEST precisely so that an unverified reference cannot be relied
on, so a profile MUST NOT treat "not an error" as permission to proceed as
though the reference had verified.</t>
        <t>To verify the reference, the verifier MUST use the <tt>type</tt> field, together
with the <tt>purpose</tt> field when the resolved artifact type declares more than
one digest context, to resolve exactly one of the referenced artifact's
declared digest contexts. If <tt>type</tt> resolves to more than one digest
context and <tt>purpose</tt> is absent, ambiguous (matching no purpose label the
resolved artifact type declares), or names a purpose label the resolved
artifact type does not declare, the reference is unresolvable: the verifier
MUST NOT guess a
context and MUST NOT report the typed reference as verified. It MUST confirm
that <tt>digest_alg</tt> identifies a hash algorithm consistent with the resolved
context.</t>
        <t><tt>digest_alg</tt> is REQUIRED even though every algorithm registered in
<xref target="iana-alg"/> today names the same hash, SHA-256: it is the field that lets
a future Canonicalization Algorithm Registry entry using a different hash
land as a new token without a breaking change to this wire format, rather
than being decorative because only one value is legal now.</t>
        <t>The hash algorithm is not chosen per-reference: each entry in the
Canonicalization Algorithm Registry names its hash function as an immutable
part of its definition (<xref target="algorithms"/>), and each artifact type's own
digest-context declaration names exactly one such algorithm. <tt>digest_alg</tt> is
therefore fully
determined by <tt>type</tt> (together with <tt>purpose</tt> where needed): a conforming
reference can only carry the hash algorithm the resolved digest context
mandates. It is a redundant consistency declaration by design — hash-in-algorithm
is what makes Canonicalization Algorithm Registry entries immutable and enables
long-term algorithm migration by registering a new entry rather than
reinterpreting an existing one.</t>
        <t>It MUST then recompute the referenced artifact's digest under that context and
compare the recomputed value with the value carried in the <tt>digest</tt> field.</t>
        <t><strong>Comparison is byte-for-byte.</strong> A verifier compares <tt>digest_alg</tt> against the
name the resolved digest context mandates as an exact octet sequence: no case
folding, no alias table, no whitespace trimming. <tt>sha-256</tt> does not match
<tt>SHA-256</tt>. The two IANA registries an implementer is likely to reach for
disagree on spelling for the same function, so a case-insensitive or
alias-tolerant comparison silently accepts a reference that names a different
registry's token — and once one implementation tolerates it, the field stops
being a consistency declaration and becomes decoration. The registered name is
the one the Canonicalization Algorithm Registry entry states.</t>
        <t>A <tt>digest_alg</tt> value that does not name the hash algorithm mandated by the
resolved digest context is a defect in the reference. The verifier MUST treat
this as a failure and MUST NOT attempt to reconcile the inconsistency — for
example, by silently proceeding with the algorithm the registry mandates and
ignoring the mislabeled field. More generally, if the context established from
the <tt>type</tt> and <tt>digest_alg</tt> fields cannot be reconciled with the context used
to recompute the referenced artifact, or if a required deterministic conversion
to a common comparison representation is not expressly defined, the verifier
MUST NOT report the typed reference as verified. The failure verdict is mandatory
at the verifier layer; the consuming profile determines the resulting error
disposition, but not the verdict itself.</t>
        <t>The citing record's own derived-identifier context need NOT be compatible
with the referenced artifact's digest context; those contexts govern
different computations.</t>
        <t>The two values actually being compared must share an established comparison
context. Bare hexadecimal equality alone is not a join.</t>
      </section>
      <section anchor="verification-scope">
        <name>Verification Scope</name>
        <t>Successful verification of a typed digest reference establishes content
binding to the referenced artifact under the declared digest context. CPB
verification alone MUST NOT be interpreted as establishing issuer authority,
artifact validity, scope, freshness, revocation status, policy compliance,
semantic acceptance, or application authorization. Any appraisal required
by the referenced artifact type or consuming application profile remains a
separate verification step. Missing, indeterminate, or failed required
appraisal MUST NOT be treated as authorization success.</t>
        <t>The interchangeability property of typed digest references -- that any
artifact type whose digest context can be resolved may fill a citation slot
-- applies to citation-binding interoperability only and does not extend to
any appraisal or authorization semantics defined by the artifact type or
consuming profile.</t>
      </section>
    </section>
    <section anchor="profile-independence">
      <name>Profile Independence</name>
      <t>A payload profile MUST NOT impose requirements on the internal structure or field
values of another payload profile. Relationships between artifacts of different types
are expressed solely through typed references (<xref target="typed-refs"/>) that resolve against
each artifact type's own digest-context declaration.</t>
      <t>This constraint keeps verification of a multi-artifact chain decomposable: a verifier
evaluates each binding under each profile's own semantics independently and never needs
to evaluate a pair of profiles jointly. Implementations therefore need not implement,
or be aware of, profiles they neither produce nor consume, and a new profile may declare
its own artifact types without revalidating existing profiles or implementations.</t>
    </section>
    <section anchor="discovery">
      <name>Discovery Mirror</name>
      <t>This section is informative.</t>
      <t>A producer MAY place an unprotected COSE header parameter that mirrors the
derived identifier of the record. This parameter is advisory only: it
allows log tooling, registration policies, and cross-grain citation to
locate a record's content-address without parsing the payload, but it
carries no binding guarantee.</t>
      <t>A verifier MUST recompute the derived identifier from the payload. A
mismatch between the advisory mirror value and the recomputed value is a
defect in the record and MUST be reported.</t>
      <t>The discovery mirror parameter is aligned with the trace-metadata convention
in draft-birkholz-verifiable-agent-conversations §7.4
<xref target="I-D.birkholz-verifiable-agent-conversations"/>, which defines a similar
unprotected-header mechanism for conversation-grain records. A record using
CPB at the action grain and a conversation container using that convention
can share one discovery layer.</t>
    </section>
    <section anchor="cross-cutting">
      <name>Extensibility and Cross-Cutting Facilities</name>
      <t>This section is informative.</t>
      <t>Several concerns are common to all payload profiles and, if defined independently per
profile, would undermine decomposable verification or fragment the interoperability
surface: selective disclosure, countersignature and multi-party attestation, record
relations (supersedes, confirms, corrects), erasure tombstones, producer timestamps
and validity periods, batch aggregation, and profile versioning.</t>
      <t>This specification does not define these facilities in this document. Each will be
addressed in a companion document that payload profiles MUST reference rather than
developing an incompatible per-profile variant. Defining any of these facilities
per-profile would violate the constraint established in <xref target="profile-independence"/>.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="preimages-are-bytes-not-renderings">
        <name>Preimages Are Bytes, Not Renderings</name>
        <t>The pre-image of a CANONICAL-DIGEST is the octet string produced by the
canonicalization algorithm — not a rendered form, not a console output, and
not a string with added whitespace, trailing newlines, or encoding
differences. A producer that serializes then re-reads the payload before
computing the digest MUST ensure the byte sequence entering SHA-256 is
identical to what the canonicalization algorithm produces, not what a
deserializer happens to emit. Diagnosing divergence requires comparing the
exact octets, not visual representations.</t>
      </section>
      <section anchor="low-entropy-fields">
        <name>Low-Entropy Fields</name>
        <t>A digest hides its pre-image only to the degree the pre-image space is large
and unguessable. When a committed value is drawn from a small enumeration, a
short identifier, or a bounded numeric range, an adversary can reconstruct it
by enumerating candidates and matching digests. A payload class SHOULD commit
low-entropy fields under a per-issuer salt or via a selective-disclosure
mechanism (see the SD-JWT commitment pattern in <xref target="RFC9901"/>) rather than
digesting the bare value. Bare digests of low-entropy fields are not
confidential.</t>
      </section>
      <section anchor="floats">
        <name>Float Values and Digest Reproducibility</name>
        <t>Different JSON implementations can serialize the same numeric quantity
(<xref target="RFC8259"/> number values that are not integers) as
<tt>1.0</tt>, <tt>1e0</tt>, or <tt>1.00</tt>; a canonicalization algorithm's number-serialization
rule determines whether that variation survives into the digest pre-image.
Algorithm <tt>jcs</tt> (<xref target="algo-jcs"/>) inherits RFC 8785's canonical
ECMAScript-based number-to-string procedure (<xref target="RFC8785"/> Section 3.2.2.3),
which fixes one serialization per IEEE 754 double-precision value; two
conforming implementations that parse the same numeric literal into the same
double-precision value therefore produce byte-identical output under <tt>jcs</tt>.
That guarantee is bounded by parsing, not by canonicalization: a JSON parser
that rounds a numeric literal to a different double-precision value than
another parser produces a different pre-image under any algorithm, <tt>jcs</tt>
included. A payload profile for which this residual risk is unacceptable —
for example, one carrying monetary or quantity values — MAY declare its own
stricter constraint, such as requiring exact decimal strings instead of
JSON numbers, in the fields it selects for digesting; such a constraint is a
payload-profile decision, not a requirement this document imposes on every
payload class.</t>
      </section>
      <section anchor="immutable-coordinates">
        <name>Immutable Coordinates</name>
        <t>A mutable reference — a branch name, a tag that can be moved, a content
URL that is not a content-addressed URL — is not evidence. The moment a
record is amended at its referent, any citation to the mutable reference
silently refers to the new content. All citations to external artifacts MUST
use typed digest references (<xref target="typed-refs"/>) that pin the content by its
CANONICAL-DIGEST. Names, labels, and human-readable identifiers MAY appear
alongside a typed reference for display purposes but carry no evidentiary
weight.</t>
        <t>When an artifact type cited in an immutable coordinate has no resolvable
digest-context declaration at verification time, the citation is present
but not verified; the consuming profile determines the disposition
(<xref target="comparability"/>). This is not a defect in the citing record: the
citation becomes verifiable once a conforming declaration exists.</t>
      </section>
      <section anchor="tamper-evidence-and-runtime-honesty">
        <name>Tamper Evidence and Runtime Honesty</name>
        <t>The envelope signature and the registration Receipt provide tamper evidence
for the record's bytes and bound its timing. They do not prove the recording
runtime was honest at the moment of recording. A producer that seals a false
record produces a structurally valid record of a fiction. A Transparency
Service's append-only property bounds the timing of such a record and makes
its omission or substitution detectable; it does not make its content true.</t>
      </section>
      <section anchor="ltv">
        <name>Long-Term Verifiability Considerations</name>
        <t>Artifacts bound under this specification may need to remain verifiable over periods
considerably longer than the lifetime of any particular digest or signature algorithm.
Because a binding is expressed in terms of a registered algorithm identifier rather
than a fixed algorithm, artifacts bound under different algorithms are each well-formed
and independently verifiable.</t>
        <t>Preserving verifiability across an algorithm transition requires that evidence be
re-established under a stronger algorithm <em>before</em> the original is considered weak;
this cannot be done retroactively. Deployments with long retention requirements SHOULD
adopt an evidence-renewal scheme. <xref target="RFC4998"/> specifies one such scheme and
distinguishes timestamp renewal, which operates on archived evidence alone, from
hash-tree renewal, which requires access to the original data objects. This
specification does not mandate a particular scheme.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>A record bound under this profile carries digests of content rather than
the content itself. The derived identifier and any typed digest references
commit to the content without disclosing it; the record is therefore
payload-blind to any verifier that does not independently possess the
referenced artifacts.</t>
      <t>Payload privacy is the responsibility of the payload class. A payload class
that includes fields identifying persons, sessions, or request content
SHOULD document the privacy properties of those fields, including whether
they can be inferred from their digests given knowledge of the value space.
Low-entropy fields are not confidential even when digested (<xref target="security"/>).</t>
      <t>An anchored record cannot be retracted: a Transparency Service's log is
append-only and a registered record persists. Payload classes SHOULD
specify which fields, if any, must not be present in a record that is
intended to be anchored.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document requests the creation of one new IANA registry, the
Canonicalization Algorithm Registry (<xref target="iana-alg"/>), under a "Canonical
Payload Binding" heading. The registry uses the Specification Required
policy (<xref target="RFC8126"/>, Section 4.6); a Designated Expert is required for each
registration. This document does not define an Artifact Type registry:
artifact types are registered in the shared Artifact Type Registry in
<tt>REGISTRY.md</tt>, governed separately from this document under its own
Designated Expert checklist and registration rungs; this document
references that registry (see <xref target="outofscope"/>) but does not define it. This
revision's Canonicalization Algorithm Registry entries reflect a deliberate
correction over -01's: the registry was re-derived from what the field
actually built, rather than restated from what -01 originally specified
(<xref target="changes-01"/>).</t>
      <t>Registry entries are immutable. A registered entry defines a specific
algorithm. If a behavior change is needed, a new entry MUST be registered;
existing entries MUST NOT be modified retroactively. Maintainer is IANA per
standard process; no other governance body is defined.</t>
      <t>Until this registry comes into existence at RFC publication, the table
below serves as the provisional living registry, maintained in this
document's source repository. If the document is adopted, the provisional
registry moves with the document to a repository of the working group's
choosing.</t>
      <section anchor="iana-alg">
        <name>Canonicalization Algorithm Registry</name>
        <t>This registry records the canonicalization algorithms that may be used to
compute CANONICAL-DIGEST values.</t>
        <t>Each entry pins its canonicalization steps, its hash function, and its
output representation together as a single immutable triple, so that
changing any one of the three requires registering a new token rather than
reinterpreting an existing one — otherwise a token such as <tt>jcs</tt> would
silently come to mean more than its name states.</t>
        <t>Registration template:</t>
        <ul spacing="normal">
          <li>
            <t>Name: A short ASCII identifier suitable for use in protocol fields.</t>
          </li>
          <li>
            <t>Description: A normative prose description sufficient to implement the
algorithm deterministically.</t>
          </li>
          <li>
            <t>Reference: The document that specifies the algorithm.</t>
          </li>
        </ul>
        <t>Initial contents:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">jcs</td>
              <td align="left">RFC 8785 JCS over the octets supplied to the algorithm, no normalization pass; SHA-256; 64-character lowercase hex</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">jcs-n</td>
              <td align="left">Withdrawn (2026-08-18) -- never carried to IANA. The token was reserved and defined a JCS-plus-absent-field-normalization construction, but that construction is not carried forward; the permanent record of the construction is draft-mih-sokolov-scitt-payload-binding-00, Section 3.1</td>
              <td align="left">This document (withdrawn)</td>
            </tr>
            <tr>
              <td align="left">cde-n</td>
              <td align="left">Withdrawn (2026-08-18) -- never carried to IANA. The token was reserved and stays bound; it was never assigned a definition and never will be</td>
              <td align="left">This document (withdrawn)</td>
            </tr>
            <tr>
              <td align="left">as-transmitted</td>
              <td align="left">No canonicalization: the pre-image is the exact octet sequence identified by a cited named production in the container format (e.g., a signature's signing input); an artifact type using this algorithm states a byte-boundary selector in place of a field set; SHA-256; 64-character lowercase hex</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>A payload class or typed digest reference naming <tt>cde-n</tt> MUST NOT be
treated as verifiable under any vintage: the token was bound by a reserved
entry but never assigned a definition, so no construction exists to verify
against, and a verifier encountering it MUST fail closed. A payload class
or typed digest reference naming <tt>jcs-n</tt> MUST NOT be newly declared;
records committed under it before 2026-08-18 are governed by the vintage
rule in <xref target="algo-jcs-n"/>. Both withdrawals are recorded terminal states, not
deletions: the tokens stay bound and are never assigned or reassigned. See
<xref target="algo-cde-n"/> and <xref target="algo-jcs-n"/>.</t>
        <t>An artifact type MUST NOT declare <tt>as-transmitted</tt> without a byte-boundary
selector that cites a named production in the container specification
(<xref target="algo-as-transmitted"/>). Without that selector, an <tt>as-transmitted</tt>
declaration states nothing: there is no field set, no exclusion set, and no
canonicalization to fall back on for the pre-image construction.</t>
      </section>
    </section>
    <section anchor="related">
      <name>Related Work</name>
      <t>COSE Hash Envelope (<xref target="RFC9995"/>) is the hash-side sibling: it defines how
to carry a content-addressed reference to an opaque payload in a COSE
structure. CPB is the statement-side complement: it defines how the payload
content is canonicalized and identified so that the content-address is
reproducible across implementations.</t>
      <t>The CCF Receipt Profile (<xref target="I-D.ietf-scitt-receipts-ccf-profile"/>) and COSE Receipts (<xref target="RFC9942"/>) are the receipt-side
twins: they define the Verifiable Data Structure formats that may appear in
the unprotected headers of Transparent Statements whose binding layer is
defined here.</t>
      <t>In-toto and DSSE represent an industry two-layer precedent: a
content-addressed artifact layer combined with an attestation layer over
the artifact's identifier. CPB formalizes the same pattern for the SCITT
statement context.</t>
      <t><xref target="I-D.hillier-scitt-arp"/> independently derives a similar canonical claim
construction in its §2. Its Canonical Claim defines its own key-sort, NFC,
number-rendering, and undefined-stripping rules, plus a Claim Hash join
key. The construction is near-<tt>jcs</tt> but not byte-compatible. The
independent re-derivation is evidence that this layer is consistently
re-invented when it is not standardized; CPB exists to stop the
re-invention. Implementations must not assume byte compatibility; ARP's
Canonical Claim carries an explicit construction identifier by which a
consumer can determine compatibility.</t>
      <t><xref target="I-D.birkholz-verifiable-agent-conversations"/> defines trace-metadata
conventions at the conversation grain (§7.4). The discovery mirror in
<xref target="discovery"/> is designed to be compatible with that convention so that
action-grain records and conversation-grain containers share one discovery
layer. The alignment is informative; CPB does not normatively depend on
that document.</t>
      <t><xref target="I-D.sokolov-rats-aep-composition"/> addresses the complementary problem in
the RATS domain: composing application-layer action evidence with remote
attestation. <xref target="I-D.mih-sato-agent-accountability-composition"/> defines
composition and conformance rules for multi-agent accountability chains.
Together these documents demonstrate that the canonicalize-and-derive-identifier
construction is a recurring primitive across independent use cases — one shared
binding layer serving SCITT-anchored agent records, RATS attestation
composition, and multi-agent accountability chains.</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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="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="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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="RFC9995">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Hash Envelope</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document defines new CBOR Object Signing and Encryption (COSE) header parameters for signaling a payload as an output of a hash function. This mechanism enables faster validation, as access to the original payload is not required for signature validation. Additionally, hints of the hashed payload's content format and availability are defined, providing references to optional discovery mechanisms that can help to find the original payload content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9995"/>
          <seriesInfo name="DOI" value="10.17487/RFC9995"/>
        </reference>
        <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="I-D.ietf-scitt-receipts-ccf-profile">
          <front>
            <title>CCF Profile for COSE Receipts</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Cedric Fournet" initials="C." surname="Fournet">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Amaury Chamayou" initials="A." surname="Chamayou">
              <organization>Microsoft Research</organization>
            </author>
            <date day="24" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a new verifiable data structure (VDS) type for
   COSE Receipts and inclusion proofs specifically designed for append-
   only logs produced by the Confidential Consortium Framework (CCF) to
   provide stronger tamper-evidence guarantees.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-receipts-ccf-profile-04"/>
        </reference>
        <reference anchor="I-D.mih-scitt-agent-action-capsule">
          <front>
            <title>An Agent Action Capsule Profile for SCITT</title>
            <author initials="S." surname="Mih" fullname="Steven Mih">
              <organization>Action State Group, Inc.</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-scitt-agent-action-capsule-02"/>
        </reference>
        <reference anchor="I-D.hillier-scitt-arp">
          <front>
            <title>Attestation Reconciliation Protocol</title>
            <author initials="J." surname="Hillier" fullname="Joel Hillier">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hillier-scitt-arp-01"/>
        </reference>
        <reference anchor="I-D.mih-sato-agent-accountability-composition">
          <front>
            <title>Agent Accountability: Composition and Conformance</title>
            <author initials="S." surname="Mih" fullname="Steven Mih">
              <organization>Action State Group, Inc.</organization>
            </author>
            <author initials="T." surname="Sato" fullname="Tom Sato">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-sato-agent-accountability-composition-00"/>
        </reference>
        <reference anchor="I-D.sokolov-rats-aep-composition">
          <front>
            <title>Composing Application-Layer Action Evidence with Remote Attestation Procedures</title>
            <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
              <organization>Tyche Institute</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sokolov-rats-aep-composition-03"/>
        </reference>
        <reference anchor="I-D.birkholz-verifiable-agent-conversations">
          <front>
            <title>Verifiable Agent Conversations</title>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-verifiable-agent-conversations-00"/>
        </reference>
        <reference anchor="I-D.rampalli-pedigree">
          <front>
            <title>PEDIGREE: Provenance and Delegation Records for Digital Artifacts</title>
            <author initials="K." surname="Rampalli" fullname="Karthik Rampalli">
              <organization>Glyphzero, Inc.</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rampalli-pedigree-00"/>
        </reference>
        <reference anchor="I-D.lee-orprg-permit-receipts">
          <front>
            <title>Permit Receipts for Permit-Before-Commit Authorization of AI-Agent and Workload External Effects</title>
            <author initials="Y." surname="Lee" fullname="Yong Bok Lee">
              <organization>Meridian Verity Group</organization>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lee-orprg-permit-receipts-00"/>
        </reference>
      </references>
    </references>
    <?line 1091?>

<section anchor="appendix-a">
      <name>Synthetic Registration Walkthrough</name>
      <t>This appendix illustrates the mechanics of <xref target="derived-id"/>, <xref target="envelope"/>, and
<xref target="receipt-binding"/> using a non-domain-specific payload class. No domain
vocabulary from any specific profile is used.</t>
      <t><strong>Payload class:</strong> <tt>temperature-record</tt>. Fields: <tt>station_id</tt> (string),
<tt>timestamp</tt> (string), <tt>celsius</tt> (exact decimal string), <tt>record_id</tt> (string).
Exclusion set: <tt>{record_id}</tt>. Algorithm: <tt>jcs</tt>. Representation: bare 64-char
lowercase hex.</t>
      <t><strong>Step 1 — Construct the payload:</strong></t>
      <sourcecode type="json"><![CDATA[
{
  "station_id": "WS-42",
  "timestamp": "2026-07-24T00:00:00Z",
  "celsius": "21.3",
  "record_id": null
}
]]></sourcecode>
      <t><strong>Step 2 — Apply the exclusion set:</strong></t>
      <t>Remove <tt>record_id</tt> (it is in the exclusion set). The resulting object is:</t>
      <sourcecode type="json"><![CDATA[
{
  "station_id": "WS-42",
  "timestamp": "2026-07-24T00:00:00Z",
  "celsius": "21.3"
}
]]></sourcecode>
      <t><strong>Step 3 — Compute the derived identifier:</strong></t>
      <t>Apply JCS <xref target="RFC8785"/> to produce the canonical octet string. Compute
SHA-256 and encode as lowercase hex. The result is the <tt>record_id</tt> value
to be placed back into the payload for transport.</t>
      <t><strong>Step 4 — Construct the Signed Statement:</strong></t>
      <t>Wrap the complete payload (including the now-populated <tt>record_id</tt>) in a
COSE_Sign1 with:</t>
      <ul spacing="normal">
        <li>
          <t><tt>content_type</tt>: <tt>application/temperature-record+json</tt></t>
        </li>
        <li>
          <t><tt>alg</tt> and <tt>kid</tt>: producer's signing algorithm and key identifier</t>
        </li>
      </ul>
      <t><strong>Step 5 — Register and receive a Receipt:</strong></t>
      <t>Submit the Signed Statement to a SCITT Transparency Service. Attach the
returned Receipt to the unprotected header. The Transparent Statement is
now suitable for distribution to verifiers.</t>
      <t><strong>Step 6 — Verify:</strong></t>
      <t>A verifier extracts the payload, strips <tt>record_id</tt>, applies JCS,
recomputes SHA-256, and compares to the carried <tt>record_id</tt>. The verifier
then verifies the envelope signature and, if present, the Receipt under
a trusted service key. All three checks must pass for the record to be
considered fully verified.</t>
    </section>
    <section anchor="appendix-b">
      <name>Synthetic Two-Slot Composition</name>
      <t>This appendix illustrates <xref target="typed-refs"/> using two cooperating payload
classes. No domain vocabulary is used.</t>
      <t><strong>Scenario:</strong> a <tt>decision-record</tt> payload class cites an <tt>authorization-doc</tt>
using a typed digest reference.</t>
      <t><strong>Authorization doc</strong> (payload class <tt>authorization-doc</tt>; algorithm <tt>jcs</tt>):</t>
      <sourcecode type="json"><![CDATA[
{
  "doc_id": "...",
  "subject": "WS-42",
  "scope": "temperature-write",
  "issued_at": "2026-07-24T00:00:00Z"
}
]]></sourcecode>
      <t>Its derived identifier is computed with <tt>doc_id</tt> in the exclusion set.
Suppose the result is <tt>"ab12cd34..."</tt>.</t>
      <t><strong>Decision record</strong> (payload class <tt>decision-record</tt>; algorithm <tt>jcs</tt>):</t>
      <sourcecode type="json"><![CDATA[
{
  "record_id": null,
  "action": "write",
  "authorization": {
    "type": "authorization-doc",
    "digest_alg": "SHA-256",
    "digest": "ab12cd34..."
  }
}
]]></sourcecode>
      <t>The typed reference <tt>authorization</tt> cites the authorization doc by its
artifact type and derived identifier. A verifier can confirm the doc was
cited by resolving the <tt>authorization-doc</tt> artifact type's digest context
from its governing specification, recomputing <tt>"ab12cd34..."</tt> from the
doc's bytes, and matching.</t>
      <t><strong>Composability:</strong> the verifier needs only the <tt>authorization-doc</tt> digest
context — it does not need to understand the <tt>decision-record</tt> format to
verify the citation binding. For generic citation-binding verification, a CPB verifier can process a
typed reference to any artifact type whose digest context it can resolve.
Whether a particular citation slot permits that artifact type is determined
by the consuming profile. Artifact-specific appraisal, authorization
semantics, and application integration remain separate.</t>
    </section>
    <section anchor="appendix-c">
      <name>Field-Verified Instances</name>
      <t>The instances in this appendix were chosen to illustrate the mechanisms of
<xref target="algorithms"/>, <xref target="receipt-binding"/>, and <xref target="typed-refs"/>. They are not a
ranking. Two parties appear in every instance: the implementing system and
the verification counterparty. The common counterparty in each case is the
AAC reference implementation, which is present as a verifier, not as the
subject. This is a historical record and is not edited retroactively: the
instances below report what ran at the time, under algorithm <tt>jcs-n</tt>, which
is withdrawn as of this revision (<xref target="algo-jcs-n"/>). The byte-agreement result
each instance reports is a property of applying RFC 8785 JCS consistently,
which <tt>jcs</tt> (<xref target="algo-jcs"/>) also provides going forward.</t>
      <t><strong>Owner consent status:</strong> Anton Sokolov (Tyche Institute) — confirmed
2026-07-24. Tom Sato (GAR/SOOS) — confirmed 2026-07-25. Tymofii
Pidlisnyi (Agent Passport System) — confirmed 2026-07-24 (on-issue).</t>
      <section anchor="appendix-c1">
        <name>Deep Mechanism Instances</name>
        <section anchor="glyphzero-byte-agreement-algorithm-determinism">
          <name>Glyphzero Byte-Agreement — Algorithm Determinism</name>
          <t>Public record: Glyphzero PEDIGREE delegation record, IETF 126 hackathon.</t>
          <t><strong>What ran:</strong> Two independently written RFC 8785 JCS implementations —
Glyphzero's (Rampalli), used to produce its PEDIGREE delegation records
<xref target="I-D.rampalli-pedigree"/>, and the AAC reference implementation — computed
a digest over the same delegation record and both produced
<tt>subject_digest</tt> <tt>0b4da06b...</tt> without any coordination on byte ordering
beyond RFC 8785 itself. The record carried no null, empty-array or
empty-object member, so the absent-field normalization pass <tt>jcs-n</tt> added
to JCS did not apply to it; the agreement is an agreement about RFC 8785
JCS, which is the part <tt>jcs</tt> (<xref target="algo-jcs"/>) carries forward.</t>
          <t><strong>Mechanism illustrated:</strong> <xref target="algo-jcs"/>. RFC 8785 JCS is reproducible
across separately written implementations. The agreement was not
premeditated; it emerged from two systems applying the same algorithm
independently. This instance does not evidence an independent
implementation of the withdrawn normalization pass, and the implementer
census (<xref target="algo-jcs-n"/>) records that there was none.</t>
          <t><strong>Consent:</strong> Karthik Rampalli (Glyphzero) confirmed 2026-07-25 (email, with corrections).</t>
        </section>
        <section anchor="gar-session-block-leaf-construction-rule">
          <name>GAR Session Block — Leaf Construction Rule</name>
          <t>Public record: GAR Session Block anchor, IETF 126 hackathon; gar-core.ts
commit fe18f24; CT leaf 166.</t>
          <t><strong>What ran:</strong> A GAR Session Block record was registered in a SCITT
Transparency Service (RFC9162_SHA256 VDS). The log leaf was constructed as
SHA-256 of the raw bytes of the derived identifier — <tt>bytes.fromhex(id)</tt>,
not <tt>id.encode("utf-8")</tt>. The inclusion proof verified correctly against the
anchored Merkle root only when the leaf used the raw bytes.</t>
          <t><strong>Mechanism illustrated:</strong> <xref target="leaf-rule"/>. The leaf-bytes-not-hex rule was
discovered during live anchoring when a leaf constructed from the hex string
failed to verify; switching to raw bytes produced the correct root.</t>
          <t><strong>Consent:</strong> Tom Sato (GAR/SOOS) — confirmed 2026-07-25.</t>
        </section>
        <section anchor="a2a-boundary-seal-derived-identifier-as-protocol-gate">
          <name>A2A Boundary Seal — Derived Identifier as Protocol Gate</name>
          <t>Public record: capsule-emit issue #29, verified offline at
https://github.com/action-state-group/capsule-emit/issues/29.</t>
          <t><strong>What ran:</strong> An A2A-protocol boundary producer submitted a record to a SCITT
Transparency Service and used the derived identifier as a protocol-layer
gate (<tt>capsule.digest</tt> / <tt>capsule.resolve</tt>). The receipt was verified
offline using a conforming SCITT verifier (<tt>scitt-cose verify_receipt</tt>
→ <tt>ok=True</tt>), and the Merkle inclusion proof (<tt>verify_inclusion</tt>) folded to
the anchored root. A DENY negative case was also demonstrated: a fabricated
derived identifier not present in the log returned 404 on the resolve step
and DENY on the gate.</t>
          <t><strong>Classification (exact):</strong> single-machine loopback rehearsal, independently
reproduced. The read-only resolve path (<tt>/anchor/inclusion-proof-ct</tt>) is live
at <tt>anchor.agentactioncapsule.org</tt>; a networked cross-machine close is
pending counterparty schedule.</t>
          <t><strong>Mechanism illustrated:</strong> <xref target="derived-id"/> and <xref target="receipt-binding"/> applied at
a protocol boundary: the derived identifier is stable across network hops and
usable as a verifiable join key without payload disclosure.</t>
          <t><strong>Consent:</strong> Anton Sokolov (Tyche Institute) — confirmed 2026-07-24.</t>
        </section>
      </section>
      <section anchor="appendix-c2">
        <name>Field Table — IETF 126 Participants</name>
        <t>The following table lists all parties that ran verifiable instances at the
IETF 126 hackathon. Rows appear in alphabetical order by party name; the
order carries no ranking.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Party</th>
              <th align="left">Record type</th>
              <th align="left">What ran</th>
              <th align="left">Public record</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Agent Passport System (Pidlisnyi)</td>
              <td align="left">Decision record</td>
              <td align="left">Content-derived action reference; NFC + code-point sort + JCS; bidirectional cross-runs 6/6 + 24/24</td>
              <td align="left">draft-pidlisnyi-aps + hackathon coordinates</td>
            </tr>
            <tr>
              <td align="left">EP (Schrock)</td>
              <td align="left">Named-human approval</td>
              <td align="left">Three independent codebases produced <tt>8cf0c36e...</tt>; three-computation single-digest</td>
              <td align="left">EMILIA/EP hackathon record</td>
            </tr>
            <tr>
              <td align="left">GAR (Sato)</td>
              <td align="left">Kernel session block</td>
              <td align="left">Sealed as record; CT leaf = SHA-256(raw bytes of id); leaf 166 verified</td>
              <td align="left">gar-core.ts commit fe18f24</td>
            </tr>
            <tr>
              <td align="left">Glyphzero (Rampalli)</td>
              <td align="left">Delegation record</td>
              <td align="left">Two independent JCS implementations; <tt>subject_digest</tt> <tt>0b4da06b...</tt></td>
              <td align="left">Glyphzero PEDIGREE hackathon record</td>
            </tr>
            <tr>
              <td align="left">Microsoft (Chamayou)</td>
              <td align="left">Two-TS statement</td>
              <td align="left">One payload, two receipt profiles (ccf.v1 + RFC9162_SHA256) in conjunction</td>
              <td align="left">scitt-ccf-ledger PR #424</td>
            </tr>
            <tr>
              <td align="left">Sokolov (Tyche)</td>
              <td align="left">Boundary-seal</td>
              <td align="left">A2A gate; derived-id as resolve key; DENY negative; offline Receipt verify</td>
              <td align="left">capsule-emit issue #29</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="appendix-c3">
        <name>Agreed and Scheduled</name>
        <t>The following cross-verifications are agreed and scheduled but have not
produced field-verified instances at time of writing:</t>
        <ul spacing="normal">
          <li>
            <t>VTO/libp2p (M.S. Gupta) — content-addressed telemetry objects citing
action records across grains.</t>
          </li>
          <li>
            <t>VSO/VeritasChain (Kamimura) — verifiable service objects under <tt>jcs</tt>.</t>
          </li>
        </ul>
        <t>Field-verified instances are expected to be added in future revisions as
cross-verifications complete.</t>
        <t>The PermitReceipt × MachineMandate composition is excluded from this appendix.
It is recorded in the AAC interop registry (INTEROP.md).</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The following individuals contributed findings from the IETF 126 hackathon in
Vienna that directly shaped the rules in this document. All attributions
cite public artifacts.</t>
      <t><strong>Contributors</strong> [all named attributions and contributor acknowledgments
individually confirmed: Anton Sokolov (confirmed 2026-07-24), Iman Schrock
(confirmed 2026-07-24), Tom Sato (confirmed 2026-07-25), Yong Bok Lee (Scott
Lee) (contributor attribution confirmed 2026-07-27), Tymofii Pidlisnyi (Agent Passport System,
confirmed 2026-07-24, on-issue), Karthik Rampalli (Glyphzero, confirmed
2026-07-25, email, with corrections)]:</t>
      <ul spacing="normal">
        <li>
          <t>Anton Sokolov (Tyche Institute) — assurance-boundary discipline; the A2A
boundary-seal instance in <xref target="appendix-c"/>.</t>
        </li>
        <li>
          <t>Yong Bok Lee (Scott Lee), Meridian Verity Group — ORPRG-derived
cross-profile digest-context discipline: equal-looking digest text alone
is not a valid join; a typed reference is verified by recomputing the
referenced artifact under its established digest context and comparing
that result with the digest carried in the reference, not with the citing
record's own derived identifier. Also contributed the
representation-boundary distinction among raw digest bytes, bare lowercase
hexadecimal text, and prefixed text, and the verification-scope boundary
separating typed-reference content binding from artifact-specific
appraisal and authorization. See <xref target="I-D.lee-orprg-permit-receipts"/>.</t>
        </li>
        <li>
          <t>Tymofii Pidlisnyi (Agent Passport System) — the content-derived action reference pattern
(NFC + code-point sort + JCS) demonstrating that <tt>jcs-n</tt> generalizes
across canonicalization styles; bidirectional cross-runs with confirmed
byte-agreement.</t>
        </li>
        <li>
          <t>Tom Sato (GAR/SOOS) — the leaf-bytes-not-hex finding documented in
<xref target="leaf-rule"/>: the log leaf hashes the raw bytes of the derived
identifier, not the hex-string encoding.</t>
        </li>
        <li>
          <t>Karthik Rampalli (Glyphzero) — independent JCS implementation
byte-agreement on <tt>subject_digest</tt> <tt>0b4da06b...</tt>, demonstrating that
RFC 8785 JCS is reproducible across separately written implementations.</t>
        </li>
        <li>
          <t>Iman Schrock (EMILIA/EP) — confirmed 2026-07-24 — the three-computation single-digest instance
(<tt>8cf0c36e...</tt>) demonstrating byte-agreement across three independent
codebases.</t>
        </li>
      </ul>
      <t><strong>Acknowledged</strong> [Amaury Chamayou confirmed 2026-07-24 (email)]:</t>
      <ul spacing="normal">
        <li>
          <t>Amaury Chamayou (Microsoft) — two-TS single-statement demonstration;
the vds-from-protected-header finding subsequently mirrored in
microsoft/scitt-ccf-ledger #424.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA72963IcV5Im+P88RRj1Q0B1RvIiSiUBVrYNgZAKVRLJBVCS
1UyPEZGZASAKmRnZEZEEsyi27a99gLU120eo96h5k3mS8c8v5xIRAMne3am+
FJgZeeJc/Pj1c/c8z11XdcvyIHt0XKzrdTUvltnrYresi0X2fbVeVOvrg+wo
O6+u1+UiO++KrlyV6y47rtdt12znXVWvs9dNfVUty0eumM2a8u1Dgz1yi3q+
Llb0xkVTXHX5qrrJ2/q2XtZv83ZedV2+kV/kM/lF/uSZW9BrD7JnT559kz/5
Nn/23M3pg+u62R1kbbdw7Xa2qtqWptLtNvTg6cnFD67aNAcZTbHtnj158h0N
UjRlQVM7L+fbpup2j9xd3dxeN/V2g0+PTy8uHrnbckefLg5clmf8Ef6Y22Kq
vxdYLz7TSWY6SXy0KJvqLW1StaANqq6qssGnmNEiW1TXZdtlTXlVNuV6Xrq2
K9aLN8WyXtN8d2XrNtVB9l+7ej7J2rrp6MGW/tqt8Md/c67Ydjd1w9Oq1u1B
dj7Nfq5uXJZlspfnXfm2XNtndXNdrHWydHpySHx22Y9Y7yQ7Xc+neLJcFdWS
NnFTzv+14OdaPDYtKv+qo2l2LucTXne07jBi+Dh948VuflPSO1qirW1XRi8q
8MOpnve/dnhuWvnn3LpuVjTG25JWmp39cPzs6dPv9M9vn/7+uf/z2Tf257Ov
/QO///Zr/fO7J18/sz+/e/7VgXPV+qo39HffPXkangmPf2eDPP/uu2/x52n+
YlqV3ZVSZ1POy2rTtfl8fpVvhPDtMaZlfqq4JhrIZUfzebFpt/JUltl1O1pn
R3jIjudYHrK7lNF8MyVK/Kwl4ipbLEOGoReuu7JZl13+AvcouU73TgF3Cb/1
5MT/GdAU/2eMsPg/n0xd2JKbarmkm2Bzaja9Xei6EhSHIc7Keb2eV8uqMKZC
16Feft76B+/Lnzy9f8l/mmZ/lB/0lv2nulxGX/nDLbrab+y83q67YkYT7nb5
vF5t6rbiPUlXqIccP31A7NM/TndiAXbKBEqs4T9x3p8yq/zJk/+FRx+NfUH8
gybYG/yiXtnH2FyTAE1BN6soN/fvp+7c+jo72myWxJV5cT8Vu7KxCZ28BQue
l9ld1d0QWa1qml9MaURa83Kxbcr28zb7oVnmT766f39THhptw4CRjmzzkJti
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
9e0fLpotvS+wab1A/fu3d6kD+C8u99EPVvLNBL/i8+lAesSrXpy8/CuZ+NeC
KmfDBythHTuKwHKW3VUxg7ECPWhkNyUP36e+dcqmvIv7+ZPnVl/XKtUi1YDz
nXkW+uW1mLJ0KeDxCiacBOj2QS2SXJCvClw0vKbecLijKW/IWGSDOpGhHoJl
5dpRq0LyAW0qG+L6tIGPZYMe+x3MeWvzeXe5L+0g3iKEnl3Kc1MO3wrZG33U
zTXXS1qXHVJFSqtRarNlRCh3BCzF55GYoEjmXWyX5cdYXhyuVeN6GJ8tFDQP
uEQ2uFsH992LivGaEVpNl5Ld1BvpLrCVQo+Rscv/BtaHYyuhtqo4L0PBrj67
+yyjLDKRtLoWK6kXVpInyPHX7MipNgWQBLGR9OxDv6W3rHTJYB8piymeh87M
6biNsze8RPdxIyZQdob6tcFvUSw3N8Ws1JpLUOK1llInrYdYT3byRVRv1rwh
yKh4zQ8jiUL4nrRmNv5JfyZs/J6GzqM2aLbnrdR9ztlI/M/oH6zoOSMThZZ4
a+kQQLHsXzLoB/kG5ZYz4MfoE1KwD7NZtahUhwNAjS9CsyUL75vH39Azz54/
Jmv3N01F2NhUcrpK9K3f06h4S8tg/ZPX2d75/KYh3QrTRsbJIucyNOxUq9/S
y4BMR4AnhnhgljOGeHh5fPnt/OrJ/KtvSlhhhxIUyqMWBcZsfK/Zk59Pfzo9
ekxTCPMLG8/K3x4EOCb2Z6Ctl5bHnc1YGfyNZbRg2+WHQaH8g8XN9hK9jbSx
Q69xBmn8W6ykZqmSKpPxdnywoPmY++bqb31LfcwsP8w+YsP+NuY4GN2lnyvQ
Qn3VZXvHN8Wq2NXbfZlEfnEe4Lr00at1FICEBdWEIjJSy3RvPr+avn1KBJPq
yxxpJt7xN2vo9VumsnZ+lXMGe5O9Psu+eK6blTIhTMeUqhzFYOjfULQgng6j
JhpyiiJEiPUdphL10GtMFpZU3/hv9+haSKCASgfTUrwI5yoRFgkf+2rAx+Ry
xV5PgesXYajWDwWw5U3xtlSrVe+CZCN58kq5nRZegUUM+DYC9r9cvHq8rGab
Z5ts7+fp+TT7cbvpCs+0e7BbMqjpUIHU1VoXWrkI2Wnz2GVjYofBe5wG98v5
q8fwaXdFe8yF5vf+XKyq1bbRl0Us2sK89o6kvJ374d4VSgF+Cblrcj5XW6WX
aVM9c4kid9WN7bZhIhTN/ZpjBnbu//3/yX4WDeBnLeIRQ+i4HI3UpovSw+24
p+5UU98180L1K/ittJ5ylOF9+vLi5OzV6+lqAavZETHNrWaDIOuIjtJPPrj3
BwL1LRd/eMQVjx4N6AtaxVsuiSe1gxhdwETD6kYb7KOhUASC8ZeqXK8LEasi
FJCLfVNszNpj1OCw3jFC9UXnwQwSn9MU46RGB+sV8lzdtKRb/Nt/hTyXBI54
BAMs2rNZbztcWCrngqr2cdBXVsb0EtLSTyGGVDq5+x4KZt6YYUcP/BXVcL6v
b7OfSIaRsKu7ztGf+/yDMPOwrDE16fd4k7ijs4+5oydubKqobKiu6MlD/pzJ
mOv8azgex/05//bfmIN8ivoHODXq+0W5a9Anqw34qngZiTGjUXTCrr3HTPKa
QvALaUO/G9tf/EmrJOuKtBY6Q+Y4u+xHGLI8k1dnr89+NFWIXihMwNd06xWR
83M8kO5DOdkpt6FGbiat/FBAiIbytd2klBg06cORQnlVMDIlQp0UZuZ20fc1
EYKfPK7zdH83dWbJ1lIEaIWQG592je93StMqzb7nl7H3sf5TaVQe5mbMVGwx
MWoyOX4aWbt0rrhsFGlLOjmNkzPC0oPoaLC4G5S08ZVC7aVU8Aof9YOH0vfJ
Uxfag4uDmHfdIprWLdPqJ2pAWyCu/dAvRJ5vkcMh3rQJ0jkX6UDcYknaaN1s
mutcQtA++0fJ+FNvt1ylOEPpPo3eklZojnsP6Pb7kXvAdz+w2IB2lkMyDEt3
FucjlQZ2xPIfMBKUaxhfyXphR9mAe/xl3bgbUKWVly9MxTRy4kQ88N4L1rmR
u2bt2O7xpuIGR4W2rSkbvdFKDFtNdp70g45xBmA8qIkPdgK+k4d188nIcdEw
D4VDsk8Ph2BNsdjL9ryV9ECU047pYzaXcXJQZGKu9Wmwtyk6/65vBoJzmyEo
kDUv/8sF6w1Hq2JLfMZMk3uCtCzbvCTr/WTPmzhKj2rayMqChROtoF4fMuMl
9rNoc3COfNDYxOgXtR451RxalGTXGCmv7MWPB+YObJ2p+581UYwqNRIBAA==

-->

</rfc>
