<?xml version="1.0" encoding="utf-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="exp" consensus="no" docName="draft-jacobs-web4-evidence-receipts-00" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3"><front><title abbrev="Web4 Evidence Receipts">Web4 Evidence Receipts</title><seriesInfo name="Internet-Draft" value="draft-jacobs-web4-evidence-receipts-00"/><author fullname="Tim Jacobs" initials="T." surname="Jacobs"><organization>KTS Global</organization><address><postal><country>United Arab Emirates</country></postal><email>tim@ktsglobal.live</email></address></author><date day="12" month="September" year="2026"/><area>General</area><workgroup>Internet Engineering Task Force</workgroup><keyword>Web4</keyword><keyword>evidence</keyword><keyword>receipt</keyword><keyword>provenance</keyword><keyword>verification</keyword><abstract><t>This document defines durable, cryptographically verifiable receipts for assessment, authority, policy, claim, and node-lifecycle events without requiring publication of protected evidence.</t></abstract></front><middle><section><name>Conventions and Terminology</name><t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t></section><section><name>Introduction</name><t>This document defines durable, integrity-protected Evidence Receipts for material events in federated and agent-operated systems.</t></section><section><name>Receipt Events</name><t>Profiles MAY define events including assessment issued, admission granted or denied, policy applied, authority granted or revoked, claim challenged or superseded, verification performed, and node lifecycle changes.</t></section><section><name>Receipt Envelope</name><t>A receipt MUST identify its identifier, event type, actor, subject or object, governing policy, event time, status mechanism, and proof. When an event relies on evidence, the receipt MUST carry references or commitments required by the profile.</t><sourcecode type="json">{
  "receipt_id": "urn:web4:receipt:01JEXAMPLE",
  "event_type": "assessment_issued",
  "actor_id": "did:example:evaluator-1",
  "object_id": "urn:web4:assertion:01JEXAMPLE",
  "policy_id": "urn:web4:policy:admission:v1",
  "occurred_at": "2026-09-12T13:59:00Z",
  "status_uri": "https://status.example/receipts/01JEXAMPLE",
  "proof": {
    "type": "ExampleProof",
    "verification_method": "did:example:evaluator-1#key-1",
    "value": "BASE64URL-SIGNATURE"
  }
}</sourcecode></section><section><name>Issuance and Signing</name><t>An issuer MUST integrity-protect each receipt. Corrections MUST use a linked corrective or superseding receipt rather than silent mutation.</t></section><section><name>Retention and Resolution</name><t>Policy MUST specify a retention class or period. Status MUST remain resolvable for the required retention period.</t></section><section><name>Evidence Commitments</name><t>A private artifact MAY be represented by a cryptographic commitment. The profile MUST identify the algorithm and any canonicalization, salting, keying, or disclosure procedure.</t></section><section><name>Research References</name><t>A receipt MAY refer to a versioned research artifact using a persistent identifier. Reproducibility-sensitive references SHOULD use a version-specific DOI.</t></section><section><name>Verification</name><t>A Verifier MUST authenticate the issuer, validate integrity, resolve status, check temporal and policy context, and verify disclosed commitments before relying on a receipt.</t></section><section><name>Relationship to Research Artifacts</name><t>Broader Web4 architectural work is described informatively in <xref target="I-D.reilly-web4"/>. Informative research materials MAY be published as versioned scholarly artifacts, including DOI-addressable records.</t><t>A research artifact is not required for conformance unless expressly incorporated as a Normative Reference by a named profile. Referencing or verifying an artifact does not establish the truth of its conclusions, regulatory approval, certification, security, legal compliance, or IETF endorsement.</t><t>A Conforming Implementation MUST NOT require access to KCoordinate, KQAS, or another protected internal assessment method unless a separate deployment agreement selects that implementation.</t></section><section><name>Security Considerations</name><t>Implementations MUST authenticate issuers, validate proof integrity, check proof purpose, enforce temporal validity, and resolve current status before relying on an object.</t><t>Implementations MUST address identifier confusion, issuer impersonation, key compromise, algorithm downgrade, replay, stale status, unauthorized supersession, cross-policy confusion, canonicalization ambiguity, denial of service, and fail-open handling of indeterminate validity.</t><t>Evidence commitments can confirm correspondence with committed bytes but do not prove truth, completeness, legality, provenance, or fitness for purpose. Profiles SHOULD define privacy-preserving commitment procedures for low-entropy artifacts.</t></section><section><name>Privacy Considerations</name><t>Persistent identifiers, status queries, proofs, policy references, and linked receipts can enable correlation. Implementations MUST minimize disclosed data and SHOULD use unlinkable or pairwise identifiers where they satisfy policy.</t><t>Private evidence MAY remain undisclosed and be represented by a cryptographic commitment. Retention and erasure requirements MUST be specified by policy and account for applicable obligations.</t></section><section><name>IANA Considerations</name><t>This document requests no IANA actions.</t></section></middle><back><references><name>Normative References</name><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="Scott Bradner" initials="S." surname="Bradner"/><date month="March" year="1997"/></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="Barry Leiba" initials="B." surname="Leiba"/><date month="May" year="2017"/></front><seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="8174"/><seriesInfo name="DOI" value="10.17487/RFC8174"/></reference></references><references><name>Informative References</name><reference anchor="I-D.reilly-web4" target="https://datatracker.ietf.org/doc/draft-reilly-web4/"><front><title>Web4: A Verifiable, Agent-Native Architecture for the World Wide Web</title><author fullname="Lawrence John Reilly Jr" initials="L. J." surname="Reilly"/><date day="26" month="August" year="2026"/></front><seriesInfo name="Internet-Draft" value="draft-reilly-web4-00"/></reference></references></back></rfc>