<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mih-sokolov-scitt-payload-binding-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <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-04"/>
    <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>
        <postal>
          <city>Tallinn</city>
          <country>Estonia</country>
        </postal>
        <email>anton.sokolov@tyche.institute</email>
      </address>
    </author>
    <date year="2026" month="September" day="09"/>
    <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 167?>

<t>Independently written systems that anchor records to a SCITT Transparency
Service repeatedly need the same construction: a canonical form of structured
content, a content-addressed identifier derived from that form, binding to a
SCITT Signed Statement and Receipt, and references that cite external artifacts
by digest. This document defines that construction as the Canonical Payload
Binding (CPB). A payload profile declares its canonicalization algorithm and
exclusion set and thereby obtains a reproducible derived identifier. A CPB
Signed Statement carries either the complete statement content as specified by
RFC 9943 or a digest of content held elsewhere using the COSE Hash Envelope of
RFC 9995. CPB also defines an abstract typed digest reference information model
and one optional protected-header encoding, <tt>cpb-refs</tt>; a payload profile may
instead define its own reference serialization. An IANA registry governs CPB
canonicalization algorithms. CPB does not define payload content formats,
establish or require a universal artifact-type registry, or require either
typed-reference carrier.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 185?>

<t>This document is an individual submission. The intended venue is the SCITT
Working Group (scitt@ietf.org). Named 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 196?>

<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). The COSE Hash Envelope
<xref target="RFC9995"/> identifies a hash function and carries the resulting digest; when
structured content needs a deterministic preimage, CPB supplies the
profile-selected canonicalization and derived-identifier construction. CPB
also supports the ordinary RFC 9943 case in which the complete statement
content, rather than its digest, is supplied to COSE. CPB defines the binding
mechanics and a typed-reference mechanism for citing other digests, but it
does not define what any payload or cited artifact means. CPB generalizes the
construction first stated by <xref target="I-D.mih-scitt-agent-action-capsule"/> and
exercised across independent implementations at the IETF 126 hackathon; the
companion interop record preserves the detailed provenance and digest-context
boundaries.</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. Those declarations are
owned by payload or consuming profiles and identified by stable normative
references. CPB defines no artifact-type registry.</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-03">
      <name>Changes from -03</name>
      <t>This revision is editorial and changes no normative text. It carries three
items requested by a named contributor on 2026-09-07:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="I-D.schrock-ep-authorization-receipts"/> is added as an informative
reference and cited in <xref target="related"/>.</t>
        </li>
        <li>
          <t><xref target="appendix-c2"/> cites the frozen composition vector set by its merged
commit rather than by an unlocatable description, and states what that set
does and does not carry.</t>
        </li>
        <li>
          <t>The acknowledgment for that instance is narrowed, at the contributor's
request, to the evidence the cited set contains.</t>
        </li>
      </ul>
      <t>The substantive changes that produced -03 from -02 are recorded in -03.</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(A, v),
where v is the payload value with its profile-declared exclusion set
removed. Verifiers MUST recompute the derived identifier from the payload
value; 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
profile that defines the class or type. The declaration MUST also state the
exact <tt>digest_alg</tt> token and comparison representation. The contexts are
independent and MUST NOT be conflated.</t>
        </dd>
        <dt>RAW-DIGEST:</dt>
        <dd>
          <t>A function parameterized by a canonicalization algorithm A: for any such
algorithm A and payload v, RAW-DIGEST(A, v) = H_A(A(v)), where A(v) is the
canonical octet string and H_A is the hash function declared by A's entry
in the Canonicalization Algorithm Registry (<xref target="iana-alg"/>). RAW-DIGEST is
an octet string; it has no textual encoding.</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(RAW-DIGEST(A, v)), where ENCODE_A is
the output encoding
declared by A's entry in the Canonicalization Algorithm Registry
(<xref target="iana-alg"/>). Every algorithm definition supplied 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>Signature-Valid:</dt>
        <dd>
          <t>A state of a Signed Statement, independent of typed-reference processing.
The COSE signature has been cryptographically validated under the selected
verification key. This state alone does not establish that the key is
authorized for the asserted issuer. Merely being encoded in a protected
header does not establish this state.</t>
        </dd>
        <dt>Issuer-Authenticated:</dt>
        <dd>
          <t>A state of a Signature-Valid Signed Statement for which the verifier's
policy accepts the signing key as authorized for the asserted issuer.
This state authenticates issuer claims but does not make a cited artifact
or typed reference Verified.</t>
        </dd>
        <dt>Malformed:</dt>
        <dd>
          <t>A typed-reference processing state. The reference or its <tt>cpb-refs</tt>
container violates the applicable serialization, required-member,
duplicate, closed-extension, or size rules. A verifier MUST NOT report any
entry in a Malformed <tt>cpb-refs</tt> value as Verified.</t>
        </dd>
        <dt>Unresolved:</dt>
        <dd>
          <t>A typed-reference processing state. The reference is well-formed, but the
verifier cannot select exactly one authorized digest context or cannot
obtain the cited artifact, or it lacks the implementation needed to execute
an otherwise valid digest context. An Unresolved reference is
not evidence of a content binding.</t>
        </dd>
        <dt>Failed:</dt>
        <dd>
          <t>A typed-reference processing state. The reference is well-formed and exactly
one authorized digest context is selected, but the declared algorithm or
representation conflicts with that context, the selected token is
permanently undefined or prohibited, or a recomputed digest differs from
the supplied value.</t>
        </dd>
        <dt>Verified:</dt>
        <dd>
          <t>A typed-reference processing state. The verifier selected exactly one
authorized digest context, obtained the cited artifact, applied that
context's canonicalization and hash rules, and obtained a digest equal to
the supplied value in the context's declared representation.</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; unavailable for new use</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 as an active IANA algorithm.
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 eligible for verification by vintage.</t>
        <t>For historical evaluation, the complete <tt>jcs-n</tt> construction is as follows.
Let P be the JSON object supplied by the applicable payload or artifact-type
profile, and let E be that profile's set of top-level member names to exclude:</t>
        <ol spacing="normal" type="1"><li>
            <t>Before converting the input JSON text to a data model, reject a duplicate
member name in any object, including a duplicate that would later be
excluded. Equality is tested on decoded Unicode member-name strings after
JSON escape processing, with no Unicode normalization. NFC-equivalent but
distinct strings are not duplicate names, and <tt>jcs-n</tt> applies no Unicode
normalization.</t>
          </li>
          <li>
            <t>Reject a JSON number token unless it has the integer form
