open-standards/wai/live-conformance/c2pa-live/vectors.json
Transaction Science 0c19c60ad9 wai: live provenance, derived manifest identifiers, dynamic packaging and repository receipts
C2PA 2.4 extends live video to dynamically packaged content and recommends
deterministic signatures for streaming (§19.2.1, §13.2.1, naming ISO/IEC 23009-9);
it adds the repository receipt assertion (§18.27). Every manifest identifier is now
derived from the stream, a role and the segment's sequence number, so packagers that
share a key write identical segments and packagers that do not chain across a
failover. The initialization manifest may carry an update manifest with the parent
as ingredient and a c2pa.repository-receipt whose proof is an RFC 9942 receipt of
inclusion in an RFC 9162 log, verified against the repository's key.

Three reasons: manifest_id_mismatch, update_manifest_invalid and
repository_receipt_invalid; a failover vector, a registered vector and their
negatives; c2pa_live_verify.py reads all of it from the text. The CI step, the
registry entry and its export, SPEC §5, the CHANGELOG, the live-conformance README
and capture-binding §11 come with it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 04:49:42 -04:00

1522 lines
39 KiB
JSON

{
"extension": "live-provenance",
"time": "2026-10-20T12:00:00Z",
"anchors": [
"anchor.der"
],
"repositories": [
{
"uri": "https://repository.example/",
"key": "e16db63840b1128fc9e750611c4c3bc8bd722f335370e25ea6d9dfb75c05bc4b"
}
],
"vectors": [
{
"name": "avatar-manifests",
"kind": "track",
"init": "avatar-manifests/init.mp4",
"segments": [
{
"file": "avatar-manifests/seg-00.m4s",
"group": 0
},
{
"file": "avatar-manifests/seg-01.m4s",
"group": 1
},
{
"file": "avatar-manifests/seg-02.m4s",
"group": 2
}
],
"receipts": "avatar-manifests/receipts.json",
"expect": {
"outcome": "accept",
"streamId": "0504592f-2332-8bcd-98de-c4b9c976105b",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia",
"registration": null,
"segments": [
{
"sequenceNumber": 1,
"group": 0,
"methods": "manifest",
"manifestId": "urn:c2pa:608ac18c-2c3e-44da-9650-23624d1876f5",
"chunks": 2,
"root": "99c1ee93a49d44a71d04407c59b1f688f1ccd160c388ea2a94a4ebfe0ee162e0"
},
{
"sequenceNumber": 3,
"group": 1,
"methods": "manifest",
"manifestId": "urn:c2pa:9dc14fbd-001b-45d4-8287-f538401130a6",
"chunks": 2,
"root": "3e5165b1371e3693e542dca31f1aeba5c362bff06c7c64b39237913101faedb9"
},
{
"sequenceNumber": 5,
"group": 2,
"methods": "manifest",
"manifestId": "urn:c2pa:2103dfe4-39bd-48ec-878e-647b12b8a4a6",
"chunks": 3,
"root": "c605d0c6ba8546635e3783f9a130355667c68085e44f043ae18df8ba974ce6b3"
}
]
}
},
{
"name": "camera-manifests",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "accept",
"streamId": "b5c52adf-4778-8fba-870f-a8f43ec11a21",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
"registration": null,
"segments": [
{
"sequenceNumber": 1,
"group": 0,
"methods": "manifest",
"manifestId": "urn:c2pa:5a3c760d-2dd2-45a1-840b-62c5137c20f7",
"chunks": 4,
"root": "d7c41cd63b26b976cc556f9f5a5ecb1151421210aa5979e124958e951e7ed309"
},
{
"sequenceNumber": 5,
"group": 1,
"methods": "manifest",
"manifestId": "urn:c2pa:15daceef-ff56-4d9f-9bbc-41516a0ed1cb",
"chunks": 2,
"root": "73ff462e0454b7c6d37af29e979c3a7dcad4d128e15c15035f601c3819d12c71"
},
{
"sequenceNumber": 7,
"group": 2,
"methods": "manifest",
"manifestId": "urn:c2pa:ccbccd38-a042-4ee4-92cd-3f8b1a50bd63",
"chunks": 4,
"root": "7db0b6d4458309c8be8df8080ce08452bdccc79aed00d85cec614ce5adc83009"
},
{
"sequenceNumber": 11,
"group": 3,
"methods": "manifest",
"manifestId": "urn:c2pa:f925eca9-ed21-49ba-8624-276c59d2f1dd",
"chunks": 2,
"root": "293931ddebcd8e3cca482475e3b1a93cc2f225427538a3e5da476bf5eae3b4d0"
}
]
}
},
{
"name": "camera-vsi",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "accept",
"streamId": "b5c52adf-4778-8fba-870f-a8f43ec11a21",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
"registration": null,
"segments": [
{
"sequenceNumber": 1,
"group": 10,
"methods": "vsi",
"manifestId": "urn:c2pa:d01c313c-0490-47b6-a7a4-19dc9cea455a",
"chunks": 4,
"root": "d7c41cd63b26b976cc556f9f5a5ecb1151421210aa5979e124958e951e7ed309"
},
{
"sequenceNumber": 5,
"group": 11,
"methods": "vsi",
"manifestId": "urn:c2pa:d01c313c-0490-47b6-a7a4-19dc9cea455a",
"chunks": 2,
"root": "73ff462e0454b7c6d37af29e979c3a7dcad4d128e15c15035f601c3819d12c71"
},
{
"sequenceNumber": 7,
"group": 12,
"methods": "vsi",
"manifestId": "urn:c2pa:7846a908-7da5-41c5-86d1-378b265103c0",
"chunks": 4,
"root": "7db0b6d4458309c8be8df8080ce08452bdccc79aed00d85cec614ce5adc83009"
},
{
"sequenceNumber": 11,
"group": 13,
"methods": "vsi",
"manifestId": "urn:c2pa:7846a908-7da5-41c5-86d1-378b265103c0",
"chunks": 2,
"root": "293931ddebcd8e3cca482475e3b1a93cc2f225427538a3e5da476bf5eae3b4d0"
},
{
"sequenceNumber": 13,
"group": 14,
"methods": "vsi",
"manifestId": "urn:c2pa:7846a908-7da5-41c5-86d1-378b265103c0",
"chunks": 3,
"root": "54a6deeba8e5e8e4a3b6e5d53f6156408652c1f9fbdb822ab22fe0b8ecb959c0"
}
]
}
},
{
"name": "composite-manifests",
"kind": "track",
"init": "composite-manifests/init.mp4",
"segments": [
{
"file": "composite-manifests/seg-00.m4s",
"group": 0
},
{
"file": "composite-manifests/seg-01.m4s",
"group": 1
},
{
"file": "composite-manifests/seg-02.m4s",
"group": 2
}
],
"receipts": "composite-manifests/receipts.json",
"expect": {
"outcome": "accept",
"streamId": "fc7ed304-c2e5-8da2-9381-58538a50569c",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic",
"registration": null,
"segments": [
{
"sequenceNumber": 1,
"group": 0,
"methods": "manifest",
"manifestId": "urn:c2pa:1877cd3e-e550-4175-8bcd-a7e2ac153229",
"chunks": 3,
"root": "e1a83ba6bfd481ac0f831d04edbccf3d2ff94b2e447ba3add4ab9b481220d8e1"
},
{
"sequenceNumber": 4,
"group": 1,
"methods": "manifest",
"manifestId": "urn:c2pa:ba49aaea-a4ac-42a8-b123-a72d3047e25b",
"chunks": 4,
"root": "db7bfcbeb3cc6749cac67629bcf4b80ea89576de4ab35e26c01cf9cec5e89a2b"
},
{
"sequenceNumber": 8,
"group": 2,
"methods": "manifest",
"manifestId": "urn:c2pa:4b9c1e70-94ae-4ed9-b5c5-7c100bdd6885",
"chunks": 4,
"root": "197d569450354354a4c0334579bbcf74930804b3231ac5eeb14c396dfbbd8e47"
}
]
}
},
{
"name": "take-both",
"kind": "take",
"init": "take-both/init.mp4",
"segments": [
{
"file": "take-both/seg-00.m4s"
},
{
"file": "take-both/seg-01.m4s"
},
{
"file": "take-both/seg-02.m4s"
}
],
"receipts": null,
"expect": {
"outcome": "accept",
"streamId": "b9b2466e-c02d-89ff-8064-b0b1946f3970",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
"registration": null,
"segments": [
{
"sequenceNumber": 1,
"chunk": 0,
"methods": "manifest+vsi",
"manifestId": "urn:c2pa:46640c73-2c1c-44b2-ad04-030f5fdcf53c",
"chunks": 4,
"chunkHash": "18a4fd303e96075c2b1b708543e348e4a1e81198f9c1dc81392eefbecd6fdbf6"
},
{
"sequenceNumber": 5,
"chunk": 1,
"methods": "manifest+vsi",
"manifestId": "urn:c2pa:8a1b8075-9922-410c-8992-d5e8c5578f5f",
"chunks": 2,
"chunkHash": "0999bbd7989d6596ce764046fec03476a6b8ea09d4fc8af71ee5e3d4f00d669f"
},
{
"sequenceNumber": 7,
"chunk": 2,
"methods": "manifest+vsi",
"manifestId": "urn:c2pa:83351869-5224-40bb-8b66-a8bbdf9b6512",
"chunks": 4,
"chunkHash": "a2f02f3d6d8ee0713d21f93d00fe170597d2d01e56d48bfd91929b14256582e0"
}
]
}
},
{
"name": "cert-wrong-eku",
"kind": "track",
"init": "cert-wrong-eku/init.mp4",
"segments": [
{
"file": "cert-wrong-eku/seg-00.m4s",
"group": 0
},
{
"file": "cert-wrong-eku/seg-01.m4s",
"group": 1
},
{
"file": "cert-wrong-eku/seg-02.m4s",
"group": 2
},
{
"file": "cert-wrong-eku/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "credential_invalid",
"at": "init",
"c2pa": "signingCredential.invalid",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "cert-untrusted",
"kind": "track",
"init": "cert-untrusted/init.mp4",
"segments": [
{
"file": "cert-untrusted/seg-00.m4s",
"group": 0
},
{
"file": "cert-untrusted/seg-01.m4s",
"group": 1
},
{
"file": "cert-untrusted/seg-02.m4s",
"group": 2
},
{
"file": "cert-untrusted/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "credential_untrusted",
"at": "init",
"c2pa": "signingCredential.untrusted",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "cert-expired",
"kind": "track",
"init": "cert-expired/init.mp4",
"segments": [
{
"file": "cert-expired/seg-00.m4s",
"group": 0
},
{
"file": "cert-expired/seg-01.m4s",
"group": 1
},
{
"file": "cert-expired/seg-02.m4s",
"group": 2
},
{
"file": "cert-expired/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "credential_expired",
"at": "init",
"c2pa": "claimSignature.outsideValidity",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "stream-assertion-room",
"kind": "track",
"init": "stream-assertion-room/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "stream_assertion_invalid",
"at": "init",
"c2pa": null,
"livevideo": null
}
},
{
"name": "ai-disclosure-missing",
"kind": "track",
"init": "ai-disclosure-missing/init.mp4",
"segments": [
{
"file": "ai-disclosure-missing/seg-00.m4s",
"group": 0
},
{
"file": "ai-disclosure-missing/seg-01.m4s",
"group": 1
},
{
"file": "ai-disclosure-missing/seg-02.m4s",
"group": 2
}
],
"receipts": "avatar-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "ai_disclosure_missing",
"at": "init",
"c2pa": null,
"livevideo": null
}
},
{
"name": "composite-source-type",
"kind": "track",
"init": "composite-source-type/init.mp4",
"segments": [
{
"file": "composite-source-type/seg-00.m4s",
"group": 0
},
{
"file": "composite-source-type/seg-01.m4s",
"group": 1
},
{
"file": "composite-source-type/seg-02.m4s",
"group": 2
}
],
"receipts": "composite-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "source_type_mismatch",
"at": "init",
"c2pa": null,
"livevideo": null
}
},
{
"name": "sequence-mismatch",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "sequence-mismatch/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "sequence_mismatch",
"at": "segment 2",
"c2pa": null,
"livevideo": null
}
},
{
"name": "stream-id-mismatch",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "stream-id-mismatch/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "stream_id_mismatch",
"at": "segment 2",
"c2pa": null,
"livevideo": "livevideo.assertion.invalid"
}
},
{
"name": "continuity-method",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "continuity-method/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "continuity_invalid",
"at": "segment 1",
"c2pa": null,
"livevideo": "livevideo.continuityMethod.invalid"
}
},
{
"name": "wrong-receipt",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "wrong-receipt/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "receipt_mismatch",
"at": "group 1",
"c2pa": null,
"livevideo": null
}
},
{
"name": "vsi-manifest-id",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "vsi-manifest-id/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "segment_info_invalid",
"at": "segment 3",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "session-key-unknown",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "session-key-unknown/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "session_key_unknown",
"at": "segment 1",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "session-key-superseded",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "session-key-superseded/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "session-key-superseded/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "session_key_out_of_range",
"at": "segment 3",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "session-key-binding",
"kind": "track",
"init": "session-key-binding/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "session-key-binding/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "session_key_invalid",
"at": "init",
"c2pa": null,
"livevideo": "livevideo.sessionkey.invalid"
}
},
{
"name": "receipt-signer",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "receipt-signer/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "receipt_signer_mismatch",
"at": "group 11",
"c2pa": null,
"livevideo": null
}
},
{
"name": "receipt-other-objects",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "receipt-other-objects/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "receipt_mismatch",
"at": "group 11",
"c2pa": null,
"livevideo": null
}
},
{
"name": "manifest-id-not-derived",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "manifest-id-not-derived/seg-01.m4s",
"group": 1
},
{
"file": "manifest-id-not-derived/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "manifest_id_mismatch",
"at": "segment 1",
"c2pa": null,
"livevideo": null
}
},
{
"name": "camera-failover",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-failover/seg-00.m4s",
"group": 0
},
{
"file": "camera-failover/seg-01.m4s",
"group": 1
},
{
"file": "camera-failover/seg-02.m4s",
"group": 2
},
{
"file": "camera-failover/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-failover/receipts.json",
"expect": {
"outcome": "accept",
"streamId": "b5c52adf-4778-8fba-870f-a8f43ec11a21",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
"registration": null,
"segments": [
{
"sequenceNumber": 1,
"group": 0,
"methods": "manifest",
"manifestId": "urn:c2pa:5a3c760d-2dd2-45a1-840b-62c5137c20f7",
"chunks": 4,
"root": "d7c41cd63b26b976cc556f9f5a5ecb1151421210aa5979e124958e951e7ed309"
},
{
"sequenceNumber": 5,
"group": 1,
"methods": "manifest",
"manifestId": "urn:c2pa:15daceef-ff56-4d9f-9bbc-41516a0ed1cb",
"chunks": 2,
"root": "73ff462e0454b7c6d37af29e979c3a7dcad4d128e15c15035f601c3819d12c71"
},
{
"sequenceNumber": 7,
"group": 2,
"methods": "manifest",
"manifestId": "urn:c2pa:ccbccd38-a042-4ee4-92cd-3f8b1a50bd63",
"chunks": 4,
"root": "7db0b6d4458309c8be8df8080ce08452bdccc79aed00d85cec614ce5adc83009"
},
{
"sequenceNumber": 11,
"group": 3,
"methods": "manifest",
"manifestId": "urn:c2pa:f925eca9-ed21-49ba-8624-276c59d2f1dd",
"chunks": 2,
"root": "293931ddebcd8e3cca482475e3b1a93cc2f225427538a3e5da476bf5eae3b4d0"
}
]
}
},
{
"name": "camera-registered",
"kind": "track",
"init": "camera-registered/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "accept",
"streamId": "b5c52adf-4778-8fba-870f-a8f43ec11a21",
"sourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
"registration": {
"repository": "https://repository.example/",
"treeSize": 7,
"leafIndex": 4
},
"segments": [
{
"sequenceNumber": 1,
"group": 0,
"methods": "manifest",
"manifestId": "urn:c2pa:5a3c760d-2dd2-45a1-840b-62c5137c20f7",
"chunks": 4,
"root": "d7c41cd63b26b976cc556f9f5a5ecb1151421210aa5979e124958e951e7ed309"
},
{
"sequenceNumber": 5,
"group": 1,
"methods": "manifest",
"manifestId": "urn:c2pa:15daceef-ff56-4d9f-9bbc-41516a0ed1cb",
"chunks": 2,
"root": "73ff462e0454b7c6d37af29e979c3a7dcad4d128e15c15035f601c3819d12c71"
},
{
"sequenceNumber": 7,
"group": 2,
"methods": "manifest",
"manifestId": "urn:c2pa:ccbccd38-a042-4ee4-92cd-3f8b1a50bd63",
"chunks": 4,
"root": "7db0b6d4458309c8be8df8080ce08452bdccc79aed00d85cec614ce5adc83009"
},
{
"sequenceNumber": 11,
"group": 3,
"methods": "manifest",
"manifestId": "urn:c2pa:f925eca9-ed21-49ba-8624-276c59d2f1dd",
"chunks": 2,
"root": "293931ddebcd8e3cca482475e3b1a93cc2f225427538a3e5da476bf5eae3b4d0"
}
]
}
},
{
"name": "repository-receipt-forged",
"kind": "track",
"init": "repository-receipt-forged/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "repository_receipt_invalid",
"at": "init",
"c2pa": null,
"livevideo": null
}
},
{
"name": "update-ingredient",
"kind": "track",
"init": "update-ingredient/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "update_manifest_invalid",
"at": "init",
"c2pa": "manifest.update.invalid",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "bytes-changed-manifests",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "bytes-changed-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "hard_binding_mismatch",
"at": "segment 2",
"c2pa": "assertion.bmffHash.mismatch",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "bytes-changed-vsi",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "bytes-changed-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "segment_hash_mismatch",
"at": "segment 1",
"c2pa": "assertion.bmffHash.mismatch",
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "segment-missing-manifests",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "continuity_broken",
"at": "segment 2",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "segment-missing-vsi",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "segment_missing",
"at": "group 11",
"c2pa": null,
"livevideo": null
}
},
{
"name": "segment-reordered",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "sequence_not_increasing",
"at": "segment 2",
"c2pa": null,
"livevideo": "livevideo.assertion.invalid"
}
},
{
"name": "segment-truncated",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "segment-truncated/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "segment_malformed",
"at": "segment 2",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "init-mdat",
"kind": "track",
"init": "init-mdat/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "init_invalid",
"at": "init",
"c2pa": null,
"livevideo": "livevideo.init.invalid"
}
},
{
"name": "provenance-missing",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "provenance-missing/seg-01.m4s",
"group": 11
},
{
"file": "camera-vsi/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "provenance_missing",
"at": "segment 1",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "manifest-malformed",
"kind": "track",
"init": "manifest-malformed/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "manifest_malformed",
"at": "init",
"c2pa": "claim.malformed",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "claim-signature",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "claim-signature/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "claim_signature_mismatch",
"at": "segment 1",
"c2pa": "claimSignature.mismatch",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "assertion-altered",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "assertion-altered/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "camera-manifests/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "assertion_hash_mismatch",
"at": "segment 1",
"c2pa": "assertion.hashedURI.mismatch",
"livevideo": "livevideo.manifest.invalid"
}
},
{
"name": "vsi-signature",
"kind": "track",
"init": "camera-vsi/init.mp4",
"segments": [
{
"file": "camera-vsi/seg-00.m4s",
"group": 10
},
{
"file": "camera-vsi/seg-01.m4s",
"group": 11
},
{
"file": "vsi-signature/seg-02.m4s",
"group": 12
},
{
"file": "camera-vsi/seg-03.m4s",
"group": 13
},
{
"file": "camera-vsi/seg-04.m4s",
"group": 14
}
],
"receipts": "camera-vsi/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "segment_info_signature_failed",
"at": "segment 2",
"c2pa": null,
"livevideo": "livevideo.segment.invalid"
}
},
{
"name": "receipt-missing",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "receipt-missing/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "receipt_missing",
"at": "group 1",
"c2pa": null,
"livevideo": null
}
},
{
"name": "receipt-forged",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "receipt-forged/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "receipt_invalid",
"at": "group 1",
"c2pa": null,
"livevideo": null
}
},
{
"name": "object-receipt",
"kind": "track",
"init": "camera-manifests/init.mp4",
"segments": [
{
"file": "camera-manifests/seg-00.m4s",
"group": 0
},
{
"file": "camera-manifests/seg-01.m4s",
"group": 1
},
{
"file": "camera-manifests/seg-02.m4s",
"group": 2
},
{
"file": "camera-manifests/seg-03.m4s",
"group": 3
}
],
"receipts": "object-receipt/receipts.json",
"expect": {
"outcome": "refuse",
"reason": "object_receipt_invalid",
"at": "group 1",
"c2pa": null,
"livevideo": null
}
}
]
}