Skip to content

Hypermedia Security: Artifact Entry Specification

v1.0.0Hypermedia AuL0

Artifact Entry (evidence / derived artifact, hash-only)

The L0 artifact entry: the hash-only record of one piece of evidence (an original file, stored exactly as received and never changed) or one derived artifact (produced from evidence by processing) inside a CyberBench case. An artifact entry is not a document of its own — it is a CycloneDX component that lives inside the Case Provenance BOM (case-provenance/v1) as one element of its components array. It carries no signature: its integrity comes from the seal over the enclosing catalog, and each seal is independently time-anchored by an RFC 3161 token (timestamp-token/v1).

Validate against: /schemas/artifact-entry/v1.schema.json

Download raw JSON

Relationships

References

Referenced by

Sources

ecma-international.org
ECMA-424 2nd edition (December 2025) — the CycloneDX 1.7 BOM specification
cyclonedx.org
CycloneDX 1.7 JSON reference — component type enumeration (includes file, data, machine-learning-model), hash algorithm enumeration, bom-ref rules, name/value properties
github.com
CycloneDX property taxonomy — namespaced property naming; the cyberbench: namespace follows it
www.iso.org
ISO/IEC 27037:2012 — Guidelines for identification, collection, acquisition and preservation of digital evidence
www.iso.org
ISO/IEC 27042:2015 — Guidelines for the analysis and interpretation of digital evidence (continuity, validity, reproducibility, repeatability)
www.w3.org
W3C PROV-DM — wasDerivedFrom: a derivation is a transformation of one entity into another
www.law.cornell.edu
US FRE 901(b)(9) — authentication via evidence describing a process or system and showing it produces an accurate result
www.rfc-editor.org
RFC 2119 (as clarified by RFC 8174) — requirement key words; only capitalised forms are normative
sec.hypermedia.au
website

ART-001 CycloneDX Component Conformance MUST

checked: schema

An artifact entry MUST be a CycloneDX 1.7 component object. Its type MUST be 'file' for raw evidence or 'data' for a derived artifact; 'machine-learning-model' MAY be used where the artifact is itself a model. All three values are members of the CycloneDX 1.7 component type enumeration.

Using plain CycloneDX components keeps every artifact entry readable by standard BOM tooling. The entry is enumerated inside the Case Provenance BOM's components array; it is never a standalone document.

allowed-types
filedatamachine-learning-model

ART-002 BOM Reference Convention MUST NOT

checked: schema

An artifact entry MUST carry a bom-ref that is unique within the enclosing BOM. The bom-ref MUST follow the slug convention 'evidence-<ordinal>-<hashPrefix>' for evidence or 'derived-<sourceOrdinal>-<kind>' for derived artifacts, and MUST NOT begin with 'urn:cdx:' (reserved by CycloneDX for BOM-Links).

The bom-ref is the anchor that BOM-Links from other objects resolve to — custody events reference it, and a finding's analysis-provenance inputRefs bind to it. Every such cross-reference pairs the link with the target's content hash: the link locates, the hash proves.

evidence-slug
evidence-<ordinal>-<hashPrefix>
derived-slug
derived-<sourceOrdinal>-<kind>

ART-003 Hash Binding MUST

checked: cryptographic-hash

An artifact entry MUST contain at least one hash entry with alg 'SHA-256' and lowercase hexadecimal content. Entries for stronger algorithms (SHA-512, SHA3-256, SHA3-512, BLAKE3) MAY be added; all values MUST be members of the CycloneDX hash algorithm enumeration.

For evidence this hash is the artifact's identity; for derived artifacts it is the integrity anchor of the persisted file. Only hashes enter the BOM — evidence bytes stay in the Vault and never leave the machine. This serves ISO/IEC 27037 integrity and preservation.

required-algorithms
SHA-256
optional-algorithms
SHA-512SHA3-256SHA3-512BLAKE3

ART-004 Artifact Class Declaration MUST

checked: schema

An artifact entry MUST declare exactly one cyberbench:artifactClass property with value 'evidence' or 'derived'. This is a closed set: no other values are valid in v1.

The class is the discriminator every other requirement in this standard conditions on. Evidence is an original file brought into the case; derived is something produced from evidence by processing. Domain properties use the cyberbench: namespace per the CycloneDX property taxonomy convention.