<tt>0|-?[1-9][0-9]*</tt> and its value is in the inclusive range
<tt>[-(2^53-1), 2^53-1]</tt>. In particular, a decimal point, exponent notation,
leading zero, or <tt>-0</tt> is prohibited. A non-integer quantity, and an integer
outside that range, has to be represented as an exact JSON string if the
applicable profile permits it.</t>
          </li>
          <li>
            <t>Remove from P each top-level member whose name is in E. A same-named member
nested below the top level is retained.</t>
          </li>
          <li>
            <t>Normalize the remaining value bottom-up and recursively. In each object,
remove every member whose normalized value is JSON null, an empty array, or
an empty object. Array elements are not object members and are not removed,
but values inside an array are recursively normalized before their
containing object is considered.</t>
          </li>
          <li>
            <t>Apply JCS <xref target="RFC8785"/> to the normalized object to produce canonical UTF-8
octets, compute SHA-256 over those octets, and encode the 32-octet digest as
exactly 64 lowercase hexadecimal ASCII characters.</t>
          </li>
        </ol>
        <t>Thus, for historical <tt>jcs-n</tt> evaluation:</t>
        <artwork><![CDATA[
CANONICAL-DIGEST(jcs-n, P, E) =
    lowercase_hex(SHA-256(JCS(normalize(P minus E))))
]]></artwork>
        <t>These steps define digest evaluation only. Evaluating the construction and
obtaining matching bytes does not by itself establish an eligible vintage or
produce a Verified typed-reference outcome.</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. The
vintage cutoff is the start of 2026-08-18 UTC. Pre-cutoff vintage is
established only by profile-defined, cryptographically verifiable evidence
that binds the exact record, or its digest under the declared context, to a
time before that cutoff. A payload timestamp, source-control commit date,
file-system time, transport arrival time, or other unauthenticated date MUST
NOT be used as vintage evidence.</t>
        <t>A verifier encountering <tt>jcs-n</tt> with evidence of a time at or after the
cutoff, or without sufficient evidence of a pre-cutoff vintage, MUST fail
closed and MUST NOT report the payload class or typed digest reference as
verified; a typed reference has the Failed outcome. Only after establishing
pre-cutoff vintage MAY a verifier apply the historical construction above.
If the construction is available, its ordinary digest comparison determines
whether the typed reference is Verified or Failed. A verifier that lacks an
implementation of the otherwise eligible historical construction reports the
typed reference as Unresolved. 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. For a typed reference, the
outcome is Failed because the selected token has no algorithm definition.</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. A profile-owned artifact-type declaration that selects
<tt>as-transmitted</tt> for a digest context 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><xref target="RFC7515"/>, Section 5.1, <tt>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.
This named-production rule eliminates that ambiguity: a digest-context
declaration MUST NOT select <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 declaration MUST NOT use <tt>as-transmitted</tt>; it must
select another registered canonicalization algorithm whose definition
constructs the pre-image 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 defines.
A reserved or never-defined token has no derived-identifier representation.
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>If a payload profile applies a transformation before derived-identifier
computation, its specification MUST define that transformation and its order
relative to field exclusion and algorithm A so that producer and verifier
derive the same exact input. This document defines no such transform. Absent
an applicable profile declaration, the producer and verifier MUST use the
untransformed payload and exclusion procedure defined above.</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>
        <t>Each digest context used by a typed reference MUST declare whether its
comparison value is raw octets, bare text, or prefixed text, and MUST define
the exact grammar of any textual form. In <tt>cpb-refs</tt>, raw octets are encoded
as a CBOR byte string and textual forms as a CBOR text string. A verifier MUST
NOT silently convert between these forms. A wire type or textual form that is
inconsistent with the uniquely selected digest context produces the Failed
state.</t>
      </section>
    </section>
    <section anchor="envelope">
      <name>Envelope Conventions</name>
      <t>Every CPB Signed Statement MUST be a tagged COSE_Sign1 structure
<xref target="RFC9052"/> and MUST satisfy every applicable requirement of <xref target="RFC9943"/>.
CPB requirements are additive and do not replace or relax the SCITT
baseline. In particular, the protected header MUST contain the CWT Claims
header parameter (label 15), whose value includes <tt>iss</tt> (Claim label 1) and
<tt>sub</tt> (Claim label 2). Key identification, certificate carriage, and the
relationship among <tt>kid</tt>, <tt>x5t</tt>, and <tt>x5chain</tt> MUST follow <xref target="RFC9943"/>; CPB
does not define an alternative credential rule.</t>
      <t>A CPB Signed Statement uses exactly one of the two modes below. Other COSE
header parameters are permitted only when <xref target="RFC9052"/>, <xref target="RFC9943"/>, this
document, or the applicable payload profile defines them. Producers MUST NOT add ad-hoc
protected-header parameters. CPB assigns no meaning to non-critical header
parameters defined elsewhere. The closed extension policy for the inner
<tt>cpb-refs</tt> map is specified in <xref target="envelope-carriage"/>.</t>
      <section anchor="full-content-mode">
        <name>Full-Content Mode</name>
        <t>In Full-Content Mode, the payload supplied to COSE signing and verification
is the complete serialized statement content, whether that payload is
attached or detached as permitted by <xref target="RFC9052"/>. Protected <tt>content_type</tt>
(label 3) MUST identify the serialization selected by the payload profile
using a media type or content-format value permitted by <xref target="RFC9943"/> and
<xref target="RFC6838"/>. CPB neither constructs media-type names from payload-class names
nor registers a payload format. The RFC 9995 parameters 258, 259, and 260
MUST NOT appear in this mode.</t>
      </section>
      <section anchor="hash-envelope-mode">
        <name>Hash Envelope Mode</name>
        <t>In Hash Envelope Mode, let s be the complete statement content after any
carried derived identifier has been populated. The Signed Statement MUST
conform to the COSE Hash Envelope rules in <xref target="RFC9995"/> in addition to the
applicable <xref target="RFC9943"/> requirements stated above. The payload supplied to
COSE signing and verification MUST be the raw octet string:</t>
        <artwork><![CDATA[
RAW-DIGEST(A, s) = H_A(A(s))
]]></artwork>
        <t>It MUST NOT be the hexadecimal or other encoded CANONICAL-DIGEST value. If
the COSE payload is detached, the externally supplied payload is this same
raw digest value.</t>
        <t>The profile's derived-identifier exclusion set MUST NOT be applied to this
