Reproducible lab · Content provenance

C2PA Verification Lab: What Survives an Edit?

Content Credentials can carry a signed, tamper-evident record of declared actions. This controlled lab shows what EXIFDataView actually reads from five synthetic files—and why a valid claim, a trusted signer, and a truthful image are three different questions.

What is controlled here?

Every file starts from a generated graphic that states it contains no person, location, or private data. The archive includes all five files, manifest definitions, SHA-256 hashes, a result CSV, and the reproduction outline. The signed files use c2patool's built-in development certificate—not a production identity.

Observed results

On July 25, 2026, each file was checked with c2patool 0.9.12 and the current EXIFDataView C2PA checker. The two signed files exposed their declared actions. The official trust-list check and EXIFDataView both reported signingCredential.untrusted for the test certificate.

SampleTransformationObserved resultInterpretation
Unsigned sourceNo C2PA signingNo Content Credential foundControl file
Signed originalSigned with c2patool's development certificateClaim and created action foundState Valid; signer untrusted
Edited and signedRotated, then signed with opened and edited actionsClaim and both actions foundState Valid; signer untrusted
ScreenshotBrowser screenshot of the displayed signed originalNo Content Credential foundPixels remain; embedded claim does not
Re-encodedSigned original exported as JPEG quality 72No Content Credential foundResult for this export path only
Test methodology

This test asks whether five controlled transformations expose a readable C2PA claim, which actions the claim declares, and whether the development signer is trusted.

Sample

Five synthetic files in samples.zip. Signed original SHA-256 f28de3c3…423915a; edited signed 6289550c…659a98c. The archive also contains complete hashes.

Environment

c2patool 0.9.12, the current EXIFDataView @contentauth/c2pa-web checker, macOS sips for rotation/re-encoding, and the Codex in-app browser for the screenshot; tested July 25, 2026.

Steps

  1. 1. Create an unsigned JPEG from the synthetic source graphic.
  2. 2. Sign one copy with c2patool's built-in development certificate and a created action.
  3. 3. Rotate a copy, then sign it with opened and edited actions.
  4. 4. Display the signed original in a browser and capture its rendered pixels.
  5. 5. Re-encode the signed original as JPEG quality 72.
  6. 6. Inspect all five files with c2patool and EXIFDataView; check both signed files against the official C2PA Trust List.

Limitations

  • The development certificate is intentionally not a production-trusted signer.
  • A screenshot or re-encode may preserve, remove, or replace provenance differently in another app or export path.
  • No Content Credential does not prove an image is human-made, authentic, or unedited.
  • A valid signed claim does not prove the depicted event is true or complete.

Read presence, validity, and trust separately

Presence means a parser found a Content Credential. Validation checks whether the claim is correctly bound and signed. Trust asks whether the certificate chains to a recognized trust list. This lab's signed files have a readable claim and a valid validation state, while the signer remains untrusted.

C2PA documents provenance assertions; it is not a general AI detector or a truth score. See the C2PA technical specification and the c2patool source and documentation for the underlying verification model.

Try the evidence yourself

  1. Download and extract the sample archive.
  2. Upload each JPEG to the local C2PA checker.
  3. Compare the active manifest, declared actions, validation state, signer, and validation issues with results.csv.
Test and editorial review

The five files, manifests, hashes, command-line results, browser-checker results, and limitations were reviewed together.

Huy

Editor, EXIFDataView

Published
Jul 25, 2026
Updated
Jul 25, 2026
Last tested
Jul 25, 2026

Corrections and reproducible issues belong in the contact workflow. We update visible dates only when the page content or testing notes materially change.

Continue with C2PA fundamentals, verification limits, and adjacent metadata privacy workflows.

Privacy guidesUpdated Jul 23, 2026
Use a controlled sample to compare GPS, device, and capture-time metadata before and after local EXIF removal.

By Huy · Published Jul 23, 2026

Privacy guidesUpdated Jul 22, 2026
A source-backed review of Apple and Google Photos sharing controls, documentation gaps, and the safest workflow before posting an image.

By Huy · Published Jul 22, 2026

Provenance guidesUpdated May 14, 2026
A practical guide to signed provenance records, validation status, edit history, and what Content Credentials can and cannot prove.

By Huy · Published May 14, 2026