Provenance

A Content Credentials validator confirms a label exists, which is not the same as confirming a chain.

Content Credentials made provenance visible to normal people, and the visibility created a new misunderstanding: that a label on an image is a verified fact about the image.

The vocabulary, briefly

C2PA is the technical standard: a manifest format, assertions, hashes and signatures. Content Credentials is the name Adobe uses for the implementation, now adopted by a coalition of platforms and camera makers.

A validator is the tool that reads a manifest and reports what it says. The strength of the report depends entirely on how far the validation goes, and that distance is where most confusion lives.

Three levels of validation

Level one is presence: a manifest container exists in the file. Any byte-level scan can establish this, and it is what most browser tools report.

Level two is integrity: the manifest parses, the asset hash matches the recorded hash, and the signature is intact. This needs the manifest actually parsed rather than detected.

Level three is trust: the signing certificate chains to a party on a trust list you accept, and the assertions are within what that party is trusted to claim.

A check that reports presence and calls itself validated is the failure mode to avoid. Say which level you reached.

What the marker inventory is good for

Presence checks are not useless. Used as an inventory across a delivery, they show which assets carry provenance and which were stripped somewhere in the pipeline.

  • Which files carry a C2PA container or Content Credentials markers.
  • Which carry generator tags instead, such as Firefly, Midjourney or Stable Diffusion identifiers.
  • Which carry XMP, editor names or an embedded colour profile.
  • Where a delivery is inconsistent, which usually points at one export route rather than at one creator.

Why labels vanish, and what that means for policy

Resizing, screenshotting, converting format and most social uploads drop embedded metadata. This is normal, not malicious, and it means absence cannot be read as concealment.

A workable policy therefore cannot run on labels alone. It needs a record kept outside the file: hash at export, manifest retained, date, tool, and the name of whoever handled it.

Where a supplier or studio provides signed output, ask them to retain the manifest alongside the delivered asset. It is the only way the label survives the pipeline.

What to write in a report

Describe the artefact, not the conclusion. A manifest is present, it names this tool, the file is this size, and these markers are absent.

Then state the level reached, in plain words: presence checked, integrity not validated, trust chain not evaluated. That single sentence prevents most of the misreading that provenance reports attract.

For anything that turns on authenticity, hand the file and the report to a reviewer who can pursue the trust chain with the tools that do it properly.

How this will settle

Signing is moving into capture devices and production tools, and platforms are being pushed to preserve manifests rather than strip them. When that lands, presence becomes common and trust becomes the discriminating question.

Until then, treat a label as one input. The defensible position is a workflow that signs early, retains the original and states its level of verification without inflating it.

What this covers

  • Presence established

    Manifest or marker strings found in the file bytes.

  • Integrity stated

    Whether the manifest was parsed and the asset hash checked.

  • Trust stated

    Whether the signing party was evaluated against a trust list.

  • Delivery inventory

    Which assets carry provenance and which were stripped en route.

  • Retained record

    Hash, manifest copy, date and tool stored beside the delivery.

Questions this page usually raises

Is Content Credentials the same as C2PA?
Content Credentials is the implementation and product name; C2PA is the standard behind it. A file can carry either vocabulary in its markers.
Does a visible label mean an image is verified?
No. A label means a manifest is embedded. Whether the signature validates and whether the signer is trusted are separate questions.
Why does my tool show no credentials on a file I know was signed?
A resize, format conversion or platform upload probably stripped them. Check the file before and after each step in the pipeline.
Should absence of a label be treated as suspicious?
No. Absence is the normal state after ordinary publishing operations, and treating it as a signal produces a large number of false accusations.
Can validation happen without uploading the image?
Presence checks can, because the bytes are read locally. Full trust-chain validation needs the signature parsed against a trust list.

Content Credentials validator

Run the checks, then decide who has to sign it.

The automated pass is free, needs no account and uploads nothing. Escalate to a named reviewer only where being wrong is expensive.