Hash Envelope computation: RFC 9995 binds the complete statement content.
The derived identifier remains a separate computation over s with its
declared exclusion set as specified in <xref target="derived-id"/>. Even when both use the
same canonicalization and hash algorithm, a producer or verifier MUST NOT
assume the Hash Envelope payload is the raw representation of the derived
identifier. A verifier processing a carried derived identifier MUST check
that identifier separately from the Hash Envelope content binding.</t>
        <t>The protected header MUST contain <tt>payload-hash-alg</tt> (CDDL
<tt>payload_hash_alg</tt>, label 258), identifying H_A by its COSE hash-algorithm
identifier, and <tt>preimage-content-type</tt> (CDDL
<tt>payload_preimage_content_type</tt>, label 259), identifying the media type or
content format of the exact canonical octets A(s) that were hashed. A
<tt>payload-location</tt> (CDDL <tt>payload_location</tt>, label 260) MAY also appear in
the protected header. As
required by <xref target="RFC9995"/>, labels 258 through 260 MUST NOT appear in the
unprotected header, and <tt>content_type</tt> (label 3) MUST NOT appear in either
header bucket.</t>
        <t>The applicable payload profile MUST identify A and the complete preimage
construction. Label 258 selects only H_A; a verifier MUST NOT treat it as a
canonicalization-algorithm identifier. An algorithm used in Hash Envelope
Mode MUST have an unambiguous COSE hash-algorithm mapping in its
Canonicalization Algorithm Registry entry (<xref target="iana-alg"/>).</t>
        <t>A verifier that has not obtained s can establish Signature-Valid status and,
after applying its issuer/key policy, can authenticate the digest claim, but
it has not verified the content binding.
To verify that binding, it MUST obtain s, compute A(s), apply the function
identified by label 258, and compare the raw result to the COSE payload.
<tt>cpb-refs</tt> MAY be used in either envelope mode, subject to
<xref target="envelope-carriage"/>.</t>
      </section>
    </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 a digest associated with
the derived identifier, the algorithms defined in this document produce a
32-byte RAW-DIGEST and a 64-character hexadecimal CANONICAL-DIGEST
representation of that value (<xref target="representation"/>). The VDS or an applicable
profile MUST state which one is its leaf input, and producer and verifier MUST
use that same representation. Algorithms registered later may have different
output sizes.</t>
        <t>For example, when that declaration selects RAW-DIGEST and the carried derived
identifier is a 64-character hexadecimal string D, the leaf input is:</t>
        <artwork><![CDATA[
leaf_input = bytes.fromhex(D)    -- 32 raw bytes
]]></artwork>
        <t>Under that RAW-DIGEST declaration, the following is incorrect:</t>
        <artwork><![CDATA[
leaf_input = D.encode("utf-8")  -- 64 ASCII bytes, not RAW-DIGEST
]]></artwork>
        <t>If the declaration instead selects the textual CANONICAL-DIGEST, the latter
64 ASCII bytes are the declared input. A verifier constructing a leaf MUST
apply the declared selection and MUST NOT infer it from the apparent shape of
the value. Confusing raw bytes with their hexadecimal encoding produces a
different leaf hash.</t>
      </section>
    </section>
    <section anchor="typed-refs">
      <name>Typed Digest References (Information Model)</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>This section defines a typed digest reference as an abstract information
model: four members, their meaning, and their requiredness. It does not fix a
payload serialization. CPB defines an optional protected-header serialization
in <xref target="envelope-carriage"/>; a payload profile may instead define its own
serialization as described in <xref target="payload-carriage"/>.</t>
      <t>A typed digest reference has the following members:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Member</th>
            <th align="left">Value</th>
            <th align="left">Req</th>
            <th align="left">Meaning</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">type</td>
            <td align="left">text</td>
            <td align="left">REQUIRED</td>
            <td align="left">The artifact-type identifier defined by a stable specification that the consuming profile explicitly accepts. CPB does not register these values.</td>
          </tr>
          <tr>
            <td align="left">purpose</td>
            <td align="left">text</td>
            <td align="left">CONDITIONAL</td>
            <td align="left">Selects one digest context for the resolved type. It is REQUIRED when that type has multiple accepted contexts and otherwise follows <xref target="comparability"/>.</td>
          </tr>
          <tr>
            <td align="left">digest_alg</td>
            <td align="left">text</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">digest in the context's declared representation</td>
            <td align="left">REQUIRED</td>
            <td align="left">The digest of the cited artifact, in the exact representation declared by the selected digest context.</td>
          </tr>
        </tbody>
      </table>
      <t>These are the only members of the CPB information model. A payload profile
may place profile-specific fields beside its rendering of a typed reference,
but those fields are not CPB typed-reference extensions and their processing
is governed solely by that profile. The <tt>cpb-refs</tt> map is closed in this
version; see <xref target="envelope-carriage"/>.</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>A consuming profile that accepts typed references MUST identify, by stable
normative reference, every artifact-type declaration that it accepts. Each
declaration MUST bind an exact <tt>type</tt> token to one or more digest contexts.
Each context MUST state its preimage construction, canonicalization
algorithm, hash function, exact <tt>digest_alg</tt> token, output representation,
and a purpose label when required below. A deployment MAY select a subset of
the declarations its consuming profile permits, but it MUST NOT redefine a
token or any parameter of its cited declaration. CPB creates no artifact-type
registry and does not authorize discovery from an unspecified or mutable
registry snapshot.</t>
        <t>The verifier MUST use <tt>type</tt> and, when present, <tt>purpose</tt> to select exactly
one accepted context:</t>
        <ul spacing="normal">
          <li>
            <t>If exactly one context is accepted for <tt>type</tt>, <tt>purpose</tt> MAY be absent. If
it is present, it MUST exactly match that context's declared purpose;
otherwise the reference is Unresolved.</t>
          </li>
          <li>
            <t>If multiple contexts are accepted for <tt>type</tt>, every context MUST have a
distinct, non-empty purpose label and the reference MUST carry <tt>purpose</tt>.
An absent or non-matching value makes the reference Unresolved.</t>
          </li>
          <li>
            <t>If no declaration matches, or declarations from more than one normative
source leave the selection ambiguous, the reference is Unresolved. The
verifier MUST NOT choose by entry order, apparent recency, or preferred
algorithm.</t>
          </li>
          <li>
            <t>A profile or deployment configuration containing duplicate <tt>(type,
purpose)</tt> selections is invalid and MUST NOT be used for verification.</t>
          </li>
        </ul>
        <t>After selecting a context, the verifier MUST compare <tt>digest_alg</tt> with the
exact token declared by that context. Comparison is case-sensitive and
octet-for-octet: no case folding, alias table, or whitespace trimming is
permitted. A mismatch makes the reference Failed; the verifier MUST NOT
silently use the context's algorithm while ignoring the supplied value.</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. The selected digest context
determines it; <tt>digest_alg</tt> is a redundant consistency declaration for
algorithm agility and downgrade detection.</t>
        <t>The verifier MUST next check that the carried value uses the selected
