Skip to main content
Encypher Logo

Image content provenance

A signed C2PA manifestC2PA manifest: The signed label itself: a small package inside a file that records who signed it, what they declared and how to check it. can sit inside a JPEG, PNG, WebP, HEIC and 11 other image formats. It shows who published the picture and whether it changed since. Anyone can check it, free.

In a JPEG, PNG, WebP or WAV file, the label is one tagged chunk or segment among the chunks that hold the picture or sound.
Chunk and segment formats keep the label in one chunk of its own.
Formats
15 image formats.
Where it sits
In its own part of the file, apart from the picture data.
AI images
The label can say the picture was made with AI.
Checking
Free, with no account.

EXIF is easy to change. A signed label is not.

EXIFEXIF: Photo details stored in an image file, such as date, camera and settings. holds a photo's date, camera and credit as plain text. Anyone can edit it, and most social sites delete it on upload. A C2PA manifest is signed, so a change to the picture or the label shows in a check.

Some sites also strip C2PA manifests when they rebuild a file. Then the check finds no label, and says so.

Where the label sits in each image format

Each format has its own place for extra data. The C2PAC2PA: The Coalition for Content Provenance and Authenticity: the group that publishes the open standard for content labels. standard says which one to use.

Where the signed label sits in 13 image formats.
FormatWhere the label sitsMade for
JPEGIn its own marker segments near the start of the file, ahead of the picture dataNews photos, Stock photos, Editorial images
PNGIn its own chunk, a tagged block that sits beside the picture dataCharts and infographics, Screenshots, Logos
WebPIn its own chunk of the file, next to the picture dataWeb publishing, Images served by a CMS, Fast-loading sites
TIFFIn its own entry in the list of parts at the start of the filePrint masters, Archives and scans, Professional photos
AVIFIn its own box, one of the labelled parts the file is built fromModern web images, High-quality delivery, Image-heavy sites
HEICIn its own box, one of the labelled parts the file is built fromPhone photos, Apple photo libraries, Cloud photo backups
HEIC SequenceIn its own box, one of the labelled parts the file is built fromBurst photos, Live photos, Short animations
HEIFIn its own box, one of the labelled parts the file is built fromCamera output, Editing workflows, Cross-platform photos
HEIF SequenceIn its own box, one of the labelled parts the file is built fromImage sequences, Animations, Multi-shot captures
SVGIn a block of the drawing's code kept for file details, apart from the shapesLogos and brand assets, Icons, Charts
DNGIn its own entry in the list of parts at the start of the fileRaw photos, Professional photo workflows, Forensic imaging
GIFIn its own extension block, a part of the file that viewers skipShort animations, Reaction images, Simple web graphics
JPEG XLIn its own top-level box, apart from the picture dataModern web delivery, Photo archives, High-quality images

Marking AI images

The label can record that a picture was made or changed with AI, using a field called the digital source typeDigital source type: A field in the label that says how content was made: captured by a camera, made by AI, or a mix.. It can carry the machine-readable markingMachine-readable marking: A label software can read that says content was made or changed by AI. the EU AI ActEU AI Act: The European Union's law on artificial intelligence, which includes rules for marking AI-made content. asks AI providersProvider: Under the EU AI Act, the company that builds an AI system or puts it on the EU market under its own name. for.

What the AI Act asks for

When a copy loses its label

A label in the file is a hard bindingHard binding: A hash of the content's signed bytes stored in the label, so a change to those bytes makes the check fail.. If a site strips it, a hidden watermarkWatermark: A mark placed in the content itself, visible or hidden, so it can be found again after the file is copied. added at signing can still point back to the record. That second link is a soft bindingSoft binding: A watermark or fingerprint that can find a content label again after the file was copied or its metadata stripped..

Hard binding is a fingerprint of the exact file, so a re-encode breaks it. Soft binding is a watermark in the picture that still leads back to the label after a re-encode.
The fingerprint proves the file is unchanged. The watermark finds the label again when the file has changed or lost it.

For engineers

Show the technical detail

What the manifest records

Signer
The publisher's X.509 certificate chain.
Hard binding
A SHA-256 hash over the image bytes, excluding the manifest itself.
Assertions
Actions (created, edited, published), digital source type, rights terms, optional location.
Ingredients
References to signed source images used to make this one.
Signature
COSE over the claim, with an RFC 3161 timestamp.

Embedding per format

C2PA embedding location by image format.
FormatMIME typeEmbedding
JPEGimage/jpegJUMBF manifest store in APP11 marker segments
PNGimage/pngJUMBF manifest store in a caBX chunk
WebPimage/webpJUMBF manifest store in a C2PA chunk of the RIFF container
TIFFimage/tiffJUMBF manifest store in a dedicated tag of the TIFF image file directory (IFD)
AVIFimage/avifJUMBF manifest store in a C2PA uuid box in the ISO BMFF structure
HEICimage/heicJUMBF manifest store in a C2PA uuid box in the ISO BMFF structure
HEIC Sequenceimage/heic-sequenceJUMBF manifest store in a C2PA uuid box in the ISO BMFF structure
HEIFimage/heifJUMBF manifest store in a C2PA uuid box in the ISO BMFF structure
HEIF Sequenceimage/heif-sequenceJUMBF manifest store in a C2PA uuid box in the ISO BMFF structure
SVGimage/svg+xmlBase64-encoded JUMBF manifest store in the SVG metadata element
DNGimage/x-adobe-dngJUMBF manifest store in a dedicated tag of the TIFF/EP image file directory (DNG is TIFF-based)
GIFimage/gifJUMBF manifest store in a GIF application extension block
JPEG XLimage/jxlJUMBF superbox (jumb) at the top level of the JPEG XL box structure

For images registered in the Encypher CDN provenance store (Enterprise), a lookup by perceptual hash (pHash) matches resized or recompressed copies by Hamming distance and returns the original record as a verified derivative. Manifests can also be read with the open-source c2pa-rs, c2pa-python and c2pa-js libraries.

Create. Mark. Endure.

Sign your first image free. Checking stays free for everyone.