The VER Registry
A record that uses a token outside the sixteen the specification defines must name the snapshot that registers it. Seeding is not opening, and the distinction is the point.
| Namespace | Value space | Status | Entries |
|---|---|---|---|
| provenance_action | provenance.chain[].action | open | 16 |
| perceptual_alg | identity.perceptual[].alg | seeded-closed | 2 |
| source_class | embeddings[].source.class | seeded-closed | 8 |
| segment_family | metadata.raw[].segment | seeded-closed | 6 |
provenance_action
Opened by VER 1.1 draft §2.3 (ADR-0004): provenance.chain[].action is a constrained string rather than an enum, and a bare token outside the sixteen this specification defines MUST be an active entry of the snapshot the Record names in provenance.registry. This is the only one of the four value spaces the 1.1 draft opens. The opening ships with §2.3, which does not ratify until ADR-0004's conditions C1-C5 are satisfied.
| Token | Status | Registered | Tier | Definition |
|---|---|---|---|---|
| decode | active | 1.0 | core | The Asset was decoded to a pixel buffer.VER 1.1 draft §2.3 |
| normalize | active | 1.0 | core | CPNP-1 was executed, producing the Canonical Buffer.VER 1.1 draft §2.3 |
| embed | active | 1.0 | core | One or more vectors were computed.VER 1.1 draft §2.3 |
| transcode | active | 1.0 | core | The Asset was re-encoded into another container or codec without geometric or tonal change.VER 1.1 draft §2.3 |
| redact | active | 1.0 | core | Metadata was removed or replaced under 1.0 §7.5.VER 1.1 draft §2.3 |
| import | active | 1.0 | core | The Asset entered the Producer's custody.VER 1.1 draft §2.3 |
| publish | active | 1.1 | specification-registered | The Record, or a projection of it, was made available to parties outside the Producer.VER 1.1 draft §2.3 |
| export | active | 1.1 | specification-registered | A rendition of the Asset was written out for consumption elsewhere.VER 1.1 draft §2.3 |
| compose | active | 1.1 | specification-registered | Two or more Assets were combined into this one. Requires a `lineage` block (§3).VER 1.1 draft §2.3 |
| upscale | active | 1.1 | specification-registered | Resolution was increased, by interpolation or by a model.VER 1.1 draft §2.3 |
| crop | active | 1.1 | specification-registered | A sub-rectangle was selected.VER 1.1 draft §2.3 |
| resize | active | 1.1 | specification-registered | Dimensions were changed without cropping.VER 1.1 draft §2.3 |
| color_adjust | active | 1.1 | specification-registered | Tonal or colour values were altered (grade, curve, white balance).VER 1.1 draft §2.3 |
| denoise | active | 1.1 | specification-registered | A noise-reduction operator was applied.VER 1.1 draft §2.3 |
| generate | active | 1.1 | specification-registered | Pixel content was produced by a model rather than captured or edited.VER 1.1 draft §2.3 |
| sign | active | 1.1 | specification-registered | A detached signature was computed over the Record and recorded in `provenance.signature` (E17). The event's `at` is the signing time and its `actor` is the signer.VER 1.1 draft §2.3, §2.3.3 |
perceptual_alg
Seeded, not opened. Draft §2.4 keeps identity.perceptual[].alg a closed two-value enum in the schema and states the intent to open alg and segment in the same revision that publishes the registry. Registering an algorithm here does not admit it into a Record: until that revision a new algorithm still requires a schema revision.
| Token | Status | Registered | Digest bits | Input | Parameters | Definition |
|---|---|---|---|---|---|---|
| pdq/1.0 | active | 1.0 | 256 | The Canonical Buffer (§4), never the Asset bytes and never a re-decoded or resized intermediate other than the algorithm's own defined preprocessing. | PDQ as published by Meta's ThreatExchange reference implementation, with that implementation's bit order, rendered as 64 lowercase hex characters. | PDQ perceptual hash of the Canonical Buffer; a 256-bit digest carried as exactly 64 lowercase hexadecimal characters.VER 1.0 §5; VER 1.0.1 errata annex E22 |
| phash-dct/64 | active | 1.0 | 64 | The Canonical Buffer (§4), never the Asset bytes and never a re-decoded or resized intermediate other than the algorithm's own defined preprocessing. | the 64-bit DCT perceptual hash in the form produced by the `imagehash` reference implementation (32×32 luminance DCT, 8×8 low-frequency block, median threshold, row-major, most-significant-bit first), rendered as 16 lowercase hex characters. | The 64-bit DCT perceptual hash of the Canonical Buffer, carried as exactly 16 lowercase hexadecimal characters.VER 1.0 §5; VER 1.0.1 errata annex E22 |
source_class
Seeded, not opened, with one condition beyond the other two spaces. Draft §2.4: source.class "additionally requires a grade assignment for each new class (E19) and MUST NOT be opened before the grade table is registry-backed." This snapshot carries the grade table — every entry below states its grade — which is the carriage half of that condition. The value space itself stays closed until the revision that opens it does so. Seeding is not opening.
| Token | Status | Registered | Grade | Definition |
|---|---|---|---|---|
| ocr_pixels | active | 1.0 | A | Text recognized from the Asset's own pixels.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| caption_auto | active | 1.0 | A- | A caption or description generated by a model from the Asset.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| caption_human | active | 1.0 | B | A caption or description written by a person about the Asset.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| alt_text | active | 1.0 | B | The alternative text published with the Asset by the page or platform that carried it.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| title | active | 1.0 | B | The title published with the Asset.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| description | active | 1.0 | B | The description published with the Asset.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| surrounding_text | active | 1.0 | C | Text adjacent to the Asset in the page or document that carried it.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
| page_context | active | 1.0 | C | Text describing the page or document that carried the Asset rather than the Asset itself.VER 1.0 §8; VER 1.0.1 errata annex E19 (grade) |
segment_family
Seeded, not opened. Draft §2.4 keeps metadata.raw[].segment a closed six-value enum in the schema; opening is deferred to the same revision that publishes the registry. Registering a family here does not admit it into a Record.
| Token | Status | Registered | Availability key | Definition |
|---|---|---|---|---|
| exif | active | 1.0 | exif | Exif metadata, as carried in the Asset's Exif segment.VER 1.0 §7.1; VER 1.0.1 errata annex E21 |
| xmp | active | 1.0 | xmp | An XMP packet.VER 1.0 §7.1; VER 1.0.1 errata annex E21 |
| iptc-iim | active | 1.0 | iptc | IPTC IIM metadata, the legacy IIM record set.The availability key for this family is spelled iptc; the two spellings denote one family and a Consumer MUST treat them as equivalent (E21).VER 1.0 §7.1; VER 1.0.1 errata annex E21 |
| icc | active | 1.0 | icc | An embedded ICC colour profile.VER 1.0 §7.1; VER 1.0.1 errata annex E21 |
| c2pa | active | 1.0 | c2pa | A C2PA manifest store.VER 1.0 §7.1; VER 1.0.1 errata annex E21 |
| other | active | 1.0 | null | A preserved metadata segment belonging to none of the five named families.VER 1.0 has no availability key for this family, so a preserved other segment carries no availability state under 1.0.x (E21); draft §10.3 adds the key at 1.1.VER 1.0 §7.1; VER 1.0.1 errata annex E21 |
What a claim can be measured against
A tolerance is only a claim if there is a set to measure it against, and a cross-producer pixel hash is only a claim if two decoders were evaluated against the same corpus.
Reference sets
Every one of the 30 vector digests was measured from the committed images, not asserted.
Decoder reference corpus
21 Assets pinning what a conformant decoder must produce, each with its content digest, dimensions and pixel hash.