context's declared representation. A mismatch is Failed. If the
representation matches but the cited artifact cannot be obtained, the state
is Unresolved. If the context is valid but the verifier does not implement its
construction, the state is also Unresolved. Otherwise, the verifier
MUST recompute the digest using the selected context and compare it
byte-for-byte with <tt>digest</tt>. Equal values produce Verified; unequal values
produce Failed. A deterministic conversion
is permitted only when the selected context expressly defines that conversion
and its output comparison representation.</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>
        <t>The enclosing Signed Statement's signature result is independent of these
states. A verifier SHOULD return the signature result and each reference
result separately. It MUST NOT treat a typed reference as authenticated or
actionable on behalf of the issuer unless the Signed Statement is
Issuer-Authenticated.
A Signature-Valid statement can contain an Unresolved or Failed reference;
a Verified digest match does not authenticate an issuer whose signature did
not validate.</t>
        <t>The consuming profile MUST define the disposition of every non-Verified
state. It MUST NOT rely on an Unresolved, Failed, or Malformed reference as
evidence of a content binding.</t>
      </section>
      <section anchor="carriage-selection">
        <name>Carriage Selection</name>
        <t>A payload profile that uses CPB typed references MUST select exactly one
carrier for them in each Signed Statement: <tt>cpb-refs</tt> envelope carriage or a
profile-owned payload carriage. A producer MUST NOT use both carriers in one
Signed Statement, whether for the same or different citations. A
profile-aware verifier that detects both MUST classify the Signed Statement
as nonconforming and MUST NOT merge the sets or prefer one carrier. A generic
CPB verifier is not expected to recognize a payload profile's private
serialization.</t>
      </section>
      <section anchor="envelope-carriage">
        <name>Envelope Carriage</name>
        <t>A CPB-bound Signed Statement MAY carry its typed digest references as a
COSE protected header parameter, <tt>cpb-refs</tt>, registered in <xref target="iana-header"/>.
The parameter MUST NOT occur in the unprotected header. Its value is defined
by this CDDL <xref target="RFC8610"/>:</t>
        <artwork><![CDATA[
cpb-refs = [1*64 typed-digest-reference]

typed-digest-reference = {
  1 => type-tstr,  ; type
  ? 2 => purpose-tstr,  ; purpose
  3 => digest-alg-tstr,  ; digest_alg
  4 => digest-value  ; digest
}

type-tstr = tstr .size (1..255)
purpose-tstr = tstr .size (1..64)
digest-alg-tstr = tstr .size (1..32)
digest-value = tstr .size (1..128) / bstr .size (1..128)
]]></artwork>
        <t>The integer keys have these meanings:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Member</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">type</td>
              <td align="left">text string</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">purpose</td>
              <td align="left">text string</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">digest_alg</td>
              <td align="left">text string</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">digest</td>
              <td align="left">text string or byte string, matching the selected context's representation (<xref target="representation"/>)</td>
            </tr>
          </tbody>
        </table>
        <t>The encoded UTF-8 lengths of <tt>type</tt>, <tt>purpose</tt>, and <tt>digest_alg</tt> MUST be,
respectively, 1 through 255, 1 through 64, and 1 through 32 octets. The
encoded value at key 4 MUST be 1 through 128 octets. The array MUST contain
1 through 64 entries. These limits are part of the wire profile;
implementations MAY impose lower deployment limits only when their
registration or consuming policy advertises those limits before accepting
statements.</t>
        <t>The map is closed. Keys other than 1 through 4 are not extensions: their
presence makes the entire <tt>cpb-refs</tt> value Malformed. Any missing required
key, wrong CBOR type, empty or oversized value, or array outside the declared
bounds has the same result. A future extension that changes the reference
map requires a standards update or a new COSE header parameter; it MUST NOT
be introduced through an unrecognized inner-map key.</t>
        <t>CBOR map keys MUST be unique as required by this protocol's application of
<xref target="RFC8949"/>. A decoder MUST detect duplicate keys before any data-model
conversion that could discard them. Repeated array entries with the same
decoded four-member tuple are also forbidden. A duplicate key or repeated
entry makes the entire <tt>cpb-refs</tt> value Malformed; first-wins, last-wins,
partial-success, and duplicate-weighting behavior are prohibited. If any
array entry is Malformed, a verifier MUST NOT report another entry from that
header value as Verified. The COSE signature result remains independently
reportable.</t>
        <t>The CDDL constrains the data model, not the choice among CBOR serializations.
CPB imposes no deterministic-encoding or definite-length requirement beyond
<xref target="RFC8949"/> and <xref target="RFC9052"/>. Test fixtures MAY pin one deterministic encoding
solely to make expected bytes reproducible. A conforming verifier MUST NOT
reject another otherwise valid encoding solely because its bytes differ from
the fixture encoding.</t>
        <t>If a consuming profile requires understanding <tt>cpb-refs</tt> before accepting or
processing the Signed Statement, the producer MUST include the <tt>cpb-refs</tt>
label in the protected <tt>crit</tt> header parameter, and a verifier applying that
profile MUST reject a statement that omits that critical marking. When the
references are advisory to the applicable policy, the producer MAY omit the
label from <tt>crit</tt>. Unsupported critical use is a COSE processing failure as
specified by <xref target="RFC9052"/>. Critical marking does not make a Malformed,
Unresolved, or Failed reference valid.</t>
        <t><tt>cpb-refs</tt> is signature-covered because it is protected-header content, but
it becomes authenticated as an issuer claim only after the Signed Statement
is Issuer-Authenticated. It is not covered by the payload's derived identifier
(<xref target="derived-id"/>), which is computed from the payload content alone.</t>
      </section>
      <section anchor="payload-carriage">
        <name>Payload Carriage</name>
        <t>This section is informative.</t>
        <t>A payload profile MAY carry typed digest references in its own
serialization — JSON, CBOR, or any other format the payload class
defines — as part of the payload bytes that the derived identifier is
computed over. This document does not define that serialization: a
payload profile that carries references this way states its own field names,
container structure, extension behavior, and any profile-specific
requiredness beyond <xref target="typed-refs"/>'s information model. In Full-Content Mode,
the serialized reference data are part of the content supplied to COSE
signature verification. In Hash Envelope Mode, the raw digest of the complete
statement content is supplied instead, and the reference data are covered only
after the verifier obtains that content and validates the hash binding as
specified in <xref target="hash-envelope-mode"/>. Neither kind of coverage makes a typed
reference Verified without the processing in <xref target="comparability"/>.
<xref target="appendix-d"/> describes one profile-owned example without defining its wire
format here. The prohibition on dual carriage in <xref target="carriage-selection"/>
still applies.</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>When a payload profile uses CPB to bind an artifact of another type, it MUST
NOT require the CPB citation-binding verifier to interpret the other payload
profile's internal fields. The CPB relationship is expressed through a typed
reference (<xref target="typed-refs"/>) that resolves against the cited artifact type's own
digest-context declaration.</t>
      <t>This constraint keeps CPB binding verification decomposable: a verifier