allowed-values
evidencederived
vocabulary
closed

ART-005 Evidence Identity MUST

checked: cryptographic-hash

An evidence entry MUST carry a cyberbench:evidenceId property whose value is the SHA-256 of the original bytes, equal to the SHA-256 entry in the component's hashes array. This value is the Evidence.id — the identity every later object traces back to.

The SHA-256 of the bytes as received is the only guaranteed representation of the original in the whole system. Serves ISO/IEC 27037 identification.

applies-to-class
evidence

ART-006 Evidence Ordinal MUST

checked: schema

An evidence entry MUST carry a cyberbench:ordinal property: a positive integer recording append-only ingest order within the case.

The ordinal makes the ingest sequence explicit and gap-checkable, complementing the custody chain's strictly monotonic event sequence.

applies-to-class
evidence

ART-007 Evidence Immutability MUST

checked: schema

An evidence entry MUST carry a cyberbench:immutable property with value 'true'. The original bytes MUST never be modified; all processing MUST produce new, separately hashed derived artifacts.

This is the ISO/IEC 27037 preservation posture stated on the record: originals are frozen at the door, and everything else in the case derives from them without touching them.

applies-to-class
evidence

ART-008 Derived Lineage MUST

checked: cross-reference

A derived entry MUST carry cyberbench:sourceEvidenceRef (the bom-ref of the evidence entry it was produced from) AND cyberbench:sourceEvidenceHash (the SHA-256 of that source evidence). Neither is valid without the other. The enclosing Case Provenance BOM SHOULD mirror this edge in its dependencies array.

This is the lineage edge — the CycloneDX expression of a W3C PROV derivation (wasDerivedFrom: the transformation of one entity into another). The paired hash makes the reference provable, not just locatable.

applies-to-class
derived
paired-fields
cyberbench:sourceEvidenceRef,cyberbench:sourceEvidenceHash

ART-009 Non-Reproducibility Disclosure MUST NOT

checked: schema

A derived entry MUST carry cyberbench:reproducible with value 'false' and cyberbench:integrity with value 'hash-at-rest'. The hash protects the persisted file and MUST NOT be treated as a re-derivation target.

The honest disclosure: ML-produced artifacts are method-repeatable, not byte-repeatable. Trust comes from the hash of the file as persisted plus the record of how it was made — never from re-making it. This serves the documented-process expectation of ISO/IEC 27042 and the process-or-system authentication route of US FRE 901(b)(9); a claim of byte-identical reproduction is never made.

applies-to-class
derived
required-values
cyberbench:reproducible=false,cyberbench:integrity=hash-at-rest

ART-010 No Individual Signature MUST NOT

checked: schema

An artifact entry MUST NOT carry a signature of its own and MUST NOT embed artifact content. Its integrity is bound by the seal over the enclosing Case Provenance BOM; each seal is time-anchored by an external RFC 3161 token. Verifiers MUST NOT accept a per-entry signature as a substitute for the catalog seal.

The sealed catalog already binds every hash, and the seal's timestamp token time-anchors the batch — a per-file signature would add a signing round-trip and no trust. Hash-only entries are also privacy-preserving: only hashes ever leave the Vault.

integrity-source
case-provenance/v1 seal + timestamp-token/v1

ART-011 Artifact Classification SHOULD

checked: schema

An artifact entry SHOULD carry a cyberbench:kind property (seed values: audio, document, log, image) and a derived entry SHOULD carry a cyberbench:derivedKind property (seed values: transcript, extraction). Both are open sets: new values MAY be added without a version bump.

Kinds drive processing dispatch. Unlike the artifact class (ART-004, closed), these vocabularies are deliberately open — new media and derivation kinds arrive with new capability, not with a standards change.

kind-seed-values
audiodocumentlogimage
derived-kind-seed-values
transcriptextraction
vocabulary
open

ART-012 Custody Event Linkage SHOULD

checked: cross-reference

An artifact entry SHOULD carry a cyberbench:collectedEventSeq property: the integer sequence number of the custody event (custody-chain/v1) that recorded the artifact's collection or derivation.

This joins the catalog view (what exists) to the custody log view (what happened to it), so a verifier can walk from an entry to the event that brought it into the case.

target-standard
https://sec.hypermedia.au/standards/custody-chain/v1