← Blog

C2PA Content Credentials — the new metadata layer above EXIF

C2PA manifest — JUMBF container in APP11, cryptographically signed history JPEG marker chain with a C2PA manifest FF D8 SOI FF E1 EXIF camera metadata (as before) FF E2 ICC colour profile FF EB JUMBF C2PA manifest store ← new ├── claim what was done, by what tool ├── assertions thumbnail, hashes, ingredients └── signature X.509 cert + COSE signature FF DB DQT quant tables FF DA SOS … scan data FF D9 EOI

EXIF tells you what the camera saw. C2PA Content Credentials tell you what every tool in the chain did to the photo afterwards — captured by Sony Alpha, edited in Adobe Photoshop, exported, watermarked, published — with each step cryptographically signed. It is a fundamentally different kind of metadata from EXIF, and you'll start seeing it in more files as cameras and AI generators adopt it.

What C2PA is

The Coalition for Content Provenance and Authenticity (C2PA), founded by Adobe, Microsoft, BBC, and others in 2021, publishes an open specification for embedding signed provenance into media files. The format reuses the JUMBF container (JPEG Universal Metadata Box Format, ISO 19566-5) and lives inside JPEGs in the APP11 marker (0xFFEB). PNG, MP4, PDF, WAV, and other containers have analogous slots.

Adobe ships their consumer-facing branding as Content Credentials. The underlying bytes are C2PA. They are the same thing.

What's inside a manifest

A C2PA manifest is a structured document with three top-level pieces:

Every editing tool that supports C2PA appends a new manifest when it saves the file, and references the previous manifest in the chain. The result is a tamper-evident history: a verifier walks the chain, checks each signature against its certificate, and either confirms the chain is intact or flags exactly where it was broken.

Who actually signs photos right now

What it doesn't do

C2PA does not prove a photo is real. A manifest can claim "Captured on Sony α7 IV", but if the certificate it was signed with isn't in a trust list — or the signer is unknown — the claim is just text. Conversely, the absence of a manifest doesn't imply manipulation: most photos in the world today don't have one.

It also doesn't survive aggressive social-media re-encoding. Platforms that strip metadata strip the C2PA manifest along with EXIF. The manifest is intended to survive only between tools that preserve it deliberately.

How our viewer shows it

The viewer surfaces whatever the bundled ExifTool reads from the JUMBF box. ExifTool decodes the JUMBF tree in APP11 and emits the claim, the signing tool, the timestamp, and the assertions as individual tags, which appear in the standard tag table — searchable like any other field. ExifTool does not perform cryptographic signature verification (that needs a trust list and live certificate validation, neither of which is bundled), so the manifest is shown as data, not as a verified claim.

If you're checking whether an image came from a specific AI generator or whether it's been edited since capture, C2PA is the field to look at. If it's missing, the photo predates C2PA adoption or was processed by a tool that didn't preserve manifests.