evaluates each digest under its own declared context. It does not prohibit an
application or consuming profile from defining additional joint semantics or
appraisal after the independent content bindings have been checked.</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 when the applicable payload profile defines
that parameter's label, type, and processing. CPB does not assign a discovery
label or wire encoding. Any such parameter is advisory only: it can help log
tooling locate a record's content-address without parsing the payload, but it
carries no binding guarantee.</t>
      <t>A verifier MUST NOT rely on an advisory mirror without obtaining the content
and recomputing its derived identifier under the applicable payload profile.
A mismatch is a defect in the record and MUST be reported.</t>
      <t>Section 3.11.2 of <xref target="I-D.birkholz-verifiable-agent-conversations"/> defines an
unprotected <tt>trace-metadata</tt> map with optional <tt>content-hash</tt> and
<tt>content-hash-alg</tt> members. That is an analogous profile-owned discovery
mechanism. CPB does not assert wire compatibility with it.</t>
    </section>
    <section anchor="cross-cutting">
      <name>Extensibility and Cross-Cutting Facilities</name>
      <t>This section is informative.</t>
      <t>This specification does not define selective disclosure, countersignature or
multi-party attestation, record-relation semantics, erasure tombstones,
producer timestamps or validity periods, batch aggregation, or profile
versioning. A companion or payload profile that defines one specifies its own
semantics and wire behavior; it does not thereby extend the closed <tt>cpb-refs</tt>
map.</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 preimage of RAW-DIGEST, and therefore of 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 the hash
function 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. A payload profile that relies on CPB to
verify a citation MUST express it as a typed digest reference (<xref target="typed-refs"/>)
that pins 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 uniquely
resolvable, profile-authorized digest-context declaration, the reference is
Unresolved and the consuming profile determines the disposition
(<xref target="comparability"/>). A verifier MUST NOT invent a mapping or reinterpret an
existing type token to make an earlier citation verifiable.</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>CPB provides integrity binding, not confidentiality. Full-Content Mode exposes
the statement payload unless another applicable mechanism protects it. Hash
Envelope Mode can withhold the preimage, but exposes a stable digest. COSE
protected headers are integrity-protected after successful signature
validation and issuer-authenticated only after the applicable key policy
succeeds; they are not encrypted. In particular, <tt>cpb-refs</tt> exposes each reference's
type, purpose, digest algorithm, and digest value, together with citation-graph
structure. These values can enable correlation across records and dictionary
attacks against low-entropy artifacts.</t>
      <t>A producer SHOULD omit <tt>cpb-refs</tt> or use a profile-defined confidential
payload carrier when public header visibility is inappropriate. A consuming
profile MUST analyze whether its type and purpose values, stable digests, or
citation topology disclose identities, relationships, workflow state, or
otherwise sensitive information. <tt>type</tt> and <tt>purpose</tt> MUST NOT contain secrets
or unnecessary personal data.</t>
      <t>Low-entropy fields are not confidential merely because they are digested
(<xref target="security"/>). Salting, unlinkable identifiers, and selective-disclosure
commitments can reduce some risks, but each changes the digest context and
MUST be explicitly declared by the applicable profile. A verifier MUST NOT
introduce such a transformation implicitly.</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, and one registration in an existing IANA
registry, the <tt>cpb-refs</tt> COSE Header Parameter (<xref target="iana-header"/>). The
Canonicalization Algorithm Registry uses the Specification Required
policy (<xref target="RFC8126"/>, Section 4.6); a Designated Expert is required for each
registration. This document neither creates nor depends on an artifact-type
registry. Artifact-type and digest-context declarations are owned and
selected by profiles as specified in <xref target="comparability"/>.</t>
      <t>An active entry's algorithm semantics are immutable. If a behavior change is
needed, a new entry MUST be registered; an existing name MUST NOT be
reinterpreted. Status changes follow the rules below and the same
Specification Required policy. IANA is the registry maintainer; no source
repository or other body is an alternative registry authority. Before RFC
publication, the names in this document are draft-local and the table below
is only the requested initial registry contents.</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>Status: <tt>Active</tt>, <tt>Reserved</tt>, or <tt>Withdrawn</tt>.</t>
          </li>
          <li>
            <t>Preimage construction: A normative description sufficient to implement the
canonicalization or byte-selection operation deterministically.</t>
          </li>
          <li>
            <t>Hash function and typed-reference token: The hash function and the exact
<tt>digest_alg</tt> string used by a digest context based on this entry.</t>
          </li>
          <li>
            <t>COSE hash algorithm: The integer COSE Algorithms registry value used for
RFC 9995 Hash Envelope Mode, or "N/A" when that mode is unsupported.</t>
          </li>
          <li>
            <t>Output representation: The exact ENCODE_A operation and result type.</t>
          </li>
          <li>
            <t>Test vectors: Public positive and negative vectors covering preimage and
output boundaries.</t>
          </li>
          <li>
            <t>Reference: The stable, publicly available specification that defines the
algorithm.</t>
          </li>
        </ul>
        <t>An <tt>Active</tt> entry MUST complete every field other than permitting "N/A" for
the COSE hash algorithm when Hash Envelope Mode is unsupported. A <tt>Reserved</tt>
entry binds only its name and MAY use "N/A" for the remaining algorithm
fields. Promotion from <tt>Reserved</tt> to <tt>Active</tt> requires a complete registration.
An <tt>Active</tt> or <tt>Reserved</tt> entry MAY become <tt>Withdrawn</tt>; withdrawal is terminal,
prohibits new use, and does not erase an active entry's last definition, which
remains available for historical verification. A <tt>Withdrawn</tt> name MUST NOT be
reassigned.</t>
        <t>The Designated Expert MUST verify that each required field is unambiguous, the
cited specification and vectors are publicly available for an active entry,
and the requested registration or status change does not alter the semantics
of an existing active or withdrawn definition.</t>
        <t>Initial contents:</t>
        <t>The preimage construction for each active entry is defined in
