<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.38 (Ruby 3.3.11) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-msebenzi-evidence-action-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="evidence.* family">The evidence.* Family: Post-Hoc, Independently Recomputable Evidence Records for AI Agent Actions</title>

    <author initials="M." surname="Msebenzi" fullname="Michael Msebenzi">
      <organization>Headless Oracle</organization>
      <address>
        <postal>
          <city>Johannesburg</city>
          <country>South Africa</country>
        </postal>
        <email>info@bytecraftresults.com</email>
        <uri>https://headlessoracle.com</uri>
      </address>
    </author>

    <date year="2026" month="July" day="28"/>

    
    
    

    <abstract>


<?line 89?>

<t>Autonomous agents act through tool invocations whose consequences outlive the sessions that produce them. Pre-action constraint families gate whether an agent may act: environment.* attests boolean world-state, and verification.* attests calibrated confidence over factual claims. No sibling family records, under equivalent verification discipline, what the agent then did. This document defines the evidence.* family: append-only, hash-chained, signature-bound evidence records of agent actions, designed so that a third party can recompute every verdict from signed primitives and a published key, without trusting the operator's runtime. It defines the family's membership criterion (independent recomputability with fail-closed verification), the family-wide record vocabulary and canonicalization discipline, a tri-state verification protocol (VALID, INVALID, UNVERIFIABLE), composition with the pre-action sibling families, and the conformance-vector discipline under which independent implementations demonstrate byte-level agreement. One reference record type, evidence.action, is specified together with its frozen conformance corpus. This document deliberately states what an evidence record does not prove.</t>



    </abstract>



  </front>

  <middle>


<?line 93?>

<section anchor="introduction"><name>Introduction</name>

<t>An autonomous agent that is permitted to act leaves consequences behind. The
tool invocation completes, the file is written, the payment settles, the
downstream system changes state — and the session that produced the
invocation ends. What remains is whatever the operator chose to keep.</t>

<t>Two constraint families already address the moment before the action. The
environment.* family <xref target="ENV-STATE"/> attests boolean world-state and gates
execution unconditionally on the result. The verification.* family
<xref target="VERIFICATION-STATE"/> attests calibrated confidence over a factual claim and
derives a binary act/halt gate from it. Both are pre-action, both are
fail-closed, and both are recomputable by a relying party that never trusts the
issuer's runtime.</t>

<t>Neither records what the agent then did. The three-leg spine is: a pre-action
gate decides, an action occurs, and a post-hoc evidence record commits to what
occurred. The third leg is the one that is missing, and the gap is felt in the
same register the sibling families named for their own domains. Post-action
evidence today is fragmented across operator logs (unverifiable), platform
audit chains (operator-controlled), and settlement receipts (payment-only).
Each of the three is real infrastructure; none of the three lets a third party
recompute, from published bytes alone, what a specific agent action committed
to.</t>

