<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://authors.ietf.org/ietf-xml-reference.xsl"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="info"
     docName="draft-chang-delta1-settlement-00"
     ipr="trust200902"
     submissionType="independent"
     version="3"
     xml:lang="en">

  <front>
    <title abbrev="Delta-1 Settlement Receipts">
      Delta-1: A SCITT Profile for Binary Settlement Receipts in Agentic AI Accountability
    </title>

    <seriesInfo name="Internet-Draft" value="draft-chang-delta1-settlement-00"/>

    <author fullname="YC Chang" initials="Y.C." surname="Chang">
      <organization>OIA Lab</organization>
      <address>
        <email>yc@oia-lab.com</email>
        <uri>https://oia-lab.com</uri>
      </address>
    </author>

    <date year="2026" month="04" day="16"/>

    <area>Security</area>

    <keyword>SCITT</keyword>
    <keyword>AI accountability</keyword>
    <keyword>settlement receipt</keyword>
    <keyword>agentic AI</keyword>
    <keyword>transparency log</keyword>

    <abstract>
      <t>
        This document defines Delta-1, a profile of the SCITT
        (Supply Chain Integrity, Transparency, and Trust) architecture
        applied to AI agent decision accountability.
      </t>
      <t>
        Delta-1 specializes the SCITT receipt model for a specific use
        case: proving that an individual AI decision met three
        accountability conditions simultaneously:
      </t>
      <t>
        C1: Evidence of the decision process was consumed and sealed.
        C2: Strategic intent was isolated from inference providers.
        C3: An authorized party recorded the settlement.
      </t>
      <t>
        The verdict is binary (VALID or INVALID) with no intermediate
        states. Receipts are independently verifiable without the
        issuing infrastructure being online, subject to the trust and
        attestation assumptions defined in this document.
      </t>
      <t>
        By building on the SCITT framework, Delta-1 inherits
        transparency-log semantics, receipt conventions, and
        verification patterns, while extending them with domain-specific
        requirements for AI decision closure.
      </t>
      <t>
        This profile is intended for regulated industries, including
        finance, healthcare, and legal, operating under accountability
        and record-retention obligations.
      </t>
    </abstract>

    <note title="Note to RFC Editor">
      <t>
        This document is submitted as an individual Internet-Draft.
        Remove this note prior to publication as an RFC.
      </t>
    </note>
  </front>

  <middle>
    <section numbered="true" toc="include" anchor="introduction">
      <name>Introduction</name>
      <t>
        As AI agents increasingly make or assist in consequential
        decisions, such as financial trades, clinical recommendations,
        procurement approvals, and legal assessments, organizations need
        a mechanism to prove that each decision met defined
        accountability conditions at the time it was made.
      </t>
      <t>
        Current approaches often provide authorization semantics
        ("this AI action was approved") but not settlement semantics
        ("the decision's accountability conditions can be
        cryptographically proven after the fact"). This gap creates
        regulatory, legal, and operational risk.
      </t>

      <section numbered="true" toc="include" anchor="relationship-to-scitt">
        <name>Relationship to SCITT</name>
        <t>
          The SCITT architecture defines a framework for creating
          transparent, tamper-evident signed statements registered on
          append-only transparency services, with receipts proving
          inclusion.
        </t>
        <t>Delta-1 maps SCITT concepts to AI decision accountability:</t>
        <ul>
          <li>SCITT Signed Statement = Delta-1 condition evaluation result</li>
          <li>SCITT Transparency Service = append-only evidence chain</li>
          <li>SCITT Receipt = Delta-1 settlement receipt (binary verdict)</li>
          <li>SCITT Issuer = AI decision pipeline being attested</li>
          <li>SCITT Verifier = Customer, auditor, or regulator</li>
        </ul>
        <t>Delta-1 extends SCITT with:</t>
        <ul>
          <li>Binary verdict semantics (VALID or INVALID, with no scoring)</li>
          <li>Three-condition conjunction (C1 AND C2 AND C3)</li>
          <li>Transcript binding to prevent receipt transplantation</li>
          <li>Anti-replay protection via run identifiers and monotonic counters</li>
          <li>Optional hardware attestation to upgrade trust from software self-report to hardware-attested execution</li>
        </ul>
        <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>

    <section numbered="true" toc="include" anchor="terminology">
      <name>Terminology</name>
      <dl newline="false" spacing="normal">
        <dt>Settlement Receipt</dt>
        <dd>
          A cryptographically signed document attesting to the binary
          verdict of a Delta-1 evaluation.
        </dd>

        <dt>Delta-1 (D1)</dt>
        <dd>
          The conjunction of three conditions (C1 AND C2 AND C3) that,
          when all are true, indicates accountability closure for a
          single AI decision.
        </dd>

        <dt>C1 (Evidence Consumed)</dt>
        <dd>
          The decision's evidence chain has been recorded in an
          append-only, tamper-evident store and sealed.
        </dd>

        <dt>C2 (Intent Isolated)</dt>
        <dd>
          Strategic intent was fragmented or transformed before reaching
          the inference provider, preventing the provider from
          reconstructing the decision-maker's strategy under the threat
          model defined by the deployment.
        </dd>

        <dt>C3 (Settlement Recorded)</dt>
        <dd>
          An authorized party has reviewed and signed off on the
          decision's closure.
        </dd>

        <dt>BBOX</dt>
        <dd>
          Black-box evidence chain: an append-only, hash-linked log of
          decision-process steps.
        </dd>

        <dt>Transcript Binding</dt>
        <dd>
          A canonical digest that cryptographically binds the receipt to
          the pipeline execution context.
        </dd>
      </dl>
    </section>

    <section numbered="true" toc="include" anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>
        The Delta-1 protocol operates as the final step in an AI
        decision accountability pipeline:
      </t>
      <ol>
        <li>AI query is processed through privacy and isolation layers.</li>
        <li>Evidence of each processing step is recorded in the evidence chain.</li>
        <li>The evidence chain is sealed.</li>
        <li>The Delta-1 validator evaluates C1, C2, and C3.</li>
        <li>A binary receipt is produced: VALID or INVALID.</li>
        <li>The receipt is signed using the customer's signing key.</li>
        <li>Optional hardware attestation evidence is attached.</li>
        <li>The receipt is delivered for archival and later verification.</li>
      </ol>
      <t>
        Verification is performed by the receipt holder. Offline
        verification of the receipt signature and transcript binding is
        REQUIRED. Verification of optional external artifacts, such as
        TEE quote status or trusted time evidence, MAY depend on cached
        trust anchors or online validation services, depending on local
        policy.
      </t>
    </section>

    <section numbered="true" toc="include" anchor="receipt-structure">
      <name>Receipt Structure</name>
      <t>A Delta-1 receipt is a JSON object with the following fields.</t>

      <section numbered="true" toc="include" anchor="required-fields">
        <name>Required Fields</name>
        <dl newline="false" spacing="normal">
          <dt>schema_version</dt>
          <dd>String. MUST be "delta1-v1".</dd>

          <dt>receipt_id</dt>
          <dd>
            String. Globally unique identifier for this receipt.
            RECOMMENDED format: "EP-" followed by 8 or more hexadecimal
            characters.
          </dd>

          <dt>session_id</dt>
          <dd>String. Identifier of the decision session.</dd>

          <dt>run_id</dt>
          <dd>
            String. Globally unique nonce for anti-replay protection.
            MUST NOT be reused across receipts.
          </dd>

          <dt>sequence_number</dt>
          <dd>
            Unsigned integer. Monotonically increasing counter per
            issuing validator instance.
          </dd>

          <dt>delta1_valid</dt>
          <dd>
            Boolean. True if and only if C1, C2, and C3 are all true.
          </dd>

          <dt>conditions_met</dt>
          <dd>
            Object containing boolean fields c1, c2, and c3.
          </dd>

          <dt>timestamp</dt>
          <dd>String. RFC 3339 timestamp of receipt issuance.</dd>

          <dt>proof_hash</dt>
          <dd>
            String. SHA-256 digest of the canonical proof input defined
            in <xref target="proof-construction"/>.
          </dd>

          <dt>signature</dt>
          <dd>
            String. Ed25519 signature over the proof_hash, produced by
            the customer's signing key.
          </dd>

          <dt>public_key_ref</dt>
          <dd>
            String. Reference to the public key used for signature
            verification.
          </dd>
        </dl>
      </section>

      <section numbered="true" toc="include" anchor="optional-fields">
        <name>Optional Fields</name>
        <dl newline="false" spacing="normal">
          <dt>transcript_digest</dt>
          <dd>
            String. Canonical digest of the pipeline execution context.
            REQUIRED for production deployments.
          </dd>

          <dt>attestation</dt>
          <dd>
            Object. Hardware attestation proof, if a TEE is used.
          </dd>

          <dt>bbox_seal_hash</dt>
          <dd>String. SHA-256 digest of the sealed evidence chain.</dd>

          <dt>trusted_time</dt>
          <dd>
            Object. Optional trusted time evidence, such as RFC 3161 or
            Roughtime-derived proof.
          </dd>
        </dl>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="condition-evaluation">
      <name>Condition Evaluation</name>
      <t>
        The Delta-1 validator MUST evaluate three conditions. All three
        MUST be true for the receipt to be VALID.
      </t>

      <section numbered="true" toc="include" anchor="c1-evidence-consumed">
        <name>C1: Evidence Consumed</name>
        <t>C1 is true when all of the following hold:</t>
        <ol type="a">
          <li>An evidence chain exists for the session.</li>
          <li>The chain contains at least the minimum required evidence packets; implementation-defined, RECOMMENDED value is 3 or greater.</li>
          <li>Required processing layers are represented in the chain.</li>
          <li>Chain integrity is valid and hash linkage is unbroken.</li>
          <li>The chain has been sealed and no further entries are accepted.</li>
        </ol>
      </section>

      <section numbered="true" toc="include" anchor="c2-intent-isolated">
        <name>C2: Intent Isolated</name>
        <t>C2 is true when all of the following hold:</t>
        <ol type="a">
          <li>Intent fragmentation or transformation was applied before transmission to the inference provider.</li>
          <li>Training-signal blocking mechanisms were active.</li>
          <li>Confirmation-denial or equivalent response screening verified that provider responses did not reveal protected original entities.</li>
          <li>Under the deployment threat model, the original intent is not reconstructable from the transformed query material delivered to providers.</li>
        </ol>
        <t>
          Deployments claiming C2 compliance SHOULD document the threat
          model, attacker vantage point, and reconstruction criteria used
          for validation.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="c3-settlement-recorded">
        <name>C3: Settlement Recorded</name>
        <t>C3 is true when all of the following hold:</t>
        <ol type="a">
          <li>A settlement record exists for the session.</li>
          <li>The settlement was produced by an authorized signer.</li>
          <li>The signature is cryptographically valid.</li>
          <li>The settlement has not expired.</li>
          <li>Closure was explicitly acknowledged and was not purely automatic.</li>
        </ol>
      </section>

      <section numbered="true" toc="include" anchor="binary-conjunction">
        <name>Binary Conjunction</name>
        <t>The verdict is computed as follows:</t>
        <sourcecode type="text"><![CDATA[
delta1_valid = c1 AND c2 AND c3
]]></sourcecode>
        <t>
          There is no partial validity, no scoring, and no weighted
          average. Two out of three conditions being true still yields
          INVALID.
        </t>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="transcript-binding">
      <name>Transcript Binding</name>
      <t>
        To prevent receipt transplantation, the receipt SHOULD include a
        transcript binding digest.
      </t>
      <t>The transcript_digest is computed as follows:</t>
      <sourcecode type="text"><![CDATA[
transcript_digest = SHA-256(
  original_request_digest ||
  transformed_request_digests ||
  provider_dispatch_map ||
  provider_response_digests ||
  trt_verdict_digest ||
  bbox_seal_hash ||
  policy_versions ||
  model_identities
)
]]></sourcecode>

      <section numbered="true" toc="include" anchor="binding-fields">
        <name>Binding Fields</name>
        <dl newline="false" spacing="normal">
          <dt>original_request_digest</dt>
          <dd>SHA-256 of the user's original query before transformation.</dd>

          <dt>transformed_request_digests</dt>
          <dd>SHA-256 of each transformed fragment sent to providers.</dd>

          <dt>provider_dispatch_map</dt>
          <dd>
            Ordered pairs of fragment identifier and provider identifier.
          </dd>

          <dt>provider_response_digests</dt>
          <dd>SHA-256 of each provider's raw response.</dd>

          <dt>trt_verdict_digest</dt>
          <dd>SHA-256 digest of the transformation or sanitization verdict.</dd>

          <dt>bbox_seal_hash</dt>
          <dd>SHA-256 digest of the sealed evidence chain.</dd>

          <dt>policy_versions</dt>
          <dd>Identifiers of active policy versions at processing time.</dd>

          <dt>model_identities</dt>
          <dd>Provider and model identifiers used in the pipeline.</dd>
        </dl>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="anti-replay-protection">
      <name>Anti-Replay Protection</name>

      <section numbered="true" toc="include" anchor="run-id-nonce">
        <name>Run ID Nonce</name>
        <t>
          Each receipt MUST contain a globally unique run_id. The
          validator MUST reject any validation request whose run_id has
          been previously used.
        </t>
        <t>
          Implementations SHOULD use cryptographically random
          identifiers of at least 128 bits.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="monotonic-sequence-number">
        <name>Monotonic Sequence Number</name>
        <t>
          Each receipt MUST contain a sequence_number that is strictly
          greater than the sequence_number of any previous receipt from
          the same validator instance.
        </t>
        <t>
          Gaps are permitted, such as after rejected validations, but
          decreases are not permitted.
        </t>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="signature-and-verification">
      <name>Signature and Verification</name>

      <section numbered="true" toc="include" anchor="proof-construction">
        <name>Proof Construction and Signing</name>
        <t>
          Before computing proof_hash, implementations MUST construct a
          canonical proof input object containing the following fields:
          session_id, run_id, sequence_number, conditions_met,
          transcript_digest, and timestamp.
        </t>
        <t>
          The proof input object MUST be serialized using the JSON
          Canonicalization Scheme (JCS) defined in <xref target="RFC8785"/>.
          The proof_hash is the SHA-256 digest of that canonicalized byte
          string.
        </t>
        <t>
          The receipt signature MUST use Ed25519 <xref target="RFC8032"/>.
          The signed payload is the proof_hash.
        </t>
        <t>
          The signing key MUST be controlled by the customer, not by the
          infrastructure vendor.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="verification">
        <name>Verification</name>
        <t>Verification requires, at minimum:</t>
        <ol type="a">
          <li>The receipt JSON document.</li>
          <li>The customer's Ed25519 public key.</li>
        </ol>
        <t>Verification procedure:</t>
        <ol>
          <li>Recompute proof_hash from the canonical proof input.</li>
          <li>Verify the Ed25519 signature against proof_hash.</li>
          <li>If transcript_digest is present, verify that it matches the expected canonical digest.</li>
          <li>If sequence tracking is implemented, verify that sequence_number exceeds the last known value for the validator instance.</li>
        </ol>
        <t>
          Verification of receipt signature and transcript binding MUST
          NOT require network access, vendor APIs, or online services.
        </t>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="hardware-attestation">
      <name>Hardware Attestation (Optional)</name>
      <t>
        When the Delta-1 validator executes inside a Trusted Execution
        Environment (TEE), the receipt MAY include attestation evidence.
      </t>

      <section numbered="true" toc="include" anchor="attestation-proof-structure">
        <name>Attestation Proof Structure</name>
        <dl newline="false" spacing="normal">
          <dt>tee_type</dt>
          <dd>TEE technology identifier, such as sgx_dcap, sev_snp, cca, or nitro.</dd>

          <dt>quote</dt>
          <dd>The TEE attestation artifact appropriate to tee_type.</dd>

          <dt>measurement</dt>
          <dd>Measurement of the trusted execution payload, such as MRENCLAVE or equivalent.</dd>

          <dt>signer_identity</dt>
          <dd>Identity of the signing authority for the measured payload, if applicable.</dd>

          <dt>tcb_level</dt>
          <dd>Status of the TEE trusted computing base.</dd>

          <dt>report_data_hash</dt>
          <dd>
            The receipt proof_hash bound into the attestation evidence.
          </dd>

          <dt>mode</dt>
          <dd>Deployment mode. Simulation values MUST NOT be trusted in production.</dd>
        </dl>
      </section>

      <section numbered="true" toc="include" anchor="attestation-verification">
        <name>Attestation Verification</name>
        <t>
          Attestation verification depends on tee_type and local trust
          policy. Implementations MAY validate attestation online, or
          offline using cached collateral and trust anchors.
        </t>
        <t>At minimum, verifiers SHOULD:</t>
        <ol type="A">
          <li>Verify the attestation evidence against the relevant TEE trust chain.</li>
          <li>Verify that the measured payload matches an expected published measurement.</li>
          <li>Verify that report_data_hash equals receipt.proof_hash.</li>
          <li>Verify that tcb_level is acceptable under local policy.</li>
        </ol>
      </section>

      <section numbered="true" toc="include" anchor="trust-model">
        <name>Trust Model</name>
        <t>
          Without attestation, the customer trusts that vendor-operated
          software ran correctly. With attestation, trust shifts toward
          the TEE platform and its measurement chain. This is a
          substantial trust upgrade, but not a zero-trust guarantee.
        </t>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="receipt-lifecycle">
      <name>Receipt Lifecycle</name>

      <section numbered="true" toc="include" anchor="immutability">
        <name>Immutability</name>
        <t>
          A receipt, once issued, MUST NOT be modified. If a condition
          is later found to have been recorded incorrectly, a new
          receipt MUST be issued with a new receipt_id and the updated
          verdict.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="archival">
        <name>Archival</name>
        <t>
          Receipts SHOULD be archived by the customer for the duration
          required by applicable regulation, contract, or internal
          retention policy.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="chain-of-custody">
        <name>Chain of Custody</name>
        <t>
          To prove accountability over a period of time, implementations
          MAY chain receipts by incorporating the previous receipt's
          proof_hash into the next receipt's transcript binding.
        </t>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="transport-considerations">
      <name>Transport Considerations</name>
      <t>Delta-1 receipts are transport-agnostic. They MAY be delivered via:</t>
      <ul>
        <li>HTTPS API response for real-time systems</li>
        <li>File download, including compliance or legal export flows</li>
        <li>Message queue for asynchronous processing pipelines</li>
        <li>Blockchain anchoring for optional public verifiability</li>
      </ul>
      <t>
        The receipt format is JSON. Implementations SHOULD support both
        JSON and CBOR <xref target="RFC8949"/> encodings where
        bandwidth-constrained environments require compact encoding.
      </t>
    </section>

    <section numbered="true" toc="include" anchor="security-considerations">
      <name>Security Considerations</name>

      <section numbered="true" toc="include" anchor="self-attestation-risk">
        <name>Self-Attestation Risk</name>
        <t>
          Without TEE support, the receipt is ultimately a software
          self-report. A compromised validator can produce fraudulent
          VALID receipts.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="key-management">
        <name>Key Management</name>
        <t>
          The customer's Ed25519 signing key is a root of trust.
          Compromise of this key permits forged receipts.
          Implementations SHOULD use hardware security modules or
          equivalent protections.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="replay-attacks">
        <name>Replay Attacks</name>
        <t>
          run_id nonces and monotonic sequence_number values are used to
          mitigate replay attacks. Validators MUST reject duplicate
          run_id values.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="transcript-transplantation">
        <name>Transcript Transplantation</name>
        <t>
          Without transcript binding, a valid receipt could be attached
          to a different decision. Production deployments SHOULD include
          transcript binding.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="tee-side-channels">
        <name>Side-Channel Attacks on TEE</name>
        <t>
          TEE technologies remain exposed to side-channel and
          implementation-level attacks. Current mitigations reduce, but
          do not eliminate, residual risk.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="timing-information">
        <name>Timing Information</name>
        <t>
          The timestamp in the receipt is produced by the validator's
          local clock. High-assurance deployments SHOULD bind receipt
          issuance time to a trusted external time source, such as RFC
          3161 or Roughtime-based evidence.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="json-canonicalization">
        <name>JSON Canonicalization</name>
        <t>
          Receipt proof construction MUST use JCS canonicalization
          before hashing. Without deterministic serialization,
          semantically identical content can yield different proof_hash
          values.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="key-rotation-and-revocation">
        <name>Key Rotation and Revocation</name>
        <t>
          Implementations MUST support key rotation. Historical receipts
          signed by an old key remain valid if the corresponding public
          key and validity period are preserved.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="validator-integrity">
        <name>Validator Integrity</name>
        <t>
          The Delta-1 validator is a single point of trust when no TEE
          is used. Reproducible builds, transparency logs, and
          multi-party validation are RECOMMENDED mitigations for
          high-assurance deployments.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="tee-vendor-generalization">
        <name>TEE Vendor Generalization</name>
        <t>
          Implementations SHOULD support multiple TEE families and MUST
          distinguish them using tee_type.
        </t>
      </section>

      <section numbered="true" toc="include" anchor="quote-freshness">
        <name>Quote Freshness</name>
        <t>
          Attestation artifacts can be replayed. Binding proof_hash into
          report_data_hash ensures that an attestation artifact covers
          exactly one receipt instance.
        </t>
      </section>
    </section>

    <section numbered="true" toc="include" anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>
        This document requests registration of the
        "application/delta1-receipt+json" media type in the
        "Media Types" registry.
      </t>

      <section numbered="true" toc="include" anchor="media-type-registration">
        <name>Media Type Registration</name>
        <dl newline="false" spacing="normal">
          <dt>Type name</dt>
          <dd>application</dd>

          <dt>Subtype name</dt>
          <dd>delta1-receipt+json</dd>

          <dt>Required parameters</dt>
          <dd>None.</dd>

          <dt>Optional parameters</dt>
          <dd>version, default value "delta1-v1".</dd>

          <dt>Encoding considerations</dt>
          <dd>
            Binary. Delta-1 receipt documents are UTF-8 encoded JSON
            texts.
          </dd>

          <dt>Security considerations</dt>
          <dd>See <xref target="security-considerations"/>.</dd>

          <dt>Interoperability considerations</dt>
          <dd>
            Interoperability depends on consistent canonicalization,
            proof construction, and algorithm support as defined in this
            specification.
          </dd>

          <dt>Published specification</dt>
          <dd>This document.</dd>

          <dt>Applications that use this media type</dt>
          <dd>
            AI accountability systems, evidence archival systems,
            regulatory reporting systems, and audit verification tools.
          </dd>

          <dt>Fragment identifier considerations</dt>
          <dd>Same as for application/json.</dd>

          <dt>Additional information</dt>
          <dd>
            Magic number: N/A.
            File extension: .delta1.json.
            Macintosh file type code: N/A.
          </dd>

          <dt>Person and email address to contact for further information</dt>
          <dd>YC Chang, yc@oia-lab.com</dd>

          <dt>Intended usage</dt>
          <dd>Common.</dd>

          <dt>Restrictions on usage</dt>
          <dd>None.</dd>

          <dt>Author</dt>
          <dd>YC Chang</dd>

          <dt>Change controller</dt>
          <dd>IETF</dd>
        </dl>
      </section>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6234.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml"/>
      <reference anchor="SCITT-ARCH" target="https://datatracker.ietf.org/doc/draft-ietf-scitt-architecture/">
        <front>
          <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
          <author fullname="Henk Birkholz"/>
          <date/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-architecture"/>
      </reference>
    </references>

    <references>
      <name>Informative References</name>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3161.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9530.xml"/>
      <reference anchor="P11" target="https://doi.org/10.5281/zenodo.19338864">
        <front>
          <title>Authorization Is Not Settlement: Why AI Accountability Requires Binary Closure</title>
          <author fullname="Y.C. Chang"/>
          <date year="2026" month="03"/>
        </front>
        <seriesInfo name="DOI" value="10.5281/zenodo.19338864"/>
      </reference>
      <reference anchor="EUAIA">
        <front>
          <title>Regulation (EU) 2024/1689 laying down harmonised rules on artificial intelligence (AI Act)</title>
          <author fullname="European Parliament and Council"/>
          <date year="2024"/>
        </front>
      </reference>
      <reference anchor="COAIA">
        <front>
          <title>SB 24-205 Concerning Consumer Protections for Artificial Intelligence</title>
          <author fullname="State of Colorado"/>
          <date year="2024"/>
        </front>
      </reference>
      <reference anchor="FORESHADOW">
        <front>
          <title>Foreshadow: Extracting the Keys to the Intel SGX Kingdom</title>
          <author fullname="Jo Van Bulck"/>
          <date year="2018"/>
        </front>
      </reference>
    </references>

    <section numbered="false" toc="include" anchor="json-schema">
      <name>Appendix A. JSON Schema</name>
      <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Delta1Receipt",
  "type": "object",
  "required": [
    "schema_version",
    "receipt_id",
    "session_id",
    "run_id",
    "sequence_number",
    "delta1_valid",
    "conditions_met",
    "timestamp",
    "proof_hash",
    "signature",
    "public_key_ref"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "const": "delta1-v1"
    },
    "receipt_id": { "type": "string" },
    "session_id": { "type": "string" },
    "run_id": { "type": "string" },
    "sequence_number": {
      "type": "integer",
      "minimum": 1
    },
    "delta1_valid": { "type": "boolean" },
    "conditions_met": {
      "type": "object",
      "required": ["c1", "c2", "c3"],
      "properties": {
        "c1": { "type": "boolean" },
        "c2": { "type": "boolean" },
        "c3": { "type": "boolean" }
      }
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "proof_hash": { "type": "string" },
    "signature": { "type": "string" },
    "public_key_ref": { "type": "string" },
    "transcript_digest": { "type": "string" },
    "bbox_seal_hash": { "type": "string" },
    "trusted_time": {
      "type": "object",
      "properties": {
        "type": { "type": "string" },
        "value": { "type": "string" }
      }
    },
    "attestation": {
      "type": "object",
      "properties": {
        "tee_type": { "type": "string" },
        "quote": { "type": "string" },
        "measurement": { "type": "string" },
        "signer_identity": { "type": "string" },
        "tcb_level": { "type": "string" },
        "report_data_hash": { "type": "string" },
        "mode": { "type": "string" }
      }
    }
  }
}
]]></sourcecode>
    </section>

    <section numbered="false" toc="include" anchor="example-receipts">
      <name>Appendix B. Example Receipts</name>

      <section numbered="false" toc="include" anchor="valid-receipt">
        <name>VALID Receipt (All Conditions Met)</name>
        <sourcecode type="json"><![CDATA[
{
  "schema_version": "delta1-v1",
  "receipt_id": "EP-mnu2gmo2-df9ba6d5",
  "session_id": "session-20260414-e3f1",
  "run_id": "run-20260414-a7f3b2c1d4e5",
  "sequence_number": 42,
  "delta1_valid": true,
  "conditions_met": { "c1": true, "c2": true, "c3": true },
  "timestamp": "2026-04-14T10:24:15Z",
  "proof_hash": "3fa2b7c1e8d9f4a5b6c7d8e9f0a1b2c3...",
  "signature": "ed25519:MIGHAoGBANr5nD1y4X...",
  "public_key_ref": "customer_hsm_key_001",
  "transcript_digest": "a1b2c3d4e5f6a7b8c9d0e1f2...",
  "bbox_seal_hash": "9a8b7c6d5e4f3a2b1c...",
  "attestation": {
    "tee_type": "sgx_dcap",
    "quote": "SIMULATION:abc123...",
    "measurement": "f7a2b1c3d4e5f6a7b8c9d0e1...",
    "signer_identity": "e1f2a3b4c5d6e7f8a9b0c1d2...",
    "tcb_level": "simulation",
    "report_data_hash": "3fa2b7c1e8d9f4a5b6c7d8e9f0a1b2c3...",
    "mode": "simulation"
  }
}
]]></sourcecode>
      </section>

      <section numbered="false" toc="include" anchor="invalid-receipt">
        <name>INVALID Receipt (C2 Failed)</name>
        <sourcecode type="json"><![CDATA[
{
  "schema_version": "delta1-v1",
  "receipt_id": "EP-x9k3m7p2-c4a1b8f3",
  "session_id": "session-20260414-b2c3",
  "run_id": "run-20260414-f8e7d6c5b4a3",
  "sequence_number": 43,
  "delta1_valid": false,
  "conditions_met": { "c1": true, "c2": false, "c3": true },
  "timestamp": "2026-04-14T10:25:02Z",
  "proof_hash": "7b8c9d0e1f2a3b4c5d6e7f8a...",
  "signature": "ed25519:KJHFaskjdfh...",
  "public_key_ref": "customer_hsm_key_001",
  "transcript_digest": ""
}
]]></sourcecode>
      </section>
    </section>
  </back>
</rfc>