<xref target="algorithms"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Status</th>
              <th align="left">Hash / token</th>
              <th align="left">COSE</th>
              <th align="left">Output</th>
              <th align="left">Test Vectors</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">jcs</td>
              <td align="left">Active</td>
              <td align="left">SHA-256 / <tt>SHA-256</tt></td>
              <td align="left">-16</td>
              <td align="left">64-char lowerhex</td>
              <td align="left">
                <xref target="test-vector-locations"/></td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">jcs-n</td>
              <td align="left">Withdrawn</td>
              <td align="left">SHA-256 / <tt>SHA-256</tt></td>
              <td align="left">-16</td>
              <td align="left">64-char lowerhex</td>
              <td align="left">
                <xref target="test-vector-locations"/></td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">cde-n</td>
              <td align="left">Withdrawn</td>
              <td align="left">N/A</td>
              <td align="left">N/A</td>
              <td align="left">N/A</td>
              <td align="left">N/A -- no definition exists</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">as-transmitted</td>
              <td align="left">Active</td>
              <td align="left">SHA-256 / <tt>SHA-256</tt></td>
              <td align="left">-16</td>
              <td align="left">64-char lowerhex</td>
              <td align="left">
                <xref target="test-vector-locations"/></td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <section anchor="test-vector-locations">
          <name>Test Vector Locations</name>
          <t>The public vector locations named by the initial registrations are:</t>
          <ul spacing="normal">
            <li>
              <t><tt>jcs</tt>: https://github.com/action-state-group/scitt-payload-binding/tree/main/vectors/jcs</t>
            </li>
            <li>
              <t>historical <tt>jcs-n</tt>: https://github.com/action-state-group/scitt-payload-binding/tree/main/vectors/jcs-n</t>
            </li>
            <li>
              <t><tt>as-transmitted</tt>: https://github.com/action-state-group/scitt-payload-binding/tree/main/vectors/as-transmitted</t>
            </li>
          </ul>
          <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; for a typed
reference, the outcome is Failed. 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="iana-header">
        <name>COSE Header Parameters Registration</name>
        <t>This document requests registration of the following entry in the "COSE
Header Parameters" registry <xref target="RFC9052"/>, Section 11.1:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Label</th>
              <th align="left">Value Type</th>
              <th align="left">Value Registry</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">cpb-refs</td>
              <td align="left">TBD1</td>
              <td align="left">array</td>
              <td align="left"> </td>
              <td align="left">A closed, bounded array of typed digest references encoded as specified in <xref target="envelope-carriage"/></td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to assign an integer value for TBD1. The registry uses the
Specification Required policy (<xref target="RFC8126"/>, Section 4.6). <tt>cpb-refs</tt> may
appear in the protected header only and MUST NOT appear in the unprotected
header. Its critical-processing behavior and the distinction among
signature coverage, authentication, and reference verification are specified
in <xref target="envelope-carriage"/>.</t>
      </section>
    </section>
    <section anchor="related">
      <name>Related Work</name>
      <t><xref target="RFC9995"/> defines the protected parameters and COSE payload semantics for
signing a hash rather than its preimage. CPB Hash Envelope Mode
(<xref target="hash-envelope-mode"/>) uses that format and adds the profile-selected
canonicalization step that precedes the registered hash function.</t>
      <t><xref target="RFC9942"/> defines generic COSE Receipts. The CCF Receipt Profile
<xref target="I-D.ietf-scitt-receipts-ccf-profile"/> defines one VDS-specific Receipt
profile. CPB does not alter either format.</t>
      <t><xref target="I-D.hillier-scitt-arp"/> independently derives a similar canonical claim
construction in its Sections 3 and 4.1. Its Claim Hash uses its own
normalization, deterministic encoding, and deployment-blinding rules. It is
not byte-compatible with a CPB <tt>jcs</tt> identifier, and implementations MUST NOT
substitute one construction for the other.</t>
      <t><xref target="I-D.birkholz-verifiable-agent-conversations"/> defines trace-metadata
at the conversation grain in Section 3.11.2, including optional content-hash
metadata in an unprotected header. <xref target="discovery"/> notes the analogous design
without claiming a shared label or wire format. CPB does not normatively
depend on that document.</t>
      <t><xref target="I-D.le-scitt-derived-subjects"/> derives a protected CWT <tt>sub</tt> value from an
application-admitted structured Value. It explicitly does not derive that
subject from the Statement payload or define generic payload binding. CPB
instead derives identifiers for Statement content and binds digest references;
it does not replace that document's subject-identity profile.</t>
      <t><xref target="I-D.le-comparing-derived-identifiers"/> gives general principles for fixing
the comparison domain, equivalence relation, and complete derivation semantics
of independently produced identifiers. It defines no wire syntax,
canonicalization format, or hash procedure. CPB instantiates such choices for
its narrower Statement-content and typed-reference mechanisms.</t>
      <t><xref target="I-D.nobuo-scitt-protected-object-binding"/> defines protected-object and
Statement-reference models, relationship vocabulary, and an optional graph
manifest. It does not define CPB's canonicalization algorithms, derived-
identifier procedure, or <tt>cpb-refs</tt> carrier; CPB does not import its graph
semantics.</t>
      <t><xref target="RFC6920"/> defines hash-based <tt>ni</tt> and <tt>nih</tt> names, URI/URL representations,
and associated registries. CPB defines the structured-content preimage and
digest context used for its bindings but defines no URI syntax or resolution
protocol.</t>
      <t><xref target="I-D.schrock-ep-authorization-receipts"/> defines an authorization receipt