<t>The gap is felt outside this document. In the x402-foundation public issue
tracker, issue 2332 is titled "Post-settlement accountability layer:
tamper-evident proof of agent action after payment"
(<eref target="https://github.com/x402-foundation/x402/issues/2332">https://github.com/x402-foundation/x402/issues/2332</eref>), with related
discussion at issue 2291 on fulfillment obligations
(<eref target="https://github.com/x402-foundation/x402/issues/2291">https://github.com/x402-foundation/x402/issues/2291</eref>) and issue 2357 on
independently verifiable receipts carried in the payment response
(<eref target="https://github.com/x402-foundation/x402/issues/2357">https://github.com/x402-foundation/x402/issues/2357</eref>). The shape of the
problem raised there is general: an artifact can prove that value moved and
still say nothing a third party can check about what was done for it. This
document cites the discussion for the shape of the gap, not for any specific
protocol, vendor, or field.</t>

<t><xref target="ENV-STATE"/>, Section 3.6 sanctions additional constraint families defined
under the same family-definition discipline, with their own namespaces,
membership criteria, and per-family vocabularies. <xref target="VERIFICATION-STATE"/>
demonstrated that pattern by defining a sibling family rather than a member
entry. This document completes the third leg by applying the same discipline to
the post-action position.</t>

<t>The evidence.* family differs from both pre-action siblings in one structural
respect that the rest of this document follows from: an evidence record does
not gate anything. It is not a constraint. Its verification produces a verdict
about the record, not a permission about an action. What it inherits from the
siblings is the discipline — deterministic canonicalization, signed
primitives, a published key, and a failure mode that never resolves in favour
of acceptance.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="scope"><name>Scope</name>

<t>In scope:</t>

<t><list style="symbols">
  <t>The membership criterion for the evidence.* family.</t>
  <t>The family-wide record vocabulary and canonicalization discipline.</t>
  <t>One reference record type, evidence.action, specified field by field.</t>
  <t>The tri-state verification protocol a verifier executes.</t>
  <t>Composition with the pre-action sibling families.</t>
  <t>The conformance-vector discipline under which independent implementations
demonstrate byte-level agreement.</t>
</list></t>

<t>Out of scope:</t>

<t><list style="symbols">
  <t>Signing-key management policy beyond the discipline of Section 9.</t>
  <t>Retention, storage, indexing, and discovery of chain files.</t>
  <t>Transport of records between parties.</t>
  <t>Any claim about which model, prompt, or software produced an action
(Section 8).</t>
  <t>Normative specification of the payment-reference binding sketched
informatively in Section 7.</t>
</list></t>

</section>
</section>
<section anchor="terminology"><name>Terminology</name>

<t><strong>Record</strong> — A single signed evidence record: a JSON object whose members are
covered by an issuer signature, minus the signature member itself.</t>

<t><strong>Record content</strong> — The record object with the signature member removed. All
canonicalization, hashing, and signing in this family operate on record
content, never on the signed record.</t>

<t><strong>Session</strong> — The scope within which records are chained. Records carry a
session identifier, and chaining is defined within a single session.</t>

<t><strong>Chain</strong> — An ordered sequence of records for one session in which the record
at position i+1 references the entry hash of the record at position i.</t>

<t><strong>Entry hash</strong> — The hash of the canonical bytes of a record's content, used as
the chain link. Its exact construction is specified in Section 4.4.</t>

<t><strong>Genesis</strong> — The synthetic predecessor value used as the chain link for the
first record of a session, derived from a domain-separated preimage rather
than from a constant sentinel. Specified in Section 4.4.</t>

<t><strong>Issuer</strong> — The party that signs records. In this family the issuer is the
operator of the runtime that produced the action, not a third party
(Section 8).</t>

<t><strong>Verifier</strong> — The party that recomputes a chain from the records and a
resolved public key, and emits a verdict. A verifier consumes only the record
bytes and the key; it never queries the issuer's runtime.</t>

<t><strong>Thumbprint</strong> — The JWK thumbprint <xref target="RFC7638"/> of the issuer's signing key,
committed inside the signed bytes and recomputed by the verifier from the key
it resolved.</t>

<t><strong>Verdict</strong> — The terminal output of verification: one of VALID, INVALID, or
UNVERIFIABLE (Section 5).</t>

<t><strong>Strict ingest</strong> — The parse profile under which candidate record bytes are
accepted or rejected before any hash is computed over them (Section 4.6).</t>

</section>
<section anchor="the-evidence-family"><name>The evidence.* Family</name>

<section anchor="sibling-relationship-to-the-pre-action-families"><name>Sibling Relationship to the Pre-Action Families</name>

<t><xref target="VERIFICATION-STATE"/>, Section 3.1 presents a two-column comparison of the
environment.* and verification.* families. The following table extends that
comparison with the post-action column this document defines.</t>

<texttable>
      <ttcol align='left'>Property</ttcol>
      <ttcol align='left'>environment.*</ttcol>
      <ttcol align='left'>verification.*</ttcol>
      <ttcol align='left'>evidence.*</ttcol>
      <c>Temporal position</c>
      <c>pre-action</c>
      <c>pre-action</c>
      <c>post-action</c>
      <c>Predicate</c>
      <c>boolean world-state</c>
      <c>probabilistic claim-confidence in [0,1]</c>
      <c>none: record of what occurred</c>
      <c>Gate shape</c>
      <c>binary halt</c>
      <c>binary halt</c>
      <c>none: verification verdict is tri-state</c>
      <c>Failure discipline</c>
      <c>fail-closed at execution</c>
      <c>fail-closed at execution</c>
      <c>fail-closed at verification</c>
      <c>Attested object</c>
      <c>state of the world</c>
      <c>confidence over a claim</c>
      <c>the action: tool, arguments, result, decision</c>
      <c>Threshold ownership</c>
      <c>oracle-defined, fixed-semantic</c>
      <c>calibration-anchored, mapping-versioned</c>
      <c>none</c>
      <c>Chaining</c>
      <c>none</c>
      <c>none</c>
      <c>per-session append-only hash chain</c>
</texttable>

<t>The pre-action families are fail-closed about acting: uncertainty halts execution. The evidence.* family is fail-closed about believing: uncertainty halts acceptance of the record. The three families meet at the same design intent — ambiguity never resolves in favor of proceeding, whether the proceeding is an action or the acceptance of a claim about one.</t>

<t>The split is structural rather than editorial. A pre-action family owns a
threshold and derives a permission from it; the evidence.* family owns neither.
What carries across all three is the verification model: deterministic
canonicalization, primitives inside the signed bytes, a key resolved from a
published location, and local recomputation by a party that trusts no runtime.</t>

</section>
<section anchor="membership-criterion"><name>Membership Criterion</name>

<t>The membership criterion of the evidence.* family is that a record type's verification <bcp14>MUST</bcp14> be independently recomputable and fail-closed. A record type satisfies this criterion if and only if: (1) every field that contributes to a verification verdict is covered by the issuer's signature; (2) the signed bytes are produced under a deterministic canonicalization that an independent implementation can reproduce byte-for-byte from the record's members — for this family, the JSON Canonicalization Scheme <xref target="RFC8785"/>; (3) records within a session are bound into an append-only hash chain such that removal, insertion, or reordering of any record is detectable from the records alone; and (4) a verifier that cannot complete recomputation — an unresolvable key, a failed canonicalization, a broken chain, a malformed member — <bcp14>MUST</bcp14> return UNVERIFIABLE and <bcp14>MUST NOT</bcp14> report the record as valid. A record type whose verification requires trusting the issuer's runtime, whose signed bytes cannot be independently reproduced, or whose verification degrades to acceptance on failure is outside this family regardless of how it is named.</t>

<t>As with the pre-action families, the criterion is not a per-type design choice
made while a type is being drafted. A record type specification author <bcp14>MUST</bcp14>
establish all four properties before proposing the type for the family, and a
proposed type that does not demonstrably satisfy all four <bcp14>MUST</bcp14> be rejected from
the family on that ground alone.</t>

</section>
<section anchor="namespace"><name>Namespace</name>

<t>Family members are named under the evidence.* namespace using dot notation.
The first component of the type identifier is the literal string evidence; the
second component identifies the kind of occurrence the record type commits to;
further components may be used by future revisions for sub-classification.</t>

<t>The record type specified by this document is evidence.action. Its version
token is carried inside the record and is distinct from the type identifier;
version-token discipline is specified in Section 4.2.</t>

<t>A record type specification author <bcp14>SHOULD</bcp14> choose a second component that names
the kind of occurrence recorded (for example, action) rather than the
implementation, the issuer, or the wire format. IANA <bcp14>MUST NOT</bcp14> register a type
identifier within the evidence.* namespace whose specification does not satisfy
the membership criterion of Section 3.2. The namespace and the criterion are
coupled deliberately: a verifier encountering an evidence.* identifier relies
on the family's discipline holding for that type, and a namespace that admitted
non-conforming types would defeat that reliance.</t>

</section>
<section anchor="adding-new-family-members"><name>Adding New Family Members</name>

<t>A record type specification author <bcp14>MAY</bcp14> propose a new evidence.* record type by
publishing a specification that:</t>

<t>(1) demonstrates that the proposed type satisfies all four properties of the
membership criterion of Section 3.2;</t>

<t>(2) specifies the trust-root mechanism under which a verifier discovers the
issuer's signing key, including how the key is bound to an issuer identity and
how rotation is handled;</t>

<t>(3) specifies a verification algorithm whose terminal states are exactly VALID,
INVALID, and UNVERIFIABLE, with no other terminal state and no path from a
recomputation failure to VALID;</t>

<t>(4) declares every signed member the type adds to the family-wide vocabulary of
Section 4.2, and states for each whether it contributes to a verdict;</t>

<t>(5) declares the type's <bcp14>MUST</bcp14>-implement signing algorithm and any
<bcp14>SHOULD</bcp14>-implement or <bcp14>MAY</bcp14>-implement extension set, under the agility framework of
Section 4.5;</t>

<t>(6) publishes, under the corpus discipline of Appendix A of this document, a
frozen conformance corpus that includes at least one vector whose expected
verdict is a rejection; and</t>

<t>(7) conforms to the register discipline of <xref target="ENV-STATE"/>, Section 6 throughout.</t>

<t>These seven requirements correspond to the Expert Review criteria of
Section 10.3. A specification missing any requirement is not conforming, and
the proposed type <bcp14>MUST NOT</bcp14> be registered until the gap is closed.</t>

</section>
</section>
<section anchor="family-wide-vocabulary-and-the-evidenceaction-record-type"><name>Family-Wide Vocabulary and the evidence.action Record Type</name>

<t>This section specifies the vocabulary shared by every evidence.* record type
and then specifies the reference record type, evidence.action, member by
member. The member names, value spaces, and derivations given here are those of
the reference implementation described in Appendix B; this document does not
introduce members that no implementation carries.</t>

<section anchor="canonicalization"><name>Canonicalization</name>

<t>Every hash and every signature preimage in this family is produced from the
JSON Canonicalization Scheme <xref target="RFC8785"/>. Implementations of an evidence.*
record type <bcp14>MUST</bcp14> apply JCS at every point where bytes are hashed or signed, and
<bcp14>MUST NOT</bcp14> substitute any other serialization at any such point.</t>

<t>The requirement is load-bearing rather than stylistic. Recomputability is the
family's membership criterion, and a non-canonical serializer — one whose
object member order, whitespace, or number formatting varies by
implementation — makes the same logical value hash differently in the issuer
and in the verifier. That divergence appears exactly at the point where the
commitment is supposed to be reproducible.</t>

<t>For the evidence.action record type, JCS is applied at four points:</t>

<t><list style="symbols">
  <t>record content, to derive the entry hash;</t>
  <t>record content, to derive the signature preimage;</t>
  <t>the request descriptor, to derive the request commitment;</t>
  <t>an event's raw arguments value and raw result value, to derive the arguments
hash and result hash.</t>
</list></t>

<t>The hash function at every one of those points is SHA-256, and every hash value
in a record is carried as the string "sha256:" followed by the lowercase
hexadecimal digest.</t>

</section>
<section anchor="family-wide-record-members"><name>Family-Wide Record Members</name>

<t>The following members appear, with identical semantics, on every evidence.*
record.</t>

<t><strong>v</strong> — string, required. The record's version token. The token identifies the
record type and its wire revision together; it is not the IANA type identifier.
For evidence.action the defined tokens are "evidence.action/0" and
"evidence.action/1". A verifier <bcp14>MUST</bcp14> reject a record whose version token it
does not support, and <bcp14>MUST NOT</bcp14> attempt verification under a different version's
rules.</t>

<t><strong>seq</strong> — number, required. The record's zero-based position within its
session's chain.</t>

<t><strong>session_id</strong> — string, required. The identifier of the session the record
belongs to. Chaining is defined within one session_id.</t>

<t><strong>ts</strong> — string, required. The record's issuance time. The reference
implementation writes an ISO 8601 date-time in UTC. The only property a
verifier checks over ts is non-regression within a bounded skew
(Section 5.1); ts is not a trust anchor (Section 9.5).</t>

<t><strong>prev_hash</strong> — string, required. The chain link: the entry hash of the
preceding record in the session, or the genesis value for seq 0
(Section 4.4).</t>

<t><strong>kid</strong> — string, required. The identifier of the key the record was signed
under, as published in the issuer's key set.</t>

<t><strong>key_thumbprint</strong> — string, required on "evidence.action/1", absent on
"evidence.action/0". The JWK thumbprint <xref target="RFC7638"/> of the signing key. It is
inside the signed bytes, and a verifier <bcp14>MUST</bcp14> compare it to the thumbprint of
the key it actually resolved before checking the signature (Section 5.1). A
record at version "evidence.action/1" that omits this member is malformed, and
a verifier <bcp14>MUST NOT</bcp14> verify it.</t>

<t><strong>iss</strong> — string, optional on "evidence.action/1", absent on
"evidence.action/0". The issuer identifier. It is informational: the
cryptographic binding is carried by key_thumbprint, and iss is inside the
signed bytes so that it cannot be rewritten after signing.</t>

<t><strong>jwks_uri</strong> — string, optional. An HTTPS URL naming where the signing key for
this record is published as a JWK Set <xref target="RFC7517"/>. Because it is inside the
signed bytes, it is the
signer committing to a publication location rather than a rewritable hint. A
verifier <bcp14>MUST</bcp14> reject a record whose jwks_uri is present and is not an HTTPS URL
(Section 5.1), and <bcp14>MUST</bcp14> apply the fetch restrictions of Section 9.4 when
resolving it.</t>

<t><strong>sig</strong> — string, required. The signature over the canonical bytes of the
record content, encoded base64url without padding. sig is the one member of a
record that is not part of record content, and therefore not part of any
preimage.</t>

<t>Absence and null are distinct under JCS: an absent member does not appear in
the canonical bytes at all, while a member whose value is null does. A record
type specification author who adds an optional member <bcp14>MUST</bcp14> specify that the
member is omitted when it carries no value, and <bcp14>MUST NOT</bcp14> specify a null
placeholder, because the two forms produce different canonical bytes and
therefore different hashes.</t>

</section>
<section anchor="the-evidenceaction-record-type"><name>The evidence.action Record Type</name>

<t>An evidence.action record commits to one dispatched action. Beyond the
family-wide members of Section 4.2, it carries the following.</t>

<section anchor="agent"><name>agent</name>

<t>Object, required. Two string members, vendor and version, naming the software
that produced the record. This is a self-description by the issuer's runtime
and carries no cryptographic weight; Section 8 states what it does not
establish.</t>

</section>
<section anchor="event"><name>event</name>

<t>Object, required. The action itself, discriminated by a type member. Five event
types are defined:</t>

<t><list style="symbols">
  <t><strong>shell</strong> — members: type, outcome, argv (array of strings), cwd (string),
and optionally exit_code (number), command (string) or command_hash (string),
decision, decision_source. An implementation writes at most one of command and
command_hash.</t>
  <t><strong>file_edit</strong> — members: type, outcome, path (string), content_hash (string),
and optionally prev_content_hash (string), bytes (number). The record carries
the hash of the new content, never the content.</t>
  <t><strong>file_read</strong> — members: type, outcome, path (string), and optionally
content_hash (string).</t>
  <t><strong>tool_call</strong> — members: type, outcome, tool_name (string), args_hash
(string), and optionally result_hash (string), decision, decision_source.</t>
  <t><strong>mcp_call</strong> — members: type, outcome, server (string), tool_name (string),
args_hash (string), and optionally result_hash (string), decision,
decision_source.</t>
</list></t>

<t><strong>outcome</strong> is required on every event and takes one of five values: executed
(the action ran to completion), blocked (a gate stopped it before dispatch),
denied (a policy or human refused it before dispatch), errored (it ran and
threw), timed_out (it exceeded its time budget). An implementation <bcp14>MUST</bcp14> record
blocked, denied, errored, and timed_out outcomes as well as executed ones: a
chain that carries only successes is survivorship-biased and cannot show that a
gate ever fired.</t>

<t><strong>decision</strong> takes one of allow, deny, ask, observed.</t>

<t><strong>decision_source</strong> names the disposition that produced the decision. The values
defined by the reference implementation are user, config, hook, and n/a. The
format additionally defines fail-closed, which names the case where no actor
reached a decision, the policy could not determine an answer, and the safe
default fired. The distinction between config (an explicit rule matched and
denied) and fail-closed (the safe default fired) is carried in the signed
bytes, and a verifier that surfaces a halt cause <bcp14>MUST</bcp14> take decision_source as
the primary signal for it. Appendix B states which of these values the
reference implementation emits today.</t>

<t><strong>args_hash</strong> and <strong>result_hash</strong> are SHA-256 over the JCS canonical bytes of the
raw arguments value and the raw result value respectively. They are hashes of
values, not of a serializer's output: the same logical arguments presented in a
different member order produce byte-identical hashes.</t>

</section>
<section anchor="requestcommitment"><name>request_commitment</name>

<t>String, required, present on every record. It is SHA-256 over the JCS canonical
bytes of the record's request descriptor. The request descriptor is a closed
object derived from the event by a pure function that reads only the members
that constitute the action's identity, and never reads outcome, timing,
environment, or any other post-dispatch value:</t>

<t><list style="symbols">
  <t>shell: class, argv, cwd</t>
  <t>file_edit: class, path, content_hash</t>
  <t>file_read: class, path</t>
  <t>tool_call: class, tool, args_hash</t>
  <t>mcp_call: class, server, tool, args_hash</t>
</list></t>

<t>A descriptor member name is not required to equal the name of the event member
it derives from: the tool_call and mcp_call descriptors carry the action's tool
identifier under the member name tool, derived from the event member tool_name
of Section 4.3.2, and the two names denote the same identifier at their
respective layers.</t>

<t>The descriptor's member set per class is closed. A record type specification
author <bcp14>MUST NOT</bcp14> add members to a defined descriptor class, because the
descriptor is the canonical identity a pre-action gate and a post-action
recorder are compared on, and an open member set makes that comparison
implementation-specific.</t>

</section>
<section anchor="gate"><name>gate</name>

<t>Object or null, required. When null, the record asserts no upstream
authorization binding: the recorder observed the action without a gate having
authorized it through this binding. When present, the object carries four
members:</t>

<t><list style="symbols">
  <t>request_commitment (string) — <bcp14>MUST</bcp14> equal the record's top-level
request_commitment. This equality is the continuity invariant: it is what
makes "the request the gate authorized" and "the request the recorder
observed" the same bytes.</t>
  <t>gate_receipt (string) — a reference to the pre-action authorization the
gate produced. Section 6.3 states the current limit of this member.</t>
  <t>gate_family (string) — one of environment, verification, permit, naming the
class of check the gate ran.</t>
  <t>result (string) — one of act, halt.</t>
</list></t>

<t>gate_family names the class of check; decision_source names the disposition.
The two compose orthogonally, and a verifier <bcp14>MUST NOT</bcp14> infer the cause of a halt
from gate_family alone.</t>

</section>
</section>
<section anchor="chain-construction"><name>Chain Construction</name>

<section anchor="genesis"><name>Genesis</name>

<t>For the record at seq 0, prev_hash <bcp14>MUST</bcp14> equal:</t>

<figure><artwork><![CDATA[
"sha256:" + hex(SHA-256(JCS({
    "v":          <the record's version token>,
    "session_id": <the record's session_id>,
    "marker":     "genesis"
})))
]]></artwork></figure>

<t>The JCS object form is required so that member boundaries are unambiguous. A
separator-less concatenation of the version token, the session identifier, and
a literal marker is non-conforming: it permits cross-session splicing, because
a version token of "x/0" with a session identifier of "123" concatenates to the
same bytes as a version token of "x/01" with a session identifier of "23".</t>

<t>The version token is part of the genesis preimage. A verifier <bcp14>MUST</bcp14> recompute
genesis using the version token carried by the record that opened the chain,
not the version token the verifier itself writes, so that a chain opened under
an earlier version still links.</t>

</section>
<section anchor="entry-hash"><name>Entry Hash</name>

<t>For every record, the entry hash is:</t>

<figure><artwork><![CDATA[
"sha256:" + hex(SHA-256(JCS(record_content)))
]]></artwork></figure>

<t>where record_content is the record object with sig removed.</t>

<t>Stripping sig from the preimage is deliberate. It makes the entry hash
insensitive to signature encoding: a re-encoded signature over identical
content would otherwise produce a different entry hash and break the chain at
precisely the moment when encoding variation makes verification hardest. The
entry hash is a commitment to content; signature checking is a separate,
independent step against a resolved key.</t>

</section>
<section anchor="checkpoint"><name>Checkpoint</name>

<t>A chain file <bcp14>MAY</bcp14> carry a trailing checkpoint: a separately signed object whose
members are the version token, a type member with the value "checkpoint", the
session identifier, a count of records, the entry hash of the last record, a
timestamp, and the key identifier. It is signed the same way a record is:
Ed25519 over the JCS canonical bytes of its content.</t>

<t>When a checkpoint is present, a verifier <bcp14>MUST</bcp14> check that its count equals the
number of records, that its last entry hash equals the entry hash the verifier
computed for the final record, and that its signature verifies. A checkpoint
failure is a chain failure.</t>

</section>
</section>
<section anchor="signature-and-algorithm-agility"><name>Signature and Algorithm Agility</name>

<t>An evidence.action signature is Ed25519 computed directly over the JCS
canonical bytes of the record content. The signature value is encoded base64url
without padding.</t>

<t>The algorithm identifier and the key representation are those of the JOSE
algorithm registration for Edwards-curve signatures <xref target="RFC8037"/>, and the
signature is a detached signature over canonical bytes rather than a JWS
<xref target="RFC7515"/> compact or JSON serialization. An implementation <bcp14>MUST NOT</bcp14> treat an
evidence.action record as a JWS object; the signing input is the canonical
bytes themselves, with no encoded header and no period-delimited signing
input.</t>

<t>Ed25519 signatures are deterministic <xref target="RFC8032"/>: the same key over the same
message produces the same signature bytes. An implementation <bcp14>MUST NOT</bcp14> introduce
nonce or salt material into the signing path, because byte parity of signatures
across independent implementations is one of the properties the conformance
corpus of Appendix A exists to demonstrate.</t>

<t>Following the agility discipline of <xref target="ENV-STATE"/>, Section 4.3, algorithm
choice is a per-type concern. This document declares Ed25519 as the
<bcp14>MUST</bcp14>-implement signing algorithm for evidence.action and declares no
<bcp14>SHOULD</bcp14>-implement or <bcp14>MAY</bcp14>-implement extension set. A verifier <bcp14>MUST</bcp14> reject a
record whose declared algorithm is not in the supported set for the record
type; this rejection is fail-closed and is not a permitted silent downgrade.</t>

<t>A specification defining a successor record type <bcp14>MUST</bcp14> declare its own
<bcp14>MUST</bcp14>-implement algorithm explicitly, and <bcp14>SHOULD</bcp14> specify the conditions under
which the current <bcp14>MUST</bcp14>-implement is deprecated, the migration timeline for
verifiers, and the backward-compatibility guarantee during the transition. The
family-layer obligation is structural: the choice is made per type, declared
explicitly, and honoured by verifiers without fallback.</t>

</section>
<section anchor="strict-ingest"><name>Strict Ingest</name>

<t>A verifier <bcp14>MUST</bcp14> parse candidate record bytes under a strict profile before
computing any hash over them. The strict profile rejects:</t>

<t><list style="symbols">
  <t>a duplicate member name within any object, at any nesting depth; and</t>
  <t>any numeric member whose value does not round-trip losslessly as a finite
IEEE 754 double-precision value.</t>
</list></t>

<t>A verifier <bcp14>MUST</bcp14> treat a strict-profile violation as a terminal parse failure
and <bcp14>MUST NOT</bcp14> fall back to hashing the bytes it could not accept. The
corresponding verdict is UNVERIFIABLE (Section 5.1).</t>

<t>The reason both rules are normative is recomputability rather than
hygiene. A permissive parser resolves duplicate member names last-wins, so the
bytes an issuer canonicalized and the bytes a verifier reconstructs from the
same source text can differ while both parsers report success. A permissive
parser also converts a numeric literal outside the exactly-representable range
into a nearby representable value without signalling, so a value that entered
the issuer's preimage is not the value that enters the verifier's. Both
failures land precisely on the commitment that is supposed to be reproducible.</t>

<t>The round-trip formulation is deliberately broader than an integer range check.
An integer literal whose magnitude exceeds the exactly-representable range
fails the round-trip test, and so does a literal whose exponent overflows to a
non-finite value. Pinning the rule to round-trip behaviour rather than to token
shape is what makes independent implementations reject the identical set:
two implementations that each apply their own notion of "too large" would agree
on the common cases and diverge on the edges, and a corpus rejection vector
would then be conformance-checkable in one implementation and not the other.
Appendix B states which part of this rule the reference implementation
currently enforces.</t>

</section>
</section>
<section anchor="verification-protocol"><name>Verification Protocol</name>

<section anchor="steps"><name>Steps</name>

<t>A verifier given a chain file and a key source <bcp14>MUST</bcp14> execute the following
sequence and <bcp14>MUST</bcp14> stop at the first failure. Verdicts are named in
Section 5.2.</t>

<t><list style="numbers" type="1">
  <t><strong>Parse under strict ingest.</strong> Parse every line of the chain file under the
strict profile of Section 4.6. A violation yields UNVERIFIABLE.</t>
  <t><strong>Resolve the key.</strong> Resolve the key named by the records' key identifier from
the applicable key source. Where the source is a published key set, apply
the fetch restrictions of Section 9.4. A key that cannot be resolved — an
unreachable publication location, a malformed key set, no key under the
named identifier, more than one key under the named identifier — yields
UNVERIFIABLE. A verifier <bcp14>MUST NOT</bcp14> fall back to a different key source when
the higher-precedence source is present but unresolvable, because such a
fallback converts an unresolvable key into a verifiable one under a key the
record did not name.</t>
  <t><strong>Check the committed publication location.</strong> If a record carries jwks_uri and
it is not an HTTPS URL, the verdict is INVALID: the signer committed, inside
the signed bytes, to a publication location a verifier must refuse to fetch.</t>
  <t><strong>Check the key binding.</strong> For a record at a version that carries
key_thumbprint, recompute the thumbprint <xref target="RFC7638"/> of the key resolved in
step 2 and compare it to the committed value. A mismatch, or an absent
key_thumbprint at a version that requires it, yields INVALID. This check
precedes signature verification: a verifier that checked the signature first
would let a key substituted at the publication location pass by verifying
under itself.</t>
  <t><strong>Check sequence.</strong> The record's seq <bcp14>MUST</bcp14> equal its zero-based position in the
file. A mismatch yields UNVERIFIABLE.</t>
  <t><strong>Recompute canonical bytes.</strong> Strip sig, canonicalize the content under JCS,
and derive the entry hash. A canonicalization that cannot be completed
yields UNVERIFIABLE.</t>
  <t><strong>Recompute the chain link.</strong> For seq 0, the record's prev_hash <bcp14>MUST</bcp14> equal the
genesis value of Section 4.4.1 computed from the record's own version token
and session identifier. For every later record, prev_hash <bcp14>MUST</bcp14> equal the
entry hash computed in step 6 for the preceding record. Any break yields
UNVERIFIABLE.</t>
  <t><strong>Recompute the request commitment.</strong> Rebuild the request descriptor from the
recorded event and hash it. A mismatch against the record's
request_commitment yields UNVERIFIABLE: the recorded action does not match
its own committed identity.</t>
  <t><strong>Verify the signature.</strong> Verify the signature over the canonical bytes from
step 6 under the key resolved in step 2. A signature that does not verify
against a resolved, published key yields INVALID.</t>
  <t><strong>Check timestamp non-regression.</strong> The record's ts <bcp14>MUST NOT</bcp14> precede the
highest ts seen so far by more than the verifier's configured skew bound. A
regression beyond the bound yields UNVERIFIABLE.</t>
  <t><strong>Verify the checkpoint, if present.</strong> Apply Section 4.4.3. A checkpoint
failure yields UNVERIFIABLE.</t>
  <t><strong>Emit VALID.</strong> Only a chain that reaches this step without a failure is
VALID.</t>
</list></t>

<t>An empty chain file is not VALID. A verifier <bcp14>MUST NOT</bcp14> report VALID for a file
that carries no records.</t>

<t>A verifier that reports VALID <bcp14>MUST</bcp14> also report which key the chain verified
under and where that key was resolved from. Without a caller-supplied pin,
VALID means that the chain is internally consistent under the key that was
presented, not that it was signed by any particular party; naming the key and
its origin is what keeps that distinction visible to the consumer.</t>

</section>
<section anchor="the-three-verdicts"><name>The Three Verdicts</name>

<t><strong>VALID</strong> — Every check of Section 5.1 completed and passed. The chain is
intact, the signatures verify under the resolved key, and the key matches the
identity the records committed to.</t>

<t><strong>INVALID</strong> — The verifier resolved a key and a cryptographic binding failed
against it: the committed thumbprint did not match the resolved key, the
signature did not verify, the resolved key was not in a caller-supplied pinned
set, or the record committed to a publication location that must not be
fetched.</t>

<t><strong>UNVERIFIABLE</strong> — The verifier could not complete recomputation: the key could
not be resolved, the bytes could not be accepted under strict ingest, the
canonicalization could not be reproduced, the chain did not link, the request
commitment did not recompute, or a member was malformed.</t>

<t>INVALID and UNVERIFIABLE are distinct verdicts, and a verifier <bcp14>MUST NOT</bcp14>
collapse them into one. They answer different questions for a consumer:
INVALID says "a key was reached and the record failed against it," and
UNVERIFIABLE says "no answer could be established." A consumer that cannot tell
the two apart cannot tell a rewritten record from an unreachable key, and the
remedies for those two states are not the same.</t>

<t>Only VALID exits success. A verifier <bcp14>MUST</bcp14> signal failure for both INVALID and
UNVERIFIABLE through whatever mechanism its interface uses for failure, and
<bcp14>MUST NOT</bcp14> provide a mode in which either verdict is reported as VALID.</t>

</section>
<section anchor="relationship-to-finer-grained-verifier-vocabularies"><name>Relationship to Finer-Grained Verifier Vocabularies</name>

<t>The three verdicts of Section 5.2 are the family's interoperable vocabulary. An
implementation <bcp14>MAY</bcp14> report a finer-grained result alongside the verdict — for
example, distinguishing a linkage break from a request-commitment mismatch, or
naming which trust check failed — provided every finer-grained result maps
onto exactly one of the three verdicts and the mapping is published. Appendix B
records the mapping for the reference implementation, whose result vocabulary
is finer than three and whose classification of one case differs from the
classification this section specifies.</t>

</section>
</section>
<section anchor="composition-with-the-sibling-families"><name>Composition with the Sibling Families</name>

<section anchor="non-interference"><name>Non-Interference</name>

<t>An evidence.* record does not gate execution and does not satisfy the
membership criterion of the environment.* family <xref target="ENV-STATE"/>, Section 3.2:
its failure mode is not gating, because it has no execution to gate. The
families compose without overlapping. An implementation <bcp14>MUST NOT</bcp14> treat an
evidence.* record as a constraint instance, and <bcp14>MUST NOT</bcp14> allow the presence,
absence, or verdict of an evidence.* record to influence a pre-action gate
decision.</t>

<t>The ordering the pre-action families specify among themselves is unaffected by
this document. <xref target="VERIFICATION-STATE"/>, Section 3.2 requires environment.*
constraints to short-circuit before verification.* constraints, and
<xref target="ENV-STATE"/>, Section 5.5 makes an environment.* halt final. Recording
happens after that ordering has run to its terminal state, so an evidence.*
record cannot preempt, mask, or re-order any pre-action evaluation.</t>

</section>
<section anchor="recording-failure"><name>Recording Failure</name>

<t>An implementation <bcp14>MUST</bcp14> surface a failure to record. Recording is
evidence-producing rather than execution-gating, so a silently dropped record
is indistinguishable, later, from an action that never happened — which is
exactly the survivorship bias the outcome vocabulary of Section 4.3.2 exists to
prevent.</t>

<t>Whether a recording failure also halts the deployment is a deployment policy
decision, not a property of this family. Both postures are coherent and both
are observed in practice: a purely observational deployment logs the failure
and permits the action to proceed, while a deployment that treats un-recorded
effects as unacceptable withholds the result from the agent so that the agent
does not act on an un-recorded outcome. This document requires only that
neither posture may swallow the failure.</t>

</section>
<section anchor="binding-to-the-pre-action-gate-receipt"><name>Binding to the Pre-Action Gate Receipt</name>

<t>The gate member of Section 4.3.4 carries gate_receipt, a reference to the
pre-action authorization that permitted the action. The intent of the member is
the end-to-end property: a verifier resolves gate_receipt to the pre-action
receipt, and checks that the pre-action receipt's own request commitment equals
the request commitment carried in the record's gate object, so that "what was
authorized" and "what was recorded" are the same bytes across the two families.</t>

<t>That end-to-end resolution is not implemented. In the reference implementation,
gate_receipt is self-anchored: it carries the record's own entry hash, which a
verifier can recompute but which references nothing upstream. The member is
therefore format-ahead-of-implementation, and this document states it as such
rather than describing the intended property as an available one. An
implementer <bcp14>MUST NOT</bcp14> infer from the presence of gate_receipt that any deployed
recorder today resolves it to an upstream pre-action receipt. The status is
recorded in Appendix B of this document.</t>

<t>A future revision of this document may specify the resolution rule normatively.
It is deliberately not specified here, because the rule would bind two
independently versioned families together and the binding has not been
exercised end-to-end.</t>

</section>
</section>
<section anchor="payment-reference-binding"><name>Payment-Reference Binding</name>

<t>This section is informative.</t>

<t>A specification published alongside the reference implementation defines an
optional payment-reference binding: a single optional top-level signed member,
carrying a hash commitment to a selected, non-sensitive subset of a settlement
artifact. The member would sit inside the signed bytes, so that the operator
commits to it and cannot rewrite it after signing. Its intent is to make one
question machine-checkable that a
settlement artifact alone cannot answer: whether the operator committed to any
output for a settled payment at all.</t>

<t>The binding is governed by a normative per-scheme mapping registry rather than
by a field list alone. Two implementations can agree byte-for-byte on
canonicalization and still produce non-comparable commitments if they read
different source fields into the same subset member, so the mapping from a
scheme's wire fields to the committed subset is part of the contract. The
registry fails closed: an implementation emits no commitment for a scheme,
network, and facilitator combination whose mapping row has not been confirmed
against real observed output, and a row derived from documentation alone does
not authorize emission.</t>

<t>Normative specification of the binding is deferred to a future revision of this
document, pending observed-bytes verification of the target scheme. The
motivating ecosystem is x402; no scheme mapping is confirmed at the time of
writing, and this document therefore specifies no member name as normative, no
value space, and no scheme identifier.</t>

<t>Section 8 applies to this binding without modification. A payment reference
binds a record to a settlement artifact; it does not establish that anything
was delivered or accepted.</t>

</section>
<section anchor="what-this-document-does-not-claim"><name>What This Document Does Not Claim</name>

<t>This section enumerates, explicitly, what an evidence.* record is not and what it does not prove, to prevent conflation with adjacent primitives.</t>

<t>Not proof of model identity. An evidence record binds a tool identifier, an arguments hash, a result hash, a decision, and a signer. It carries no claim about which model, prompt, or software produced the action, and no such claim can be derived from it.</t>

<t>Not proof of output correctness, usefulness, or safety. A record proves that the operator committed, recomputably, to what occurred. An operator can honestly record an incorrect, useless, or harmful result; the record makes the commitment verifiable, not the content good.</t>

<t>Not a neutral third-party attestation. Records are operator-signed. The recomputability discipline narrows what a dishonest operator can do — any alteration of signed members is detectable by a verifier holding the records — but it does not make the signer independent of the action.</t>

<t>Not tamper-proof. The chain is tamper-evident. Alterations are detectable by verifiers in possession of the records; a signer who controls every copy of an unwitnessed chain can equivocate between inconsistent histories. External anchoring and witnessing are deployment measures discussed in Security Considerations; they are not properties of the family.</t>

<t>Not a delivery or settlement guarantee. Where a record references a payment artifact, the reference binds the record to that artifact; it does not establish that goods, services, or outputs were delivered or accepted.</t>

<t>Not a constraint type. evidence.* records do not gate execution and do not satisfy the membership criterion of the environment.* family. The families compose; they do not overlap.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="the-limits-of-an-operator-signed-record"><name>The Limits of an Operator-Signed Record</name>

<t>Every property this family provides is a property of a record signed by the
operator of the runtime that produced the action. A verifier that holds the
records and the published key can establish that the operator committed to
specific bytes and that those bytes have not changed since signing. Nothing in
the family establishes that the committed bytes describe the action
accurately, that the recorded output is the output a consumer received, or that
the signer is independent of the action. Section 8 states these limits in full;
they are repeated here because they bound the security analysis of every
subsection below.</t>

<t>The practical consequence is that the family narrows a dishonest operator's
options rather than eliminating them. Post-hoc alteration of a signed member is
detectable. Dishonesty at signing time is not.</t>

</section>
<section anchor="key-compromise-and-custody"><name>Key Compromise and Custody</name>

<t>A holder of the signing key can produce any chain that verifies. Every
integrity property of this family is conditional on key custody, and this
document specifies no custody mechanism.</t>

<t>An operator publishing an evidence.* chain <bcp14>MUST</bcp14> publish the corresponding
public key at a location under the operator's own control, and <bcp14>MUST NOT</bcp14> rely on
a key set published by the specification author or by any implementation
vendor. The issuer identity a record commits to is the operator's, not the
implementation's.</t>

<t>An operator <bcp14>MUST</bcp14> publish a signing key before signing records under it. A
verifier resolving a key identifier that is not present in the published key
set returns UNVERIFIABLE, and a publish-after-sign order therefore produces a
window in which honestly produced records are unverifiable.</t>

<t>Key rotation is a publication concern rather than a chain concern: a chain
links by content hash, not by key, so a rotation does not break linkage. A
verifier <bcp14>MUST NOT</bcp14> accept a chain whose records name a key identifier that is
not resolvable in the published key set at verification time merely because an
earlier verification succeeded. An operator <bcp14>SHOULD</bcp14> retain superseded public
keys in the published key set for as long as records signed under them are
expected to be verified.</t>

<t>A key set that publishes more than one key under a single key identifier is
ambiguous. A verifier <bcp14>MUST</bcp14> return UNVERIFIABLE in that case, and <bcp14>MUST NOT</bcp14>
select one of the candidates.</t>

</section>
<section anchor="equivocation-and-external-witnessing"><name>Equivocation and External Witnessing</name>

<t>The chain is tamper-evident with respect to a verifier that holds the records.
It is not equivocation-resistant. A signer who controls every copy of a chain
can produce two internally consistent chains for the same session that disagree
about what happened, and no verifier holding only one of them can detect the
other.</t>

<t>External witnessing addresses this and is a deployment measure rather than a
family property. An operator concerned with equivocation may record chain heads
in a public-good transparency log, so that a later divergence between the
operator's chain and the recorded head is detectable by a third party. The
ceiling of the resulting claim is that a head was recorded in a public-good
transparency log. An operator <bcp14>MUST NOT</bcp14> describe a record so anchored as
third-party attested: the log records what it was given, and records nothing
about the action.</t>

<t>Nothing in this document requires witnessing, and no verdict of Section 5
depends on it.</t>

</section>
<section anchor="verifier-initiated-fetch"><name>Verifier-Initiated Fetch</name>

<t>A record carries jwks_uri inside its signed bytes, and a verifier that fetches
a URL taken from a record it has not yet verified is following an untrusted
pointer. Absent restriction, that is a server-side request forgery primitive.</t>

<t>A verifier resolving a key set from a location named by a record <bcp14>MUST</bcp14> apply all
of the following, and <bcp14>MUST</bcp14> treat any violation as an aborted fetch rather than
as a weaker check:</t>

<t><list style="symbols">
  <t>the URL scheme is HTTPS and the port is the HTTPS default;</t>
  <t>the host is a name rather than an IP literal;</t>
  <t>the host does not resolve to a loopback, link-local, or otherwise
non-public address, checked after name resolution so that a rebind between
check and connect cannot slip through;</t>
  <t>at most one redirect is followed, and only to the same origin;</t>
  <t>the response body is bounded and the request is subject to a timeout;</t>
  <t>the response carries a JSON content type.</t>
</list></t>

<t>An aborted fetch yields UNVERIFIABLE. A verifier <bcp14>MUST NOT</bcp14> respond to an aborted
fetch by resolving the key from a different source (Section 5.1, step 2).</t>

</section>
<section anchor="timestamps"><name>Timestamps</name>

<t>The ts member is issuer-asserted and unwitnessed. A verifier <bcp14>MUST NOT</bcp14> treat ts
as evidence of when an action occurred, and <bcp14>MUST NOT</bcp14> use ts to order records:
ordering is carried by seq and by the hash chain, both of which are covered by
the signature.</t>

<t>The only property a verifier checks over ts is non-regression within a bounded
skew (Section 5.1, step 10). The bound exists because clocks in a distributed
deployment disagree, and a strict monotonicity requirement would reject
honestly produced chains. An operator <bcp14>SHOULD</bcp14> synchronize the clock of any host
that signs records, and a verifier <bcp14>SHOULD</bcp14> choose a skew bound no larger than
its deployment requires, because the bound is also the window within which a
reordering is not detectable from timestamps alone.</t>

</section>
<section anchor="replay-and-record-reuse"><name>Replay and Record Reuse</name>

<t>A record is bound to its position by seq, to its predecessor by prev_hash, and
to its session by session_id, and all three are inside the signed bytes.
Lifting a record out of one chain and inserting it into another therefore
breaks the linkage check of Section 5.1, step 7, and re-presenting a record at
a different position breaks the sequence check of step 5.</t>

<t>Replay of a whole chain is a different matter and is not addressed by the chain
construction. A chain is a verifiable statement about what an operator
committed to, not a statement about when a consumer received it. A consumer
that needs freshness <bcp14>MUST</bcp14> establish it outside the record — for example by
binding the chain into a protocol exchange that carries its own anti-replay
mechanism — and <bcp14>MUST NOT</bcp14> infer freshness from ts (Section 9.5).</t>

</section>
<section anchor="strict-ingest-as-an-interoperability-security-property"><name>Strict Ingest as an Interoperability-Security Property</name>

<t>The strict-ingest profile of Section 4.6 is a security property and not only a
parsing convention. Its absence produces a class of divergence in which an
issuer and a verifier both report success over the same source text while
having hashed different values — through a duplicate member resolved
differently, or through a numeric literal silently converted to a nearby
representable value. A divergence of that shape does not announce itself: it
appears as a verification failure that neither party can reproduce, or worse,
as a verification success over a value neither party intended.</t>

<t>Pinning the rule to lossless round-trip behaviour rather than to token shape is
what makes the reject set identical across implementations. An implementation
that applies a narrower rule accepts inputs a conforming implementation
rejects, and the two disagree exactly at the edges an adversary chooses.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests that IANA establish a registry for evidence.* record
type identifiers and register this document as the family-definition document
for the namespace. The registry mechanics below mirror those of <xref target="ENV-STATE"/>,
Section 8.</t>

<section anchor="the-evidence-namespace"><name>The evidence.* Namespace</name>

<t>IANA is requested to register the evidence.* namespace as a record type prefix
in the registry of Section 10.2. The namespace is the literal string evidence
followed by a dot followed by one or more dot-separated components identifying
the kind of occurrence a record type commits to and, optionally,
sub-classifications.</t>

<t>This document is registered as the family-definition document for the
evidence.* namespace. A specification proposing a new evidence.* type
identifier <bcp14>MUST</bcp14> conform to this document. IANA <bcp14>MUST NOT</bcp14> register a
specification that does not conform, regardless of the technical merit of the
proposed type.</t>

</section>
<section anchor="the-evidence-record-type-registry"><name>The evidence.* Record Type Registry</name>

<t>IANA is requested to establish a registry titled "evidence.* Record Types" (or
a name the working group prefers) with the following structure.</t>

<t>Registry fields. Each registration entry has the following fields:</t>

<t><list style="symbols">
  <t>Type identifier — the dot-separated string under the evidence.* namespace
(for example, evidence.action).</t>
  <t>Defined In — a reference to the record type specification that defines the
type. The reference <bcp14>SHOULD</bcp14> be a stable identifier (RFC number, Internet-Draft
name and revision, or a permanent published-document URL).</t>
  <t>Version — the version of the type specification at the time of
registration.</t>
  <t>Version Tokens — the version token or tokens the type's records carry in
their v member, as specified in Section 4.2.</t>
  <t>Status — one of: Provisional, Stable, Deprecated.</t>
  <t><bcp14>MUST</bcp14>-Implement Algorithm — the per-type signing algorithm declared per
Section 4.5.</t>
  <t>Conformance Corpus — a reference to the type's frozen conformance corpus
per Appendix A, including the identifier under which the corpus manifest is
published.</t>
  <t>Notes — implementation-status references per <xref target="RFC7942"/>, known-issues
references, or coordination references with sibling specifications. May be
empty.</t>
</list></t>

<t>Initial registry contents. This document registers one type identifier, with
the following field values:</t>

<t><list style="symbols">
  <t>Type identifier: evidence.action</t>
  <t>Defined In: this document</t>
  <t>Version: 00</t>
  <t>Version Tokens: evidence.action/0, evidence.action/1</t>
  <t>Status: Provisional</t>
  <t><bcp14>MUST</bcp14>-Implement Algorithm: Ed25519</t>
  <t>Conformance Corpus: the frozen corpus described in Appendix A</t>
  <t>Notes: see Appendix B of this document for implementation status and known
gaps</t>
</list></t>

<t>This document registers no other type identifier.</t>

<t>Registration policy. Registration follows the Specification Required policy of
<xref target="RFC8126"/>, Section 4.6 with Expert Review by designated experts the working
group appoints. The criteria the experts apply are specified in Section 10.3.</t>

</section>
<section anchor="expert-review-criteria"><name>Expert Review Criteria</name>

<t>A designated expert evaluating a proposed registration <bcp14>MUST</bcp14> verify that the
proposed type satisfies all of the following:</t>

<t>(1) every field contributing to a verdict is covered by the issuer's signature
(Section 3.2, property 1);</t>

<t>(2) the signed bytes are produced under a deterministic canonicalization an
independent implementation can reproduce byte-for-byte (Section 3.2,
property 2);</t>

<t>(3) records within a session are bound into an append-only hash chain in which
removal, insertion, and reordering are detectable from the records alone
(Section 3.2, property 3);</t>

<t>(4) a verifier that cannot complete recomputation returns UNVERIFIABLE and
never reports the record as valid (Section 3.2, property 4);</t>

<t>(5) the type specification declares its <bcp14>MUST</bcp14>-implement signing algorithm and
any extension sets per Section 4.5;</t>

<t>(6) the type specification publishes, per Appendix A of this document, a frozen
conformance corpus that includes at least one vector whose expected verdict is
a rejection; and</t>

<t>(7) the type specification conforms to the register discipline of
<xref target="ENV-STATE"/>, Section 6.</t>

<t>A proposed registration that fails any of these checks <bcp14>MUST</bcp14> be rejected by the
designated experts. Rejection is not punitive; it indicates that the gap is to
be closed in the proposed specification before the registration is
reconsidered. A designated expert <bcp14>SHOULD</bcp14> identify which check the proposed
registration failed and what closure of the gap would look like.</t>

<t>A designated expert <bcp14>SHOULD</bcp14> also evaluate a proposed registration for namespace
coherence — an identifier that names the kind of occurrence recorded rather
than the implementation, the issuer, or the wire format — and for
implementation status per <xref target="RFC7942"/>. These additional criteria are guidance;
they are not requirements a proposed registration <bcp14>MUST</bcp14> satisfy.</t>

</section>
<section anchor="status-field-lifecycle"><name>Status Field Lifecycle</name>

<t>The Status field of Section 10.2 has three values.</t>

<t>Provisional. The type's specification has been adopted but has not been
published as an RFC or equivalent stable document. Implementations of
provisional types should expect specification changes.</t>

<t>Stable. The type's specification has been published as an RFC or equivalent
stable document.</t>

<t>Deprecated. The type's specification has been superseded or withdrawn.
Deprecation does not suspend the membership criterion of Section 3.2. The Notes
field <bcp14>SHOULD</bcp14> reference the superseding specification or document the reason for
withdrawal. A verifier <bcp14>MAY</bcp14> continue to support a deprecated type for backward
compatibility, and <bcp14>SHOULD</bcp14> log its use distinctly.</t>

<t>A status transition <bcp14>MUST NOT</bcp14> change a registered type's version tokens, its
<bcp14>MUST</bcp14>-implement algorithm, or its conformance corpus reference; a change to any
of those is a revision of the type's specification rather than an
administrative status update.</t>

</section>
</section>
<section anchor="relationship-to-related-work"><name>Relationship to Related Work</name>

<section anchor="scitt"><name>SCITT</name>

<t>The SCITT architecture <xref target="RFC9943"/> specifies signing and receipt-envelope
infrastructure for supply-chain transparency, including the transparency-service
and receipt machinery an evidence chain would need in order to be witnessed
(Section 9.3). This document specifies neither. An evidence.* record is a
payload with its own canonicalization and chain discipline; it may be
transported in, or registered with, a SCITT transparency service, and this
document does not require that it be.</t>

</section>
<section anchor="rats"><name>RATS</name>

<t>The RATS architecture <xref target="RFC9334"/> defines the Evidence, Verifier, Attestation
Result, and Relying Party vocabulary. The mapping is imperfect and worth stating
precisely: an evidence.* record is not RATS Evidence about a target
environment's trustworthiness, and it is not an Attestation Result produced by a
Verifier distinct from the Attester. It is a self-signed record of an action,
produced by the party that performed it. Where RATS separates Attester from
Verifier as a trust primitive, this family deliberately does not, and
Section 8 states the consequence.</t>

</section>
<section anchor="signed-receipt-formats-for-agent-actions"><name>Signed Receipt Formats for Agent Actions</name>

<t><xref target="ACTA-RECEIPTS"/> defines a signed receipt format for machine-to-machine access-control
decisions, and <xref target="ASQAV-PROFILE"/> defines a multi-jurisdiction compliance profile of that
format. The two are one lineage rather than two independent designs: the profile describes
itself as "an additive overlay on [ACTA-RECEIPTS]" that "does not modify the envelope, the
canonicalization rule, the signature object, or the algorithm registry" (Section 3), constrains
fields the upstream document leaves optional, and states that "a Compliance Receipt remains a
conformant [ACTA-RECEIPTS] receipt" (Section 1.1).</t>

<t>The overlap with this document is substantial and worth stating before the differences. Both of
those documents canonicalize with JCS <xref target="RFC8785"/>, both sign with Ed25519 <xref target="RFC8032"/> over
canonical bytes as the mandatory-to-implement algorithm, and both remove the signature member
before canonicalizing — <xref target="ACTA-RECEIPTS"/>, Section 5.6 records the same null-versus-absent hazard
this document records in Section 4.2, requiring that the signature field "be removed from the
object, not set to null or to the empty string; these produce different JCS output and break
interoperability". An implementer familiar with either document will recognize the
canonicalization discipline here.</t>

<t>The families are structured differently. <xref target="ACTA-RECEIPTS"/> specifies a single receipt envelope
with six receipt types and states, in its Section 9, that it "has no IANA actions", noting a
receipt-type registry as possible future work; <xref target="ASQAV-PROFILE"/> requests a registry of
extension field names (Section 11.1). Neither defines a namespace whose registration is gated on
a family-wide membership criterion, and neither has pre-action siblings to compose with. This
document takes the other approach: Section 3.2 states a membership criterion that Section 3.3
makes a registration precondition, and Section 6 specifies non-interference with two pre-action
families rather than a single-format lineage.</t>

<t>The chaining constructions differ in scope, and the difference matters to a verifier.
<xref target="ACTA-RECEIPTS"/> places hash chaining inside an optional Commitment Mode extension, and defines
its link as covering the signature: previousReceiptHash is "SHA-256(JCS(receipt)), where receipt
is the entire signed receipt object including the signature field" (Section 5.7).
<xref target="ASQAV-PROFILE"/> makes linkage mandatory, scopes the chain to the issuer — "each issuer <bcp14>MUST</bcp14>
maintain a single linear per-agent chain", with parallel sub-chains within one agent identity
"NOT defined by this profile" (Section 5.3) — and roots it at "the all-zero SHA-256 value"
(Section 5.3). This document scopes the chain to a session rather than to an issuer
(Section 4.2), strips the signature from the link preimage so that the entry hash commits to
content independently of signature encoding (Section 4.4.2), and derives genesis from a
domain-separated preimage rather than a constant, for the splicing reason given in
Section 4.4.1. An implementer composing across these documents should note that the two
constructions are not interchangeable and that the two documents cited here do not agree on the
digest scope of previousReceiptHash.</t>

<t>The verdict models differ. Verification in <xref target="ACTA-RECEIPTS"/> terminates in two outcomes: "if
verification succeeds, the receipt is authentic and has not been tampered with. If verification
fails, the receipt <bcp14>MUST</bcp14> be rejected" (Section 4.2). <xref target="ASQAV-PROFILE"/> likewise terminates in
two — "a receipt that fails any of these checks <bcp14>MUST</bcp14> be reported as non-conformant"
(Section 9.1) — while adding an independent-axis report over anchor validity, policy-digest
resolution, and duplicate emission, with the instruction that "consumers <bcp14>MUST NOT</bcp14> collapse them
into a single boolean before display" (Section 9.3). The tri-state vocabulary of Section 5.2 of
this document separates a different pair: a cryptographic failure against a resolved key
(INVALID) from an inability to complete recomputation at all (UNVERIFIABLE). That separation is
a property of the verdict vocabulary itself rather than of a report layered over a binary
outcome.</t>

<t>On conformance artifacts the documents converge more than they diverge. <xref target="ACTA-RECEIPTS"/>,
Section 5.10 publishes an interoperability test suite with a stated minimum set, including a
three-receipt chain and a tampered proof that "<bcp14>MUST</bcp14> fail verification", and fixes salts so that
vectors "remain reproducible across implementations". What the conformance corpus of this
document adds is narrower than the existence of vectors: its manifest digest is pinned in the
specification text itself, every pinned value is re-derived from the published receipt bytes by
a separate verification path before release, and the signing seed is published so that a third
party can re-derive the private key and check signature byte parity rather than only verifying
signatures produced by someone else. Appendix A.3 is explicit that this falls short of two
independent signing implementations, and that limit is unchanged by the comparison.</t>

</section>
<section anchor="the-pre-action-sibling-families"><name>The Pre-Action Sibling Families</name>

<t><xref target="ENV-STATE"/> defines the environment.* family and the family-definition
discipline this document follows. <xref target="VERIFICATION-STATE"/> defines the
verification.* family and demonstrated the sibling-family pattern.
<xref target="WALLET-STATE"/> specifies a signed-boolean primitive over observed state and
enumerates, in its Section 12, the adjacent primitives it is not; Section 8 of
this document follows that register for the post-action position.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="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="RFC7638">
  <front>
    <title>JSON Web Key (JWK) Thumbprint</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="September" year="2015"/>
    <abstract>
      <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7638"/>
  <seriesInfo name="DOI" value="10.17487/RFC7638"/>
</reference>
<reference anchor="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="RFC8037">
  <front>
    <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
    <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8037"/>
  <seriesInfo name="DOI" value="10.17487/RFC8037"/>
</reference>
<referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
  <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
</referencegroup>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC7517">
  <front>
    <title>JSON Web Key (JWK)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7517"/>
  <seriesInfo name="DOI" value="10.17487/RFC7517"/>
</reference>
<reference anchor="RFC8032">
  <front>
    <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8032"/>
  <seriesInfo name="DOI" value="10.17487/RFC8032"/>
</reference>
<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>
<reference anchor="RFC9334">
  <front>
    <title>Remote ATtestation procedureS (RATS) Architecture</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="W. Pan" initials="W." surname="Pan"/>
    <date month="January" year="2023"/>
    <abstract>
      <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9334"/>
  <seriesInfo name="DOI" value="10.17487/RFC9334"/>
</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="ACTA-RECEIPTS" target="https://datatracker.ietf.org/doc/html/draft-farley-acta-signed-receipts-02">
  <front>
    <title>Signed Decision Receipts for Machine-to-Machine Access Control</title>
    <author initials="T." surname="Farley" fullname="Tom Farley">
      <organization>ScopeBlind (Veritas Acta)</organization>
    </author>
    <date year="2026" month="June"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-farley-acta-signed-receipts-02"/>
</reference>
<reference anchor="ASQAV-PROFILE" target="https://datatracker.ietf.org/doc/html/draft-marques-asqav-compliance-receipts-07">
  <front>
    <title>Compliance Profile of Signed Action Receipts for AI Agents</title>
    <author initials="J. A." surname="Gomes Marques" fullname="Joao Andre Gomes Marques">
      <organization>Asqav</organization>
    </author>
    <date year="2026" month="July"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-marques-asqav-compliance-receipts-07"/>
</reference>
<reference anchor="ENV-STATE" target="https://datatracker.ietf.org/doc/html/draft-borthwick-msebenzi-environment-state-01">
  <front>
    <title>Verifiable Intent - environment.* Constraint Family</title>
    <author initials="D." surname="Borthwick" fullname="D. Borthwick">
      <organization>InsumerAPI</organization>
    </author>
    <author initials="M." surname="Msebenzi" fullname="M. Msebenzi">
      <organization>Headless Oracle</organization>
    </author>
    <date year="2026" month="June"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-borthwick-msebenzi-environment-state-01"/>
</reference>
<reference anchor="VERIFICATION-STATE" target="https://datatracker.ietf.org/doc/html/draft-krausz-verification-state-01">
  <front>
    <title>The verification.* Constraint Family: Pre-Action Fail-Closed Gates for AI Agent Decisions</title>
    <author initials="J." surname="Krausz" fullname="J. Krausz">
      <organization>TK Collective</organization>
    </author>
    <date year="2026" month="June"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-krausz-verification-state-01"/>
</reference>
<reference anchor="WALLET-STATE" target="https://datatracker.ietf.org/doc/html/draft-borthwick-wallet-state-attestation-00">
  <front>
    <title>Wallet State Attestation: Signed Booleans about On-Chain State</title>
    <author initials="D." surname="Borthwick" fullname="D. Borthwick">
      <organization>InsumerAPI</organization>
    </author>
    <date year="2026" month="May"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-borthwick-wallet-state-attestation-00"/>
</reference>


    </references>

</references>


<?line 1228?>

<section anchor="conformance-vectors"><name>Conformance Vectors</name>

<t>This appendix is informative in the sense of <xref target="RFC7942"/>: it describes a
published artifact rather than adding requirements. The conformance sentence at
the end of the appendix is the exception and is stated as the corpus states it.</t>

<section anchor="the-frozen-corpus"><name>The Frozen Corpus</name>

<t>A frozen conformance corpus for the evidence.action record format is published
as a bundle containing a specification document, a machine-readable manifest, a
key set, six vectors, a reference runner, a deterministic generator, and a
second, independent verification path used during bundle authoring.</t>

<t>The corpus pins, for every vector, the SHA-256 of the vector's receipt file
bytes and the file's byte length; and, for every entry of every vector expected
to verify, the request commitment, the entry hash, the signature, the canonical
byte length, and the canonical SHA-256. Every pinned value is re-derived from
the receipt file bytes by the bundle's independent verification path before
publication.</t>

<t>The corpus manifest, at the revision this document was written against, has the
SHA-256 digest:</t>

<figure><artwork><![CDATA[
dad4e77cc5072446832b0b1771de11e2fc14094c6671061366477e60ce214ef3
]]></artwork></figure>

<t>The six vectors and the property each exercises:</t>

<texttable>
      <ttcol align='left'>Vector</ttcol>
      <ttcol align='left'>Property exercised</ttcol>
      <ttcol align='left'>Expected</ttcol>
      <c>allow</c>
      <c>A valid permitted call verifies byte-for-byte</c>
      <c>VALID</c>
      <c>deny</c>
      <c>Rule-based denial-with-halt is a first-class verifiable outcome</c>
      <c>VALID</c>
      <c>fail-closed</c>
      <c>A safe-default halt is a first-class verifiable outcome, distinguished in the signed bytes by decision_source</c>
      <c>VALID</c>
      <c>tampered</c>
      <c>Post-signature mutation is rejected</c>
      <c>reject</c>
      <c>chain-multi</c>
      <c>The verifier checks hash-chain linkage, not just per-record signatures</c>
      <c>VALID</c>
      <c>canonicalization-key-order</c>
      <c>args_hash uses JCS, not a non-canonical serializer</c>
      <c>VALID</c>
</texttable>

<t>The tampered vector is the load-bearing one. It was produced by generating a
valid record and then altering one element of the event in the file bytes,
leaving the signature unchanged. Two independent checks catch the mutation: the
request commitment recomputed from the altered event no longer matches the
sealed value, and the canonical bytes of the content differ from what was
signed. A verifier that reports the tampered vector as valid is non-conforming.
The corpus does not require a specific rejection reason: a verifier that checks
the request commitment before the signature reports a commitment mismatch, and
a verifier that checks the signature first reports a signature failure. Both
are conforming; the rejection is the requirement.</t>

<t>The chain-multi vector exists because a verifier that checks per-record
signatures without checking linkage would pass every single-record vector. The
corpus therefore asserts the linkage equalities explicitly: that the first
record's prev_hash equals the genesis value for its session, and that the
second record's prev_hash equals the first record's entry hash.</t>

<t>The canonicalization-key-order vector carries, in the manifest, both an
unsorted arguments value and its JCS canonical form together with that form's
byte length, so that an implementer can check their canonicalization path
end-to-end rather than only its output hash.</t>

<t>Reject vectors for the strict-ingest profile of Section 4.6 are not part of
this bundle. They belong to a second, separately frozen fixture described in
Appendix A.3.</t>

</section>
<section anchor="verdict-vocabulary-in-the-corpus"><name>Verdict Vocabulary in the Corpus</name>

<t>The corpus predates the tri-state vocabulary of Section 5.2 and names its
outcomes VALID, TAMPERED, and UNRESOLVED. The mapping is direct: TAMPERED is a
rejection reported by the corpus for chain-integrity and content-mismatch
failures, and UNRESOLVED is the corpus name for a key that could not be
resolved, which this document names UNVERIFIABLE. A future revision of the
corpus is expected to adopt this document's vocabulary. Until it does, an
implementer comparing the two documents should read the corpus's outcome names
as corpus-local labels rather than as this document's verdicts.</t>

</section>
<section anchor="independent-verification-and-the-second-frozen-fixture"><name>Independent Verification, and the Second Frozen Fixture</name>

<t>Conformance in this family is a claim about agreement between implementations,
so a corpus verified only by the implementation that produced it establishes
little. Two separately frozen artifacts, verified by different means, are in
use.</t>

<t>The receipt-vector bundle of Appendix A.1 carries a generator and a distinct
verification path: the generator writes the vectors, the manifest, and the key
set deterministically from a published test seed, and the second path
re-derives every pinned hash, signature, and canonical byte length from the
published receipt bytes before the bundle is released. Both paths live in the
bundle; they are two implementations of the same computation, not two
independent parties.</t>

<t>That bundle's signing key is derived from a published 32-byte seed. It is a
test key and <bcp14>MUST NOT</bcp14> be used to sign production records. The seed is published
so that an independent implementer can re-derive the private key, re-sign the
canonical bytes, and confirm signature byte parity end to end rather than only
verifying signatures produced by someone else.</t>

<t>The second artifact is a separately frozen fixture of canonicalization,
thumbprint, chain-structure, and strict-ingest reject vectors, held with the
reference implementation rather than in the receipt-vector bundle. It is the
one exercised three ways: by the reference implementation's own
canonicalization path, by an independent implementation of <xref target="RFC8785"/> written
by a different author with no shared dependency, and against the values claimed
by the fixture's external author, who authored them by reasoning from the
relevant specifications rather than by executing the implementation. Its
strict-ingest reject vectors are driven through the same harness and fail
closed with the expected reasons. The harness exercises the same
canonicalization and strict-ingest code path the shipped binary uses; it is not
a second reference implementation.</t>

<t>Neither artifact establishes byte parity between two independent <strong>signing</strong>
implementations. Appendix A.5 names that as the next tier.</t>

</section>
<section anchor="the-conformance-sentence"><name>The Conformance Sentence</name>

<t>An implementation claiming conformance <bcp14>MUST</bcp14> reproduce the corpus verdicts,
including the REJECT set, identically.</t>

</section>
<section anchor="what-the-corpus-does-not-cover"><name>What the Corpus Does Not Cover</name>

<t>The corpus is a v1 tier and names the orthogonal properties a later tier would
cover:</t>

<t><list style="symbols">
  <t>Live key-set resolution. The corpus key set is offline; a later tier would
exercise HTTPS resolution, rotation, caching, and the failure paths that
produce UNVERIFIABLE.</t>
  <t>Gate-receipt upstream binding. The gate_receipt member in the vectors carries
a pinned literal; a later tier would exercise the end-to-end property of
Section 6.3.</t>
  <t>Transparency-log witnessing. Equivocation by a signer is not detectable from
a single chain (Section 9.3); a later tier would exercise inclusion proofs.</t>
  <t>Key rotation across vectors. All vectors are signed by one key.</t>
  <t>Dual-implementation signing byte parity. The corpus demonstrates that one
signing implementation produces bytes a conforming verifier accepts. It does
not demonstrate that two independent signing implementations produce
byte-identical records for the same logical event. That tier blocks on the
existence of a second independent signing implementation and is the named
next milestone.</t>
</list></t>

</section>
</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section records the implementation status of the evidence.action record
type at the time of writing, per <xref target="RFC7942"/>. It is to be removed by the RFC
Editor before publication, together with the reference to <xref target="RFC7942"/>.</t>

<section anchor="reference-implementation"><name>Reference Implementation</name>

<t><strong>Name and version.</strong> @headlessoracle/chirindo, version 0.3.0.</t>

<t><strong>Source.</strong> github.com/LembaGang/chirindo, Apache-2.0.</t>

<t><strong>Coverage.</strong> The implementation writes and verifies evidence.action records at
both defined version tokens, implements the canonicalization discipline of
Section 4.1, the chain construction of Section 4.4, the signature scheme of
Section 4.5, the strict-ingest gate of Section 4.6, and the verification
protocol of Section 5.1 including key-binding-before-signature ordering. Key
resolution follows a documented precedence, and a present-but-unresolvable
publication location does not fall back to another key source.</t>

<t><strong>Published key set.</strong> The implementation resolves keys from a published key set
at https://headlessoracle.com/.well-known/jwks.json by default; an operator
overrides that default per Section 9.2.</t>

<t><strong>Live verification.</strong> The verify path has been exercised by hand against the
live published key set over HTTPS, and the three verdict classes behaved as
specified: a well-formed chain resolved its key and returned VALID; a chain
whose committed thumbprint had been altered returned INVALID with a key-binding
reason, rejected before the signature check; and a chain signed by a key the
published set does not carry returned UNVERIFIABLE with an unresolvable-key
reason and no silent fallback.</t>

<t><strong>Third-party verification of the corpus fixture.</strong> The canonicalization
fixture of Appendix A.3 was authored by an external party reasoning
from the relevant specifications rather than by executing the implementation's
code, and was then verified three ways — the implementation's own
canonicalization path, an independent implementation of <xref target="RFC8785"/> by a
different author, and the fixture author's claimed values — with byte and
hash agreement on every canonicalization vector and on the key thumbprint. The
receipt-chain entry hashes in the fixture are derived at fixture-build time from
the implementation's own code path and additionally recompute through the
independent canonicalizer applied to a harness-side content strip, so the
agreement is not an artifact of feeding one object to one canonicalizer twice.
Signature authenticity of the fixture's illustrative records was explicitly not
established in that exercise; the fixture author held only a public key. The
negative cases the fixture describes structurally are separately covered by the
implementation's own test suite against a real key.</t>

</section>
<section anchor="known-gaps"><name>Known Gaps</name>

<t>The following gaps are stated because the format leads the implementation in
each case. An implementer <bcp14>MUST NOT</bcp14> infer the availability of these properties
from this document.</t>

<t><strong>Strict ingest covers part of the round-trip rule.</strong> Section 4.6 requires
rejection of any numeric member that does not round-trip losslessly as a finite
value. The implementation rejects integer-form literals outside the
exactly-representable range and duplicate member names at any depth. An
exponent-form literal that overflows to a non-finite value is not yet rejected.
Section 4.6 states the rule the implementation is to converge on; the
implementation does not satisfy it in full today.</t>

<t><strong>The gate member is emitted in one of two shapes, neither complete.</strong> The
recorder library emits a null gate on every record. The gate implementation
emits a populated gate whose gate_family is permit and whose gate_receipt is
self-anchored to the record's own entry hash. No deployed implementation
resolves gate_receipt to an upstream pre-action receipt (Section 6.3).</t>

<t><strong>The fail-closed disposition is not emitted.</strong> The decision_source value
fail-closed is defined by the format and exercised by a corpus vector. The
implementation's decision-source value space is user, config, hook, and n/a; it
does not emit fail-closed today. A verifier of earlier vintage that has not
learned the value would not be conforming for the corresponding corpus vector.</t>

<t><strong>The verifier's result vocabulary is finer than three, and one case is
classified differently.</strong> The implementation reports valid, tampered, invalid,
empty, and unverifiable. Under Section 5.2, its invalid maps to INVALID, its
unverifiable maps to UNVERIFIABLE, its empty maps to UNVERIFIABLE, and its
tampered maps to UNVERIFIABLE except for the signature-failure case, which
Section 5.1 step 9 classifies as INVALID and the implementation reports as
tampered. Every one of the implementation's failure results exits non-zero, so
the divergence is a labelling difference and not a fail-open path.</t>

<t><strong>The payment-reference binding is specified but not built.</strong> Section 7 describes
a design whose registry carries no confirmed mapping row. No implementation
emits a payment reference.</t>

</section>
</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The author thanks the authors of the sibling family specifications and the IETF
community for ongoing discussion of attestation primitives.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7W965LbRpYu+j+fAqf6h1XaJKXS1S7N6b3LcqlbPbKskcp2
TExPOEASrEILBNgAWKVqyxHnIc4T7ifZ654rAVCSu8/piBmXSCKRl5Xrvr41
n89DX/ZVcZodXVwVWXFdrot6VSzuZi/ybVndnmZvmq6f/7lZzbKX9brYFfD/
6r66zd4Wq2a72/f5siqyc3mOPm3XXbZp2uzsZXZ2CT/OzlZ92dTdUciXy7a4
hne592zoPUdh3azqfAsTWbf5pp9vu2JZ1P8o5/rTeU6jzO/fD6u8Ly6bFiZX
1psmdPvltuw6+LK/3cEAL88vXoRy155mfbvv+gf3739z/0FYw0On2YP7D57M
7z+dP/g6dH1er3/Jq6aGz2+LLuzK0+y/elxp17R9W2w6+Ot2y3/AYrewlu6/
Q8j3/VXTnoZsHjL4X1l3p9n3i+x7mTF9yEv5vlxd5UWVftW0l3ld/iPH1Zxm
fy7ydVV0XfZDm6+qgn6xKntY21+aq7yui265by/542Zf97jqdw3MIDvbtOUq
p2+KbV5WvBv/a3nbFyvcwrbo9lXfLWDm9KN9C+u76vtdd3rv3pW8tqG30m9C
3bRbmNV1AUvL3r54/vXJgyf659OvH8ufT588/Fr/fHyin359/+HT0xBwBukg
8Jun8TcP9NNvHumf3zx8+Ej//ObRQ/zz7PnF2fzt+fPzl28u3p3S5JVI35WX
dbHOvitWJR440ltR7nomuO/z1VVZF/O+mcufQHor3NznQBttUx3RWHZ+9L85
H+DFAii+rYpb+ViP8KLZDr+AA4QzWDW74tuqrNfZnZ+KtuzzDuk8P6afeWJ7
Qp908Juiw/3RF7+s+6Kti37+HZ6W0v2G3oXEns87Wuy8lTXOgYppL/L2sujj
WcLL8h7O8X3RLsqi3yxggvfgOt276rfVvS8c9uzdf5z9NH/z9ocXL1+dp3v+
HO55VeZ4vd+0zaaE+95sMjkJvtvpOejF7z6x339ZZGeL7E/Ntujg3Nq/7+EC
pjv/lyZvsrN63RYHfkbncNb9Pb8e7fnT37XnWx54nuNY85Ut123R0396579w
8PPXP83fXZxdDPYeSWtTEo/FuQMznWdFfV22TY3sCPgnkHYHcyjhqxfCSg9u
+neL7FtgbVc35er9YLcnv6Idfll3+23Rnr15mQ42ZHmO7U18Q0NNMbt//qos
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
m7rVq+rg0HliUcQi/B9bTsM4/CgBAA==

-->

</rfc>

