CLAIMBOUND / SOURCE-PUBLICATION EVIDENCE
Generative AI content
Every card identifies what it proves, what it does not prove, its exact quote, locator, source hash, and local rerun command.
1. C2PA Content Credentials Technical Specification 2.0 · PDF page 9
Narrow public claim
Example C2PA Manifest of a Photograph A Manifest Consumer, such as a C2PA Validator, could help users to establish the trustworthiness of the asset by first validating the digital signature and its associated credential.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 9- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Example C2PA Manifest of a Photograph A Manifest Consumer, such as a C2PA Validator, could help users to establish the trustworthiness of the asset by first validating the digital signature and its associated credential.2. C2PA Content Credentials Technical Specification 2.0 · PDF page 13
Narrow public claim
C2PA Manifest Store A collection of C2PA Manifests that can either be embedded into an asset or be external to its asset.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 13- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
C2PA Manifest Store A collection of C2PA Manifests that can either be embedded into an asset or be external to its asset.3. C2PA Content Credentials Technical Specification 2.0 · PDF page 13
Narrow public claim
If a C2PA Manifest is a Content Credential, then multiple C2PA Manifest or the broader, universal concept is Content Credentials.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 13- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
If a C2PA Manifest is a Content Credential, then multiple C2PA Manifest or the broader, universal concept is Content Credentials.4. C2PA Content Credentials Technical Specification 2.0 · PDF page 14
Narrow public claim
C2PA Trust List A C2PA-managed list of X.509 certificate trust anchors that issue certificates to hardware & software signers that are trusted to sign claims.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 14- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
C2PA Trust List A C2PA-managed list of X.509 certificate trust anchors that issue certificates to hardware & software signers that are trusted to sign claims.5. C2PA Content Credentials Technical Specification 2.0 · PDF page 15
Narrow public claim
Manifest Repository A repository into which C2PA Manifests and C2PA Manifest Stores can be placed, and which can be searched using a content binding.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 15- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Manifest Repository A repository into which C2PA Manifests and C2PA Manifest Stores can be placed, and which can be searched using a content binding.6. C2PA Content Credentials Technical Specification 2.0 · PDF page 24
Narrow public claim
The label would then consist of an incremented version number, for example moving from c2pa.hash.bmff (deprecated) to c2pa.hash.bmff.v2.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 24- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The label would then consist of an incremented version number, for example moving from c2pa.hash.bmff (deprecated) to c2pa.hash.bmff.v2.7. C2PA Content Credentials Technical Specification 2.0 · PDF page 24
Narrow public claim
For example, if a manifest contains a single assertion of type c2pa.metadata, then the assertion label will be c2pa.metadata.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 24- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
For example, if a manifest contains a single assertion of type c2pa.metadata, then the assertion label will be c2pa.metadata.8. C2PA Content Credentials Technical Specification 2.0 · PDF page 25
Narrow public claim
Unlike embedded assertion data, cloud data is not retrieved nor validated as part of manifest validation, and are only retrieved and validated when specifically needed by an application according to a different set of validation rules as described in Section 15.7, “Validate the Assertions”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 25- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Unlike embedded assertion data, cloud data is not retrieved nor validated as part of manifest validation, and are only retrieved and validated when specifically needed by an application according to a different set of validation rules as described in Section 15.7, “Validate the Assertions”.9. C2PA Content Credentials Technical Specification 2.0 · PDF page 25
Narrow public claim
It is also strongly recommended that the claim generator should add a c2pa.redaction action assertion with a redacted field as described in Section 18.12.2, “Parameters”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 25- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
It is also strongly recommended that the claim generator should add a c2pa.redaction action assertion with a redacted field as described in Section 18.12.2, “Parameters”.10. C2PA Content Credentials Technical Specification 2.0 · PDF page 27
Narrow public claim
Using XMP values When an asset contains embedded XMP which include values for xmpMM:DocumentID and/or xmpMM:InstanceID as defined in XMP Specification Part 2, 2.2, those values shall be included in a metadata assertion and should be used as identifiers for the asset.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 27- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t01_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Using XMP values When an asset contains embedded XMP which include values for xmpMM:DocumentID and/or xmpMM:InstanceID as defined in XMP Specification Part 2, 2.2, those values shall be included in a metadata assertion and should be used as identifiers for the asset.11. C2PA Content Credentials Technical Specification 2.0 · PDF page 27
Narrow public claim
URI References All references to information in the manifest, whether stored internally to the asset (i.e., embedded) or stored externally to the asset (e.g., in the cloud), shall be referenced via JUMBF URI references as defined in ISO 19566-5, C.2.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 27- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
URI References All references to information in the manifest, whether stored internally to the asset (i.e., embedded) or stored externally to the asset (e.g., in the cloud), shall be referenced via JUMBF URI references as defined in ISO 19566-5, C.2.12. C2PA Content Credentials Technical Specification 2.0 · PDF page 28
Narrow public claim
We use a socket/plug here to allow hashed-uri-map to be used in individual files without having the map defined in the same file $hashed-uri-map /= { "url": url-regexp-type, ; JUMBF URI reference ? "alg": tstr .size (1..max-tstr-length), ; A string identifying the cryptographic hash algorithm used to compute all hashes in this claim, taken from the C2PA hash algorithm identifier list.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 28- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
We use a socket/plug here to allow hashed-uri-map to be used in individual files without having the map defined in the same file $hashed-uri-map /= { "url": url-regexp-type, ; JUMBF URI reference ? "alg": tstr .size (1..max-tstr-length), ; A string identifying the cryptographic hash algorithm used to compute all hashes in this claim, taken from the C2PA hash algorithm identifier list.13. C2PA Content Credentials Technical Specification 2.0 · PDF page 28
Narrow public claim
These self#jumbf URIs may be relative to the entire C2PA Manifest Store, in which case they shall start with a / (U+002F, Slash), or relative to the current C2PA Manifest.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 28- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
These self#jumbf URIs may be relative to the entire C2PA Manifest Store, in which case they shall start with a / (U+002F, Slash), or relative to the current C2PA Manifest.14. C2PA Content Credentials Technical Specification 2.0 · PDF page 29
Narrow public claim
z]{2,6}\\b[-a-zA-Z0-9@:%_\\+.~#?&//=]*" In keeping with common practice, it is recommended that the https scheme be used to retrieve assertion data to protect the privacy of the data in transit, but http is also permitted because the NOTE data’s integrity is protected by the hash field and this privacy may not be required in all circumstances.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 29- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
z]{2,6}\\b[-a-zA-Z0-9@:%_\\+.~#?&//=]*" In keeping with common practice, it is recommended that the https scheme be used to retrieve assertion data to protect the privacy of the data in transit, but http is also permitted because the NOTE data’s integrity is protected by the hash field and this privacy may not be required in all circumstances.15. C2PA Content Credentials Technical Specification 2.0 · PDF page 29
Narrow public claim
As described in the latest version of JUMBF (ISO 19566-5:2023), a new Private field can be present as part of any JUMBF Description box.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 29- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
As described in the latest version of JUMBF (ISO 19566-5:2023), a new Private field can be present as part of any JUMBF Description box.16. C2PA Content Credentials Technical Specification 2.0 · PDF page 31
Narrow public claim
Hashing using byte ranges The simplest type of hard binding that can be used to detect tampering is a cryptographic hashing algorithm, as described in Section 11.3.4.2, “Hashing”, over some or all of the bytes of an asset.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 31- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Hashing using byte ranges The simplest type of hard binding that can be used to detect tampering is a cryptographic hashing algorithm, as described in Section 11.3.4.2, “Hashing”, over some or all of the bytes of an asset.17. C2PA Content Credentials Technical Specification 2.0 · PDF page 32
Narrow public claim
(fMP4) files, the assertion itself must be combined with chunk-specific hashing information which is located as specified in Section 11.3.3, “Embedding manifests into BMFF-based assets”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 32- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
(fMP4) files, the assertion itself must be combined with chunk-specific hashing information which is located as specified in Section 11.3.3, “Embedding manifests into BMFF-based assets”.18. C2PA Content Credentials Technical Specification 2.0 · PDF page 33
Narrow public claim
Asset Metadata Bindings Signers of the C2PA Manifest are not required to sign the asset metadata not contained within the C2PA Manifest.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 33- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Asset Metadata Bindings Signers of the C2PA Manifest are not required to sign the asset metadata not contained within the C2PA Manifest.19. C2PA Content Credentials Technical Specification 2.0 · PDF page 33
Narrow public claim
Any asset metadata values that are supported by the common metadata assertion, as described in Appendix A, Implementation Details for c2pa.metadata, and can be asserted by the signer should be copied into such an assertion and included in the C2PA Manifest.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 33- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Any asset metadata values that are supported by the common metadata assertion, as described in Appendix A, Implementation Details for c2pa.metadata, and can be asserted by the signer should be copied into such an assertion and included in the C2PA Manifest.20. C2PA Content Credentials Technical Specification 2.0 · PDF page 35
Narrow public claim
A claim has all the same properties as an assertion including being assigned the label (c2pa.claim.v2) and supporting the use of assertion metadata.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 35- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t02_primary_claims.json --source-file <local-raw-pdf>Exact source quote
A claim has all the same properties as an assertion including being assigned the label (c2pa.claim.v2) and supporting the use of assertion metadata.21. C2PA Content Credentials Technical Specification 2.0 · PDF page 37
Narrow public claim
It may also contain a version field and/or an icon field, though any other field is permitted, using the standard entity-specific labels' format described in Section 6.2, “Labels”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 37- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
It may also contain a version field and/or an icon field, though any other field is permitted, using the standard entity-specific labels' format described in Section 6.2, “Labels”.22. C2PA Content Credentials Technical Specification 2.0 · PDF page 39
Narrow public claim
The serialized COSE_Sign1_Tagged structure resulting from the digital signature procedure is written into the C2PA Claim Signature box.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 39- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The serialized COSE_Sign1_Tagged structure resulting from the digital signature procedure is written into the C2PA Claim Signature box.23. C2PA Content Credentials Technical Specification 2.0 · PDF page 39
Narrow public claim
Time-stamps If possible, the signer should use a RFC3161-compliant Time Stamp Authority (TSA) (RFC 3161 section 1) to obtain a trusted time-stamp proving that the signature itself actually existed at a certain date and time and incorporate that into the COSE_Sign1_Tagged structure as a countersignature.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 39- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Time-stamps If possible, the signer should use a RFC3161-compliant Time Stamp Authority (TSA) (RFC 3161 section 1) to obtain a trusted time-stamp proving that the signature itself actually existed at a certain date and time and incorporate that into the COSE_Sign1_Tagged structure as a countersignature.24. C2PA Content Credentials Technical Specification 2.0 · PDF page 40
Narrow public claim
The above definition is a CBOR adaptation of a subset of the schema from JAdES section 5.3.4 and its NOTE JSON schema, except with the modification that the content of val is a byte string containing the content of the TimeStampResp, and not a Base64-encoded version of the same.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 40- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The above definition is a CBOR adaptation of a subset of the schema from JAdES section 5.3.4 and its NOTE JSON schema, except with the modification that the content of val is a byte string containing the content of the TimeStampResp, and not a Base64-encoded version of the same.25. C2PA Content Credentials Technical Specification 2.0 · PDF page 40
Narrow public claim
If credential revocation information is attached in this manner, a trusted time-stamp must also be obtained after signing, as described in Section 10.3.2.5, “Time-stamps”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 40- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
If credential revocation information is attached in this manner, a trusted time-stamp must also be obtained after signing, as described in Section 10.3.2.5, “Time-stamps”.26. C2PA Content Credentials Technical Specification 2.0 · PDF page 42
Narrow public claim
For example, in JPEG-1 files, the entire C2PA Manifest Store must appear in the file before the image data, and so its size will affect the file offsets of content being authenticated.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 42- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
For example, in JPEG-1 files, the entire C2PA Manifest Store must appear in the file before the image data, and so its size will affect the file offsets of content being authenticated.27. C2PA Content Credentials Technical Specification 2.0 · PDF page 43
Narrow public claim
If a manifest is embedded in the center of a JPEG-1 file in an APP11 segment, then the claim creator may exclude the APP11 segment(s) from the hash calculation.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 43- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
If a manifest is embedded in the center of a JPEG-1 file in an APP11 segment, then the claim creator may exclude the APP11 segment(s) from the hash calculation.28. C2PA Content Credentials Technical Specification 2.0 · PDF page 43
Narrow public claim
In the case of JPEG-1 files, this can be achieved either by eliminating padding or by ensuring that the JFIF APP11/C2PA segments cannot be shortened of changed to a different segment type.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 43- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
In the case of JPEG-1 files, this can be achieved either by eliminating padding or by ensuring that the JFIF APP11/C2PA segments cannot be shortened of changed to a different segment type.29. C2PA Content Credentials Technical Specification 2.0 · PDF page 44
Narrow public claim
Complete the C2PA Manifest At this point all of the boxes that comprise the entire C2PA Manifest for the asset are completed and can be (if not already) constructed into its final form.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 44- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Complete the C2PA Manifest At this point all of the boxes that comprise the entire C2PA Manifest for the asset are completed and can be (if not already) constructed into its final form.30. C2PA Content Credentials Technical Specification 2.0 · PDF page 44
Narrow public claim
The asset’s C2PA Manifest, along with the manifests of any ingredients, are combined together to form the complete C2PA Manifest Store.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 44- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t03_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The asset’s C2PA Manifest, along with the manifests of any ingredients, are combined together to form the complete C2PA Manifest Store.31. C2PA Content Credentials Technical Specification 2.0 · PDF page 45
Narrow public claim
Processing Rules A C2PA Manifest Consumer shall never process an assertion, assertion store, claim, claim signature or C2PA Manifest that is not contained inside of a C2PA Manifest Store.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 45- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Processing Rules A C2PA Manifest Consumer shall never process an assertion, assertion store, claim, claim signature or C2PA Manifest that is not contained inside of a C2PA Manifest Store.32. C2PA Content Credentials Technical Specification 2.0 · PDF page 46
Narrow public claim
Based on a similar box in JPEG-XL (ISO 18181-2), the brob box is a content box whose contents are the Brotli-compressed bytes of either a standard manifest or update manifest, as described in the compressed manifests clause.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 46- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Based on a similar box in JPEG-XL (ISO 18181-2), the brob box is a content box whose contents are the Brotli-compressed bytes of either a standard manifest or update manifest, as described in the compressed manifests clause.33. C2PA Content Credentials Technical Specification 2.0 · PDF page 46
Narrow public claim
Example of a compressed manifest Hashing a compressed box is done in the same way as any other box, as described in Section 8.3.1.3, “Hashing JUMBF Boxes”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 46- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Example of a compressed manifest Hashing a compressed box is done in the same way as any other box, as described in Section 8.3.1.3, “Hashing JUMBF Boxes”.34. C2PA Content Credentials Technical Specification 2.0 · PDF page 47
Narrow public claim
This implies that given a hashed_uri reference from an ingredient assertion to a C2PA Manifest via the c2pa_manifest field, the hash is calculated using the same process as any other JUMBF NOTE superbox: over the JUMBF Description Box and the brob box with its compressed payload, but excluding the superbox’s header.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 47- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
This implies that given a hashed_uri reference from an ingredient assertion to a C2PA Manifest via the c2pa_manifest field, the hash is calculated using the same process as any other JUMBF NOTE superbox: over the JUMBF Description Box and the brob box with its compressed payload, but excluding the superbox’s header.35. C2PA Content Credentials Technical Specification 2.0 · PDF page 47
Narrow public claim
Labels As described in the JUMBF specification (ISO 19566-5, A.3), a label shall be stored as ISO/IEC 10646 characters in the UTF-8 encoding.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 47- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Labels As described in the JUMBF specification (ISO 19566-5, A.3), a label shall be stored as ISO/IEC 10646 characters in the UTF-8 encoding.36. C2PA Content Credentials Technical Specification 2.0 · PDF page 48
Narrow public claim
C2PA Manifest Store The C2PA Manifest Store is a JUMBF superbox composed of a series of other JUMBF boxes and superboxes, each identified by their own UUID and label in their JUMBF Description box.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 48- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
C2PA Manifest Store The C2PA Manifest Store is a JUMBF superbox composed of a series of other JUMBF boxes and superboxes, each identified by their own UUID and label in their JUMBF Description box.37. C2PA Content Credentials Technical Specification 2.0 · PDF page 48
Narrow public claim
The C2PA Manifest Store shall have a label of c2pa, a UUID of 0x63327061-0011-0010-8000-00AA00389B71 (c2pa) and shall contain one or more C2PA manifest superboxes, also known as C2PA Manifests.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 48- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The C2PA Manifest Store shall have a label of c2pa, a UUID of 0x63327061-0011-0010-8000-00AA00389B71 (c2pa) and shall contain one or more C2PA manifest superboxes, also known as C2PA Manifests.38. C2PA Content Credentials Technical Specification 2.0 · PDF page 49
Narrow public claim
It shall contain one or more JUMBF superboxes (called C2PA Assertion boxes) whose JUMBF type defines the BMFF type of the sub-boxes that contain the assertion data (see ISO 19566-5, Annex B, Table B.1 and ISO 19566-5/AMD-1, Annex B).
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 49- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
It shall contain one or more JUMBF superboxes (called C2PA Assertion boxes) whose JUMBF type defines the BMFF type of the sub-boxes that contain the assertion data (see ISO 19566-5, Annex B, Table B.1 and ISO 19566-5/AMD-1, Annex B).39. C2PA Content Credentials Technical Specification 2.0 · PDF page 49
Narrow public claim
The JUMBF Content Type (ISO 19566-5, Annex B) box(es) contained in each assertion superbox should be CBOR Content Type (cbor), JSON Content Type (json), Embedded File Content Type (bfdb & bidb) or UUID Content Type (uuid) though any Content Type defined in JUMBF and its amendments is permitted.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 49- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The JUMBF Content Type (ISO 19566-5, Annex B) box(es) contained in each assertion superbox should be CBOR Content Type (cbor), JSON Content Type (json), Embedded File Content Type (bfdb & bidb) or UUID Content Type (uuid) though any Content Type defined in JUMBF and its amendments is permitted.40. C2PA Content Credentials Technical Specification 2.0 · PDF page 51
Narrow public claim
Standard Manifests A standard C2PA Manifest (UUID: 0x63326D61-0011-0010-8000-00AA00389B71 (c2ma)) shall contain exactly one hard binding to content assertion - either a c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, or c2pa.hash.bmff.v2 based on the type of asset and version for which the manifest is destined.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 51- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t04_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Standard Manifests A standard C2PA Manifest (UUID: 0x63326D61-0011-0010-8000-00AA00389B71 (c2ma)) shall contain exactly one hard binding to content assertion - either a c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, or c2pa.hash.bmff.v2 based on the type of asset and version for which the manifest is destined.41. C2PA Content Credentials Technical Specification 2.0 · PDF page 52
Narrow public claim
An Update Manifest shall not contain assertions of types c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, or c2pa.hash.bmff.v2 because the content has not changed and therefore the bindings need not be updated.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 52- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
An Update Manifest shall not contain assertions of types c2pa.hash.data, c2pa.hash.boxes, c2pa.hash.collection.data, or c2pa.hash.bmff.v2 because the content has not changed and therefore the bindings need not be updated.42. C2PA Content Credentials Technical Specification 2.0 · PDF page 52
Narrow public claim
In the case of a file offset hash (c2pa.hash.data), the C2PA Manifest Store has to continue to start at the same file offset after updating - only its length can change.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 52- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
In the case of a file offset hash (c2pa.hash.data), the C2PA Manifest Store has to continue to start at the same file offset after updating - only its length can change.43. C2PA Content Credentials Technical Specification 2.0 · PDF page 53
Narrow public claim
NOTE C2PA is asking for feedback from the audio community if embedding the C2PA Manifest Store in an ID3v2 container will work with FLAC or if we will need to use the native FLAC container.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 53- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
NOTE C2PA is asking for feedback from the audio community if embedding the C2PA Manifest Store in an ID3v2 container will work with FLAC or if we will need to use the native FLAC container.44. C2PA Content Credentials Technical Specification 2.0 · PDF page 54
Narrow public claim
Since a single marker segment in JPEG 1 cannot be larger than 64K bytes, it is likely that multiple APP11 segments will be required, and they shall be constructed as per the JPEG 1 standard and ISO 19566-5, D.2.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 54- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Since a single marker segment in JPEG 1 cannot be larger than 64K bytes, it is likely that multiple APP11 segments will be required, and they shall be constructed as per the JPEG 1 standard and ISO 19566-5, D.2.45. C2PA Content Credentials Technical Specification 2.0 · PDF page 54
Narrow public claim
Embedding manifests into PNG The C2PA Manifest Store shall be embedded using an ancillary, private, not safe to copy, chunk type of 'caBX' (as per PNG, 4.7.2).
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 54- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Embedding manifests into PNG The C2PA Manifest Store shall be embedded using an ancillary, private, not safe to copy, chunk type of 'caBX' (as per PNG, 4.7.2).46. C2PA Content Credentials Technical Specification 2.0 · PDF page 55
Narrow public claim
The GEOB’s MIME type field shall be present and shall use the value for the media type for JUMBF as described in Section 11.4, “External Manifests”.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 55- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The GEOB’s MIME type field shall be present and shall use the value for the media type for JUMBF as described in Section 11.4, “External Manifests”.47. C2PA Content Credentials Technical Specification 2.0 · PDF page 55
Narrow public claim
The C2PA Manifest Store shall be embedded into a TIFF-compatible file (i.e., TIFF/EP, DNG or other TIFF-based RAW formats) as the data of a tag with ID 52545 (decimal) or 0xCD41 (hexadecimal), with a tag type of 7.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 55- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The C2PA Manifest Store shall be embedded into a TIFF-compatible file (i.e., TIFF/EP, DNG or other TIFF-based RAW formats) as the data of a tag with ID 52545 (decimal) or 0xCD41 (hexadecimal), with a tag type of 7.48. C2PA Content Credentials Technical Specification 2.0 · PDF page 56
Narrow public claim
The C2PA table format is not yet defined in the Open Font Format nor OpenType specification; the following definition is preliminary: 11.3.1.8.1.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 56- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The C2PA table format is not yet defined in the Open Font Format nor OpenType specification; the following definition is preliminary: 11.3.1.8.1.49. C2PA Content Credentials Technical Specification 2.0 · PDF page 56
Narrow public claim
If a URI is not provided a NULL offset = 0x0000 should be used. uint16 activeManifestUriLength Length of URI in bytes. uint16 reserved Reserved for future use.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 56- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
If a URI is not provided a NULL offset = 0x0000 should be used. uint16 activeManifestUriLength Length of URI in bytes. uint16 reserved Reserved for future use.50. C2PA Content Credentials Technical Specification 2.0 · PDF page 57
Narrow public claim
A C2PA Manifest Consumer shall process all C2PA Manifests in all C2PA Manifest Stores as if they were contained in a single C2PA Manifest Store.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 57- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t05_primary_claims.json --source-file <local-raw-pdf>Exact source quote
A C2PA Manifest Consumer shall process all C2PA Manifests in all C2PA Manifest Stores as if they were contained in a single C2PA Manifest Store.51. C2PA Content Credentials Technical Specification 2.0 · PDF page 57
Narrow public claim
Because a JUMBF URI is always a full URI, meaning that it starts at a given C2PA Manifest, and all NOTE C2PA Manifests are considered to be contained in a single C2PA Manifest Store, using such a URI to refer to a parentOf ingredient across C2PA Manifest Stores in a PDF is acceptable.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 57- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Because a JUMBF URI is always a full URI, meaning that it starts at a given C2PA Manifest, and all NOTE C2PA Manifests are considered to be contained in a single C2PA Manifest Store, using such a URI to refer to a parentOf ingredient across C2PA Manifest Stores in a PDF is acceptable.52. C2PA Content Credentials Technical Specification 2.0 · PDF page 58
Narrow public claim
It can also be used to provide provenance for specific pieces of content by adding the AF entry to the object (via property list) or a structure element, as described in the Associated Files clause of ISO 32000-2 (14.13.1).
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 58- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
It can also be used to provide provenance for specific pieces of content by adding the AF entry to the object (via property list) or a structure element, as described in the Associated Files clause of ISO 32000-2 (14.13.1).53. C2PA Content Credentials Technical Specification 2.0 · PDF page 59
Narrow public claim
Embedded Files Document Catalog Dictionary Active Manifest Page 1 Assertions Claim Content Stream Claim Signature Ingredient Manifest (Image) Resources Assertions Image XObject Claim Claim Signature Font Ingredient Manifest (Font) Assertions Claim Claim Signature Text is not SVG - cannot display Figure 13.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 59- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Embedded Files Document Catalog Dictionary Active Manifest Page 1 Assertions Claim Content Stream Claim Signature Ingredient Manifest (Image) Resources Assertions Image XObject Claim Claim Signature Font Ingredient Manifest (Font) Assertions Claim Claim Signature Text is not SVG - cannot display Figure 13.54. C2PA Content Credentials Technical Specification 2.0 · PDF page 59
Narrow public claim
The 'uuid' Box for C2PA All BMFF-based C2PA assets, whether they are timed (e.g., videos with or without audio tracks), untimed (e.g., still photos) or mixed (e.g., live or animated photos) audiovisual media, shall use a 'uuid' box that adheres to the following syntax and semantics defined below.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 59- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
The 'uuid' Box for C2PA All BMFF-based C2PA assets, whether they are timed (e.g., videos with or without audio tracks), untimed (e.g., still photos) or mixed (e.g., live or animated photos) audiovisual media, shall use a 'uuid' box that adheres to the following syntax and semantics defined below.55. C2PA Content Credentials Technical Specification 2.0 · PDF page 60
Narrow public claim
Regarding unique ids: There are cases, such as fragmented MP4 (fMP4), where the id for a subset of the asset, such as the track_id field of the 'tkhd' box, is only locally unique to a subset of the overall asset rather than globally unique to the asset.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 60- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Regarding unique ids: There are cases, such as fragmented MP4 (fMP4), where the id for a subset of the asset, such as the track_id field of the 'tkhd' box, is only locally unique to a subset of the overall asset rather than globally unique to the asset.56. C2PA Content Credentials Technical Specification 2.0 · PDF page 61
Narrow public claim
data When box_purpose is manifest, the first 8 bytes inside 'data' shall be the absolute file byte offset to the first auxiliary 'uuid' C2PA box with box_purpose equal to merkle.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 61- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
data When box_purpose is manifest, the first 8 bytes inside 'data' shall be the absolute file byte offset to the first auxiliary 'uuid' C2PA box with box_purpose equal to merkle.57. C2PA Content Credentials Technical Specification 2.0 · PDF page 61
Narrow public claim
For fragmented MP4 (fMP4) files, an identical 'uuid' C2PA box of type manifest shall be present in each initialization segment; the C2PA Manifest Store shall be identical.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 61- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
For fragmented MP4 (fMP4) files, an identical 'uuid' C2PA box of type manifest shall be present in each initialization segment; the C2PA Manifest Store shall be identical.58. C2PA Content Credentials Technical Specification 2.0 · PDF page 62
Narrow public claim
For timed-media where an 'stco' or 'co64' box is present, the hash used for a given leaf node in the Merkle tree shall be computed over an individual subset of samples as defined by that box.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 62- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
For timed-media where an 'stco' or 'co64' box is present, the hash used for a given leaf node in the Merkle tree shall be computed over an individual subset of samples as defined by that box.59. C2PA Content Credentials Technical Specification 2.0 · PDF page 63
Narrow public claim
Taking a c2pa-compliant fMP4 asset which is split across multiple files (i.e., has 'c2pa' boxes of types 'manifest' and 'merkle') and appending the individual files together will not produce a single file which is 'c2pa' compliant (nor vice-versa).
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 63- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Taking a c2pa-compliant fMP4 asset which is split across multiple files (i.e., has 'c2pa' boxes of types 'manifest' and 'merkle') and appending the individual files together will not produce a single file which is 'c2pa' compliant (nor vice-versa).60. C2PA Content Credentials Technical Specification 2.0 · PDF page 63
Narrow public claim
If there are multiple auxiliary 'uuid' C2PA boxes with box_purpose merkle for a given Merkle tree in a single file, each shall be followed by sufficient padding bytes (zero or more) to make all auxiliary 'uuid' C2PA boxes for that Merkle tree a fixed size.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 63- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t06_primary_claims.json --source-file <local-raw-pdf>Exact source quote
If there are multiple auxiliary 'uuid' C2PA boxes with box_purpose merkle for a given Merkle tree in a single file, each shall be followed by sufficient padding bytes (zero or more) to make all auxiliary 'uuid' C2PA boxes for that Merkle tree a fixed size.61. C2PA Content Credentials Technical Specification 2.0 · PDF page 65
Narrow public claim
As a result, such a server must either hash said streams and create a C2PA Manifest each time the content is consumed or, if generation is deterministic, create and cache the hashes and C2PA Manifests once and then embed them at consumption time.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 65- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
As a result, such a server must either hash said streams and create a C2PA Manifest each time the content is consumed or, if generation is deterministic, create and cache the hashes and C2PA Manifests once and then embed them at consumption time.62. C2PA Content Credentials Technical Specification 2.0 · PDF page 65
Narrow public claim
Exclusion List Requirements For all c2pa.hash.bmff.v2 assertions, the following entries shall always appear on the exclusion list.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 65- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Exclusion List Requirements For all c2pa.hash.bmff.v2 assertions, the following entries shall always appear on the exclusion list.63. C2PA Content Credentials Technical Specification 2.0 · PDF page 66
Narrow public claim
Size requirements If a BMFF-based asset uses 32-bit sizes or offsets in any box(es), e.g. the 'stco' box, and adding boxes to conform to this specification will push the file size over 4 gigabytes, it is the responsibility of the manifest creator to edit the file to use appropriate sizes and offsets, e.g. by replacing the 'stco' box with a 'co64' box, before creating the manifest.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 66- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Size requirements If a BMFF-based asset uses 32-bit sizes or offsets in any box(es), e.g. the 'stco' box, and adding boxes to conform to this specification will push the file size over 4 gigabytes, it is the responsibility of the manifest creator to edit the file to use appropriate sizes and offsets, e.g. by replacing the 'stco' box with a 'co64' box, before creating the manifest.64. C2PA Content Credentials Technical Specification 2.0 · PDF page 66
Narrow public claim
Hashing the ZIP Central Directory As described in 4.3.12 of the ZIP AppNote, the Central Directory is an array of central directory headers - one per file in the ZIP archive.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 66- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Hashing the ZIP Central Directory As described in 4.3.12 of the ZIP AppNote, the Central Directory is an array of central directory headers - one per file in the ZIP archive.65. C2PA Content Credentials Technical Specification 2.0 · PDF page 67
Narrow public claim
It is immediately followed by the End of Central Directory record (ZIP AppNote, 4.3.16), which contains information about the ZIP archive itself.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 67- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
It is immediately followed by the End of Central Directory record (ZIP AppNote, 4.3.16), which contains information about the ZIP archive itself.66. C2PA Content Credentials Technical Specification 2.0 · PDF page 68
Narrow public claim
Placement of the Manifest Store The C2PA Manifest Store shall be stored in the META-INF directory of the ZIP archive with a filename of content_credential.c2pa and a media type as recommended for external manifests.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 68- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Placement of the Manifest Store The C2PA Manifest Store shall be stored in the META-INF directory of the ZIP archive with a filename of content_credential.c2pa and a media type as recommended for external manifests.67. C2PA Content Credentials Technical Specification 2.0 · PDF page 72
Narrow public claim
These lists establish the allowed algorithms and key types by referencing an algorithm identifier from the relevant standards that define algorithms for COSE and their mappings to CBOR identifiers, including but not limited to RFC and RFC 8230.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 72- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
These lists establish the allowed algorithms and key types by referencing an algorithm identifier from the relevant standards that define algorithms for COSE and their mappings to CBOR identifiers, including but not limited to RFC and RFC 8230.68. C2PA Content Credentials Technical Specification 2.0 · PDF page 72
Narrow public claim
Nothing in Section 11.3.4.2, “Hashing” shall apply to this use of hash algorithms; if a digital signature algorithm is present in the digital signature algorithm and key type registry, the use of its specified hash algorithm in the signature scheme shall be allowed and followed.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 72- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Nothing in Section 11.3.4.2, “Hashing” shall apply to this use of hash algorithms; if a digital signature algorithm is present in the digital signature algorithm and key type registry, the use of its specified hash algorithm in the signature scheme shall be allowed and followed.69. C2PA Content Credentials Technical Specification 2.0 · PDF page 73
Narrow public claim
ECDSA requires elliptic curve keys on the P-256, P-384, or P-521 elliptic curves. ◦ Although it is recommended to use P-256 keys with ES256, P-384 keys with ES384, and P-521 keys with ES512, it is not required.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 73- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
ECDSA requires elliptic curve keys on the P-256, P-384, or P-521 elliptic curves. ◦ Although it is recommended to use P-256 keys with ES256, P-384 keys with ES384, and P-521 keys with ES512, it is not required.70. C2PA Content Credentials Technical Specification 2.0 · PDF page 73
Narrow public claim
Use of COSE The signature for the CBOR-encoded claim is produced by CBOR Object Signing and Encryption (COSE) as described in RFC 8152 sections 4.2 and 4.4.
What this card proves
The exact quoted statement occurred in the named official PDF fetched on 2026-08-04, and the complete PDF matched the recorded SHA-256.
What this card does not prove
It does not independently establish the underlying model capability, safety, comparison, or real-world truth. This is a retrospective single-maintainer source-publication audit.
- Primary source
- C2PA Content Credentials Technical Specification 2.0
- Section locator
PDF page 73- Captured
- 2026-08-04
- Source SHA-256
aa8757d760404ee2d129f4c5468a315cb83f28ecbbfbde0e4276b41023d02dbb- Reproduction
- Maintainer run only; no independent operator rerun is registered.
Repeat this exact check locally
Download the PDF to a local file, then run the committed verifier. A changed PDF is reported as drift rather than silently accepted.
python scripts/verify_primary_public_claim_group.py artifacts/cb7k_dom004_t07_primary_claims.json --source-file <local-raw-pdf>Exact source quote
Use of COSE The signature for the CBOR-encoded claim is produced by CBOR Object Signing and Encryption (COSE) as described in RFC 8152 sections 4.2 and 4.4.