that binds an enrolled approver key to one action before execution, and states
that the receipt establishes only the guarantees of the verification profile
it selects. CPB defines no approver enrolment and no authorization semantics:
a Signed Statement constructed under this document carries no claim that the
action it describes was authorized.</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.
They address composition and appraisal questions outside CPB's payload-neutral
binding rules; CPB does not import their payload semantics.</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="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="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="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </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="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9942">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9942"/>
          <seriesInfo name="DOI" value="10.17487/RFC9942"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
        <reference anchor="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC6920">
          <front>
            <title>Naming Things with Hashes</title>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="D. Kutscher" initials="D." surname="Kutscher"/>
            <author fullname="C. Dannewitz" initials="C." surname="Dannewitz"/>
            <author fullname="B. Ohlman" initials="B." surname="Ohlman"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document defines a set of ways to identify a thing (a digital object in this case) using the output from a hash function. It specifies a new URI scheme for this purpose, a way to map these to HTTP URLs, and binary and human-speakable formats for these names. The various formats are designed to support, but not require, a strong link to the referenced object, such that the referenced object may be authenticated to the same degree as the reference to it. The reason for this work is to standardise current uses of hash outputs in URLs and to support new information-centric applications and other uses of hash outputs in protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6920"/>
          <seriesInfo name="DOI" value="10.17487/RFC6920"/>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="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="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 year="2026" month="August" day="28"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-scitt-agent-action-capsule-04"/>
        </reference>
        <reference anchor="I-D.hillier-scitt-arp">
          <front>
            <title>Attestation Reconciliation Protocol</title>
            <author initials="J." surname="Hillier" fullname="Joel Hillier">
              <organization>Certisyn, Inc.</organization>
            </author>
            <date year="2026" month="August" day="13"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hillier-scitt-arp-03"/>
        </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>MyAuberge K.K.</organization>
            </author>
            <author initials="I." surname="Schrock" fullname="Iman Schrock">
              <organization>EMILIA Protocol, Inc.</organization>
            </author>
            <author initials="S." surname="Bu" fullname="Songbo Bu">
              <organization>Independent</organization>
            </author>
            <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
              <organization>Tyche Institute</organization>
            </author>
            <date year="2026" month="August" day="16"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-sato-agent-accountability-composition-01"/>
        </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 year="2026" month="August" day="31"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sokolov-rats-aep-composition-06"/>
        </reference>
        <reference anchor="I-D.schrock-ep-authorization-receipts">
          <front>
            <title>Authorization Receipts for High-Risk Agent Actions</title>
            <author initials="I." surname="Schrock" fullname="Iman Schrock">
              <organization>EMILIA Protocol, Inc.</organization>
            </author>
            <date year="2026" month="August" day="16"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-authorization-receipts-12"/>
        </reference>
        <reference anchor="I-D.birkholz-verifiable-agent-conversations">
          <front>
            <title>Verifiable Agent Conversation Records</title>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <author initials="T." surname="Heldt" fullname="Tobias Heldt">
              <organization/>
            </author>
            <author initials="O." surname="Steele" fullname="Orie Steele">
              <organization/>
            </author>
            <date year="2026" month="August" day="31"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-verifiable-agent-conversations-01"/>
        </reference>
        <reference anchor="I-D.le-scitt-derived-subjects">
          <front>
            <title>SCITT Profile for Independently Derived Subjects</title>
            <author initials="T." surname="Le" fullname="Thanh Le">
              <organization/>
            </author>
            <date year="2026" month="August" day="22"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-le-scitt-derived-subjects-00"/>
        </reference>
        <reference anchor="I-D.le-comparing-derived-identifiers">
          <front>
            <title>Principles for Comparing Independently Derived Identifiers</title>
            <author initials="T." surname="Le" fullname="Thanh Le">
              <organization/>
            </author>
            <date year="2026" month="August" day="22"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-le-comparing-derived-identifiers-00"/>
        </reference>
        <reference anchor="I-D.nobuo-scitt-protected-object-binding">
          <front>
            <title>SCITT Statement Relationship and Protected Object Binding</title>
            <author initials="N." surname="Aoki" fullname="Nobuo Aoki">
              <organization>The Graduate University for Advanced Studies (SOKENDAI)</organization>
            </author>
            <date year="2026" month="July" day="07"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-nobuo-scitt-protected-object-binding-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 year="2026" month="April" day="25"/>
          </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 year="2026" month="June" day="04"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lee-orprg-permit-receipts-00"/>
        </reference>
      </references>
    </references>
    <?line 1360?>

<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>Use Full-Content Mode (<xref target="full-content-mode"/>): wrap the complete payload,
including the now-populated <tt>record_id</tt>, in an RFC 9943 Signed Statement.
Its protected header includes:</t>
      <ul spacing="normal">
        <li>
          <t><tt>alg</tt>: the producer's signing algorithm;</t>
        </li>
        <li>
          <t><tt>content_type</tt>: <tt>application/example+json</tt>, used here only as the
illustrative media type from the RFC 9943 examples;</t>
        </li>
        <li>
          <t>CWT Claims (label 15), including an <tt>iss</tt> such as
<tt>https://issuer.example</tt> and a <tt>sub</tt> such as
<tt>urn:example:temperature-record:WS-42</tt>; and</t>
        </li>
        <li>
          <t>key identification or certificate parameters conforming to RFC 9943.</t>
        </li>
      </ul>
      <t>A real <tt>temperature-record</tt> profile would specify an appropriate media type;
CPB does not register one.</t>
      <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 validates the Signed Statement signature and RFC 9943 headers,
extracts the payload, strips <tt>record_id</tt>, applies JCS, recomputes SHA-256,
and compares the result to the carried <tt>record_id</tt>. If a Receipt is present,
the verifier separately verifies it under a trusted Transparency Service
key. The signature, content binding, and Receipt results remain distinct.</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>
      <t>For this example, the profile selects payload carriage and therefore the
Signed Statement does not also contain <tt>cpb-refs</tt>. The profile accepts a
stable specification for <tt>authorization-doc</tt> that declares exactly one
digest context, using <tt>jcs</tt>, the <tt>SHA-256</tt> token, and lowercase hexadecimal
output. <tt>purpose</tt> is therefore omitted.</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> a profile-aware parser first extracts the reference from
the <tt>decision-record</tt> payload. Generic citation-binding verification then
needs the accepted <tt>authorization-doc</tt> digest-context declaration and cited
artifact, but no other <tt>decision-record</tt> semantics. Whether this citation
slot permits that type is determined by the consuming profile. Artifact
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 (<tt>RFC9162_SHA256</tt> VDS; <xref target="RFC9162"/>). 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">agent-action-capsule PR #40</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>
        <t>The composition vector set behind the EP row is public and hash-pinned:
<tt>action-state-group/agent-action-capsule</tt> pull request #40, merged as commit
<tt>ff6edfedb6f9c72dd65b8eb870d38958421d35bc</tt>, directory
<tt>interop-vectors/composition</tt>, with a <tt>SHA256SUMS</tt> manifest fixing the
seventeen files it lists. What that set carries is the capsule producer's and
the receipt producer's independent computations of <tt>8cf0c36e...</tt>. It does not
carry a third computation of that digest; its reserved third-attestor case is
a placeholder for a separate attestor's claim over the same subject and is not
runnable. A reader comparing the two should note that the row above reports
what the parties ran in July, and this set was frozen afterwards.</t>
      </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 anchor="appendix-d">
      <name>Profile-Owned Payload Carriage Example</name>
      <t>This appendix is informative. Section 5.5.5 of
<xref target="I-D.mih-scitt-agent-action-capsule"/> defines a payload-level <tt>references</tt>
array. In revision -04, each entry's identity uses the profile-owned JSON
members <tt>type</tt>, <tt>digest_alg</tt>, and <tt>digest</tt>; the separate
<tt>citation_purpose</tt> member describes why the Capsule cites the target. That
field is not CPB's <tt>purpose</tt>, which selects a digest context.</t>
      <t>This is an example of the profile-owned payload carriage described in
