Read a file’s Content Credentials

Some files carry a signed record of where they came from: which tool or model produced them, what edits happened, and who signed the claim. This page reads that record, checks the signature against the C2PA trust list and reports one of five outcomes — verified, valid but untrusted, invalid, unreadable, or absent. The file stays on your device: only the trust list, which we host ourselves, is fetched.

  • No upload
  • No account
  • No re-encoding
  • Free
C2PA reader0 bytes uploaded

Manifest

Read locally

Signature

Verified on device

Needs account

No

What a manifest can contain

01

A C2PA manifest is a CBOR assertion store signed with a certificate. It is not one field but a small document, and different tools fill it differently. These are the parts worth reading.

  • Claim generatorThe software or model that produced the claim, with a versionlow
  • Declared signerThe certificate subject that signed it — a claim, not a verificationmedium
  • Declared actionsc2pa.created, c2pa.edited, c2pa.cropped — with timestampsmedium
  • Digital source typee.g. trainedAlgorithmicMedia, which is a declaration of AI generationmedium
  • IngredientsSource files the manifest claims were combined, with hasheslow
  • Manifest chainSeveral manifests mean the file passed through more than one signing toollow
  • Signature timeWhen the claim was signed, as stated inside the manifestlow
  • Validation statusReported separately: reading a manifest is not verifying its signaturemedium

Why it matters.

02

A signature is evidence, not a verdict

A valid signature proves that the file has not changed since it was signed, and that the signer holds a certificate. It does not prove the photo is real, the date is honest, or the person named actually took it. Signing tools sign whatever they are given.

The most useful field is usually the boring one

In practice the action list and the declared digital source type are what answer the question people actually ask: was this produced or edited by an AI tool, and if so which one. A manifest that says trainedAlgorithmicMedia is the tool admitting it. A manifest that says digitalCapture is a camera app saying it did not.

Reading is private; verifying usually is not

Most online verifiers upload your file to their servers. Verification also needs a trust list, which is a network request — in this case to our own origin, for a 70 KB PEM bundle we host, not to a third party and never with your file. If that bundle cannot be fetched, the result degrades to “manifest found, not verified” rather than guessing.

No manifest is the normal case

Most cameras, editors and generators write nothing. Most platforms strip what was written. An empty result is what a file that travelled through the open web usually looks like, so it cannot be treated as evidence of anything.

How to use it.

03
  1. Step 01

    Drop a photo, video or PDF into the panel. The manifest is parsed and the signature checked locally in WASM; the file never leaves the page.

  2. Step 02

    Read the verdict first — verified, valid but untrusted, or invalid — then the claims behind it: generator, signer certificate, declared actions and digital source type.

  3. Step 03

    Check the ordinary metadata evidence further down. If you want the claims gone, open the matching remover.

One caveat.

04

Before you rely on it

Invisible watermarks are outside the scope

A C2PA manifest is metadata: it can be read, and it can be removed. An invisible watermark such as SynthID is embedded in the pixels and is designed to survive re-encoding. This tool cannot detect or remove one, and it will not claim that a file without a manifest is free of them.

Limits worth knowing.

06
  • Trust is checked against the C2PA trust list we host. A certificate that is valid but not enrolled on that list reports as “signature valid, certificate untrusted” — normal for internal tools, test files and tools that adopt C2PA before completing enrolment.
  • A verified signature proves the claim was signed by that certificate and that these bytes have not changed since. It does not prove the content is true, and it does not name a person: certificates identify organisations.
  • HEIC and camera RAW are not supported yet, and those are exactly the formats some cameras sign.
  • The reader downloads a 3 MB WASM module the first time you check a file. It is served from this site and cached; your file is not part of that request.
  • Batch verification and exportable reports are later work. This page handles one file at a time.

Questions people ask.

07
What are Content Credentials?

Content Credentials is the marketing name for C2PA: an open specification for attaching a signed, tamper-evident provenance record to a file. The record is stored inside the file as a CBOR assertion store wrapped in JUMBF, with a signature over the claim.

Does this verify the signature?

Yes. The claim signature is checked against the signing certificate, the asset hash recorded at signing time is compared with the bytes you dropped, and the certificate chain is checked against the C2PA trust list. The result is one of three outcomes — verified, valid but untrusted, or invalid — and the codes behind it are listed so you can judge for yourself.

My file says “signature valid, certificate untrusted”. Is it fake?

No. It means the signature checks out and the file still matches what was signed, but the signing certificate is not on the C2PA trust list. Tooling frequently signs before enrolling, and some certificates are missing the extended key usage C2PA expects. Treat it as “the signer is not accredited”, not as a forgery.

The file shows no manifest — is it real?

Unknown, and this tool will not guess. Most generators never write a manifest, and most platforms remove metadata on upload. “No signature found” only describes this copy of this file.

Can a manifest tell me which model made an image?

Sometimes. The claim generator field often names the tool and version, and some tools add an assertion naming the model. It is whatever the tool chose to write — a manifest without it says nothing about the model.

Does checking a file upload it?

No. The manifest is parsed by a WASM module running in your browser. The only request is for that module, which comes from this site. Open the network panel and check: no request carries your file.

Files are processed on your device. Erasemetadata cannot read them.JPG · PNG · WebP · MP4 · MOV · PDF