{
  "$schema": "https://cyclonedx.org/schema/bom-1.7.schema.json",
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:214ee5e7-bd58-4b3b-92c4-c9a61184009b",
  "version": 1,
  "metadata": {
    "timestamp": "2026-07-11T00:00:00Z",
    "authors": [
      {
        "name": "Hypermedia Au Security Team"
      }
    ],
    "component": {
      "type": "data",
      "name": "Transparency Receipt Specification",
      "version": "1.0.0"
    },
    "properties": [
      {
        "name": "cyberbench:artifact-kind",
        "value": "referenced-artifact (optional; cross-org only; not a BOM)"
      },
      {
        "name": "cyberbench:fullname",
        "value": "Transparency Receipt (SCITT Transparent Statement, cross-org non-equivocation)"
      }
    ]
  },
  "definitions": {
    "standards": [
      {
        "bom-ref": "transparency-receipt-v1.0.0",
        "name": "Hypermedia Security: Transparency Receipt Specification",
        "version": "1.0.0",
        "description": "The transparency receipt as used by CyberBench: an OPTIONAL, cross-org-only referenced artifact. The sovereign default ships NO transparency log — non-equivocation is a guarantee produced only by external mutually-distrusting witnesses, which a single-authority sovereign enclave does not have; a witness-less private log would give log structure without the guarantee. The in-enclave append-only ledger is the git case-repo commit DAG, and independent time is the external RFC 3161 seal token (timestamp-token/v1). When a genuine cross-org matter requires non-equivocation across a trust boundary, a SCITT Transparency Service (RFC 9943) slots in behind the TransparencyLog port and its Receipts (RFC 9942) are referenced — never embedded — from the case record.",
        "owner": "Hypermedia Au",
        "externalReferences": [
          {
            "type": "other",
            "url": "https://sec.hypermedia.au/standards/case-provenance/v1",
            "comment": "cyberbench:transparencyReceiptRef, empty in sovereign default",
            "properties": [
              {
                "name": "cyberbench:role",
                "value": "referenced-from"
              }
            ]
          },
          {
            "type": "other",
            "url": "https://sec.hypermedia.au/standards/evidence-record/v1",
            "comment": "#leaf-completeness when present",
            "properties": [
              {
                "name": "cyberbench:role",
                "value": "referenced-from"
              }
            ]
          },
          {
            "type": "documentation",
            "url": "https://www.rfc-editor.org/rfc/rfc9943",
            "comment": "RFC 9943 (June 2026, Standards Track) — SCITT architecture: Signed Statement, Transparency Service, Receipt, Transparent Statement. Ratified from draft-ietf-scitt-architecture"
          },
          {
            "type": "documentation",
            "url": "https://www.rfc-editor.org/rfc/rfc9942",
            "comment": "RFC 9942 (June 2026, Proposed Standard) — COSE Receipts: header parameters receipts (394), vds (395), vdp (396); inclusion and consistency proofs; RFC9162_SHA256 verifiable data structure"
          },
          {
            "type": "documentation",
            "url": "https://www.rfc-editor.org/rfc/rfc3161.html",
            "comment": "RFC 3161 — the independent-time anchor the sovereign default uses instead of a transparency log"
          },
          {
            "type": "website",
            "url": "https://sec.hypermedia.au"
          }
        ],
        "requirements": [
          {
            "bom-ref": "sovereign-default-absence",
            "identifier": "TREC-001",
            "title": "Sovereign Default Ships No Transparency Log",
            "text": "The sovereign default deployment MUST NOT operate a transparency log, and the transparency receipt reference in the case record MUST be empty. A verifier operating under the sovereign profile MUST NOT treat the absence of transparency receipts as non-conformance. An in-enclave private transparency log MUST NOT be presented as providing non-equivocation.",
            "descriptions": [
              "Non-equivocation — the guarantee that no one was shown a different version of the log — is produced only by external mutually-distrusting witnesses. A single-authority sovereign enclave has none, so a private log would add structure without the guarantee. The enclave's append-only ledger is the git case-repo commit DAG; independent time comes from the external RFC 3161 seal token. This requirement exists so the posture is citable: an assessor asking where the transparency log is gets a requirement URI stating the reasoned absence."
            ],
            "parent": "transparency-receipt-v1.0.0",
            "properties": [
              {
                "name": "requirement-uri",
                "value": "https://sec.hypermedia.au/standards/transparency-receipt/v1#sovereign-default-absence"
              },
              {
                "name": "validation-method",
                "value": "profile-conditional"
              },
              {
                "name": "sovereign-ledger",
                "value": "git-commit-DAG"
              },
              {
                "name": "sovereign-time",
                "value": "https://sec.hypermedia.au/standards/timestamp-token/v1"
              }
            ]
          },
          {
            "bom-ref": "reference-only",
            "identifier": "TREC-002",
            "title": "Receipts Are Referenced, Never Embedded",
            "text": "When a transparency receipt exists, the case record MUST carry only a reference to it — service identity, log identifier, entry hash, and the scittProfile marker — via the cyberbench:transparencyReceiptRef property. Receipt bytes MUST NOT be embedded or re-encoded inside any BOM or attestation. BOM shapes MUST be identical whether receipts exist or not.",
            "descriptions": [
              "The receipt is a COSE/CBOR artifact belonging to its own ecosystem; the JSON case record points at it by hash, the same pattern as timestamp tokens and the Evidence Record. Keeping the shapes identical with and without receipts is what makes transparency a slot-in rather than a fork of the record format."
            ],
            "parent": "transparency-receipt-v1.0.0",
            "properties": [
              {
                "name": "requirement-uri",
                "value": "https://sec.hypermedia.au/standards/transparency-receipt/v1#reference-only"
              },
              {
                "name": "validation-method",
                "value": "schema"
              },
              {
                "name": "reference-property",
                "value": "cyberbench:transparencyReceiptRef"
              },
              {
                "name": "reference-fields",
                "value": "service,logId,entryHash,scittProfile"
              }
            ]
          },
          {
            "bom-ref": "cross-org-trigger",
            "identifier": "TREC-003",
            "title": "Cross-Org Trigger",
            "text": "Transparency receipts MUST be produced only for a cross-org matter: one where non-equivocation must be demonstrated across a trust boundary between mutually-distrusting organisations. The capability MUST be implemented behind the TransparencyLog port so that enabling it changes configuration, not the record format.",
            "descriptions": [
              "The trigger is a property of the matter, not of the deployment: the same enclave runs sovereign matters with no log and a cross-org matter with a Transparency Service, distinguished only by which TransparencyLog implementation is wired."
            ],
            "parent": "transparency-receipt-v1.0.0",
            "properties": [
              {
                "name": "requirement-uri",
                "value": "https://sec.hypermedia.au/standards/transparency-receipt/v1#cross-org-trigger"
              },
              {
                "name": "validation-method",
                "value": "profile-conditional"
              },
              {
                "name": "seam",
                "value": "TransparencyLog-port"
              }
            ]
          },
          {
            "bom-ref": "receipt-model",
            "identifier": "TREC-004",
            "title": "Receipt Model",
            "text": "When transparency is wired, each registered seal or custody event MUST follow the SCITT model (RFC 9943): a Signed Statement whose detached payload is the CycloneDX document, identified by hash; registration with a Transparency Service; a Receipt returned as proof of registration. The stored artifact MUST be the Transparent Statement (the Signed Statement with its Receipt attached), verifiable offline by a relying party without a live call to the Transparency Service.",
            "descriptions": [
              "Only hashes and signatures are registered — the BOM payload is detached, so no case content reaches the Transparency Service, preserving the same privacy posture as the TSA relationship. Offline verifiability matters because the relying party in a cross-org matter is by definition outside the enclave."
            ],
            "parent": "transparency-receipt-v1.0.0",
            "properties": [
              {
                "name": "requirement-uri",
                "value": "https://sec.hypermedia.au/standards/transparency-receipt/v1#receipt-model"
              },
              {
                "name": "validation-method",
                "value": "cose-verification"
              },
              {
                "name": "payload",
                "value": "detached (BOM referenced by hash)"
              },
              {
                "name": "stored-artifact",
                "value": "Transparent Statement"
              }
            ]
          },
          {
            "bom-ref": "specification-basis",
            "identifier": "TREC-005",
            "title": "Specification Basis",
            "text": "Receipts MUST conform to RFC 9943 (SCITT architecture) and RFC 9942 (COSE Receipts: header parameters 394/395/396, inclusion proofs). The scittProfile field of the receipt reference MUST record the profile in use (e.g. rfc9943). Encodings from pre-RFC Internet-Drafts MUST NOT be used or accepted.",
            "descriptions": [
              "Both specifications ratified in June 2026. Earlier CyberBench design material treated SCITT as an unstable draft and marked the seam scittProfile:pending; with the RFCs published, the profile marker now names the ratified specification, and the seam's job becomes recording which profile a receipt conforms to rather than guarding against draft churn."
            ],
            "parent": "transparency-receipt-v1.0.0",
            "properties": [
              {
                "name": "requirement-uri",
                "value": "https://sec.hypermedia.au/standards/transparency-receipt/v1#specification-basis"
              },
              {
                "name": "validation-method",
                "value": "cose-verification"
              },
              {
                "name": "specifications",
                "value": "RFC9943,RFC9942"
              },
              {
                "name": "profile-marker",
                "value": "scittProfile"
              }
            ]
          },
          {
            "bom-ref": "receipt-storage",
            "identifier": "TREC-006",
            "title": "Receipt Storage",
            "text": "When transparency is wired, Transparent Statements MUST be stored under Receipts/seals/ (per-seal registrations) and Receipts/events/ (per-event registrations, where used) in the case repository. The Receipts/ tree MUST be absent in the sovereign default. Receipts present at finalisation MUST be included as leaves of the Evidence Record (evidence-record/v1#leaf-completeness).",
            "descriptions": [
              "The receipt tree is the only optional tree in the case repo layout — its very absence is meaningful (sovereign profile) and its presence marks a cross-org matter. Feeding receipts into the Evidence Record puts them under the same renewal protection as every other proof artifact."
            ],
            "parent": "transparency-receipt-v1.0.0",
            "properties": [
              {
                "name": "requirement-uri",
                "value": "https://sec.hypermedia.au/standards/transparency-receipt/v1#receipt-storage"
              },
              {
                "name": "validation-method",
                "value": "path-presence"
              },
              {
                "name": "seal-receipts",
                "value": "Receipts/seals/"
              },
              {
                "name": "event-receipts",
                "value": "Receipts/events/"
              },
              {
                "name": "target-standard",
                "value": "https://sec.hypermedia.au/standards/evidence-record/v1#leaf-completeness"
              }
            ]
          }
        ]
      }
    ]
  }
}