<xref target="payload-carriage"/>, not a CPB JSON wire format. CPB neither imports nor
redefines AAC's field names, additional members, or extension behavior.
Implementers of that carrier follow the cited AAC revision. An AAC consuming
profile that applies CPB verification also identifies by stable normative
reference the artifact-type and digest-context declarations it accepts, as
required by <xref target="comparability"/>, and does not include <tt>cpb-refs</tt> in the same
Signed Statement.</t>
    </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 RFC 8785 JCS 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; wording narrowed at the
contributor's request 2026-09-07 — the single-digest composition instance
(<tt>8cf0c36e...</tt>), in which an authorization receipt
<xref target="I-D.schrock-ep-authorization-receipts"/> and an action record produced by
different implementations carry the same action digest. The vector set cited
in <xref target="appendix-c2"/> contains those two computations.</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:
H4sIAAAAAAAAA72963bbSJYu+D+eAsv5I6VsgrbkS9rSqumWZWWWqtKXsZSZ
q6ZOjQWSoIgSCbABUEqW7V7n1zzArFlrHmHeY+ZNzpPMvkcEAMrOma7uS5VM
goG47Nj3/e00TV1btMv8KHlwmpVVWUyzZfIu2y6rbJa8LMpZUV4fJSfJRXFd
5rPkos3afJWXbXJalU1bb6ZtUZXJu7qaF8v8gcsmkzq/vW+wB25WTctsBW+c
1dm8TVfFIm2qm2pZ3abNtGjbdM2/SCf8i/TREzeD1x4lh48On6WPXsD/uSl8
cF3V26OkaWeu2UxWRdPAVNrtGh48P7v8wRXr+iiBKTbt4aNHLx4duqzOM5ja
RT7d1EW7feDuqvrmuq42a/z09Pzy8oG7ybfw6ezIJWlCH+EfU11M8Y8M14uf
ySQTmSR+NMvr4hY2qZjBBhXzIq/xU5zRLJkV13nTJnU+z+u8nOauabNy9iFb
ViXMd5s3bl0cJX9tq+koaaq6hQcb+Gu7wj/+5ly2aRdVTdMqyuYouRgnr4uF
S5KE9/KizW/zUj+r6uuslMnC6fEh0dklP+J6R8l5OR3jk/kqK5awiet8+m8Z
PdfgY+OssFedjJMLPh//upOyxRH9x/EbL7fTRQ7vaIC2Nm2OD8DJwmFdZstl
UZb0QbUpWzzAswbGKrJgNhmOPhai+LcWBxsXNpgrq3oFL7rNYTuS9z+cHh4c
vJA/nx98/8T+PHwmfz57/vi5fnr41J59dvBI//z++VP988UTfeDFo6eH+ueL
J8Gfj+3PF/AzV5Tzzoy+f3qg4z17cahveXHwzA/y6ED+fPLiBU3uPH01LvJ2
Lpegzqd5sW6bdDqdp2u+X/oYXRl6KrsGUkv54NJptm42/FSS6K0+KZMTfEip
4JQf0iubwNQToX38WXjRnqeHz+nDBgg7b3CZPDbMomzzuszb9BXe4egq75wX
3mP8rZEy/U+Pnul/hoia/uerKRv3aVEAteW1zqled7ambXOkdhzifT6tymmx
LDJlaHAVq+XQphw8/l2b0ptE+ujx7n340zj5I/+gsxd/qvJl76t4N07zui2a
bRntAZ1J1lZ2JHTvsgkstd2m02q1rpqCfh/vjdBM+DS8wT8Ol3SGQoBIHxja
4E49+/3k8zVTTR8d/BdSUjD2JbBCmGBn8MtqFX8cD/16e7KZ5PV1nvx5/OfO
gOcw4HRRV9ObzpjnsKm9r+Jxz16f/3R+YqQ6NF/Yi5eb7lZU5fWkCj+Phz0v
Z/k6L1GGxYPFciAYsScMBkbtSwQkTpX7dQaMLsvXu+lRKK+8Tk7W6yXIYqKD
n7JtXuvZnd2i4J3myV3RLuBCryo4yvCOw05N89mmzpshYn188LuI9b6pp4+e
7abPf8Y2Mp2kMAt+pTxvQqRzt8NnkPPRMyQJ/lhcL9L3RXMTCY3B/fqdl/uL
c0wPDndv2j/jnuDOTYr6ZlEt/5HewjLmRTYBMcXcB8QBfNbQGJ39+8WelV06
DZ4lSVLP/jNI7Csndy83/CNwABmms3N/zMub/nfx1v1QZ5tyUYHO6mmONQbU
oZEQRfOBdV/m00UJpHu97fHMP+bLWdt5/WU1KbIm+kp+8HaM7Dpf5p1fvIVd
89/g6cF+sFQVzTsFO+Dv+bRL76TeRApPwOOW2+SV6O0X8utBTejwdx3dzpml
jx7tPizYqp+6q75cZOWCP5YlI6PJajSMdHBvcHRW/g4emxbrZc63+1R/uWMD
zv04/zl7cO9U//9uRVlNNpWajHC5YXvhBRXts9qOQ4Tgbdj3+ZKv0KJYkz7z
TodJ3tIw3mjt7sb38H+/aze+Zrb37sibcXJS3RSdPXmDw8ZfdCTGAvWZbLZB
xebnskC+AeoU0cPJ7BZVNzTrNzNYRbJ38fbPZ29enZzvyx7XGRwg6Jwp2LDF
dZ13jIt3Z6/Of3x/dnaEOwcKFo5GG/kKLul1xA/pha+K66LNlskJKKrzbPCq
PUkPn/6uje1N8d5d/PM4eS8/6Ozkn7O6XRQ3/a/j/fxxuV0v/pHXVSRHlvDa
ql7X1zCLelW0OyTvO/oyFrn8Wfoyh3/kKVxRfCIW0dU8OTlPWdbg7v5a1Tfk
fDj7DXcENvRsPh/mXM/U6vr6W7tjJfdu61/wunbv619A00xeVjfRVx3dGGY1
K0CEo0wFqiTN27k0TZNs0rQ10IhzMbO6gwdb0OWbbQPXuEnaRYa7MoVJJbXQ
WlslGVu1yWWdlQ0wIdAMt+4ir28LINEaxoNNmsFwZQ7038IlaWDOyTTwah3B
GOb5waNa4UHw1yD8Zg4ehom0I3yO/0yz2QzUyyZyAplfaF6DoUDTxcFG6jqi
2TrhTV03Gx63kMuI/mEeJFk5MJQ8yZUOMr1YbrIVn9MYWEDRJLNquqERZ/m8
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
54xET+TY/b+rq5OQHkEBAA==

-->

</rfc>
