Local image workflow
Content Credentials tasks: distinguish storage, read claims and keep verification separate
First establish what this file's supported containers allow you to read. Then preserve the exact status, file identity and returned declarations before deciding whether you need independent signature, trust and asset-binding validation.
18 October 2026 · Check AI Free
Choose the next action from the reading
| What you have | Local next step | What remains open |
|---|---|---|
| A supported JPEG or PNG with unknown storage | Read embedded APP11/caBX using the C2PA checker | No remote-store retrieval or cryptographic verdict |
| Readable manifest claims | Inspect returned action labels and export a minimal reading report | Declarations, signature-box presence and signer names are not verified events/trust |
| No embedded store found | Keep absent scoped to supported locations; seek an original or other evidence | No conclusion about whether the pixels are camera-made or generated |
| Present but unreadable storage | Keep exact bytes/hash and warnings; try an intact source or independent implementation | Zero readable claims does not mean no store |
| An intentional metadata-removal copy | Read original and actual download separately; compare reports/hashes | No inferred valid-to-invalid signature transition or changed visual truth |
- Read and export a local credential observation — SHA-256, actual reading status and not_verified are carried into JSON/Markdown.
- Locate JPEG APP11 packet ranges — Packet/container inventory is separate from claim reading and signature verification.
- Remove a chosen supported container category — A new verified copy, with explicit retained-byte and ICC policy; not re-signed.
Three public controls and separate official references
The public readable control is intentionally unsigned. It exercises reading a synthetic claim and action without representing a valid signed manifest. Official C.jpg and CA.jpg contain signature boxes and demonstrate fixed single/multi-packet interoperability; obtain the originals from upstream rather than a site mirror. All site reading reports remain not_verified.
| Scene | Actual reference output | Next action |
|---|---|---|
| S-H06-READ · unsigned.png | 534 bytes; manifest_read; 1 claim; Created; no signature box | Read/export the declaration and retain the unsigned/not-verified limitation. |
| S-H06-ABSENT · absent.png | 68 bytes; absent; no store in supported locations | Ask for original or other provenance context when the task needs it. |
| S-H06-UNREADABLE · unreadable.png | 83 bytes; caBX found; present_unreadable; zero claims | Keep warning/hash; no empty or verified result is invented. |
- Download the explicitly unsigned credential-reading example — Self-authored 534-byte, 1 × 1 PNG with one readable synthetic claim and c2pa.created action. No signature box, certificate trust or valid signed credential is claimed.
- Download the absent-store control — Self-authored 68-byte PNG containing IHDR, IDAT and IEND, with no caBX or embedded C2PA store in the supported locations.
- Download the present-but-unreadable store control — The absent PNG plus a valid-CRC caBX chunk whose three payload bytes are deliberately not a readable manifest. Image-container validity and manifest readability are separate.
- Download the three credential-reading scenes — Exact own-sample hashes, actual read statuses and report-verification limitations; independent UI acceptance remains separate.
- Official C.jpg at c2pa-rs revision 60f7cbdc69ab — Upstream reference, not mirrored here. SHA-256 a2d14755db55de67a47c04090340d8266e892367be4104a45626d7a6fa6e9ffd; one APP11 packet, a 45,872-byte store, c2pa.created and a signature box. Reading is not verification.
- Official multi-packet CA.jpg at the same fixed revision — Upstream original, not mirrored. SHA-256 e71bff58fc57640803e6e65f7534e2fb0c2f99018c85276cc14b30f04427cc76; two APP11 packets reassemble a 117,241-byte store; c2pa.opened and c2pa.color_adjustments were read.
Keep a minimal report before including declarations
Step 1
Read the original and inspect the real state
Choose the file in the checker and review the supported-location reading. Use the original rather than a screenshot or a guessed filename; the file hash in the report identifies the bytes actually selected.
Step 2
Preview the complete default export
Export this reading · not verified offers Complete report preview as JSON or Markdown. The default uses manifest aliases, known action codes/labels or unknown aliases, counts, original SHA-256 and the real status. It omits original filename and stored identity/declaration values.
Step 3
Opt into stored declarations only when needed
The checkbox explicitly includes returned manifest labels, generator/signer names, ingredient titles, software agents, assertion labels and original action codes. Review the entire preview after opting in; those fields can contain personal information. Every new file returns to the default excluded state. Download reading JSON or Download reading Markdown without claiming validation.
Use an actual removal copy to understand a change
For unsigned.png, selecting only C2PA containers in Remove metadata produces the defined 69-byte removed.png copy. Its supported status becomes absent, while the writer verifies original compressed image bytes and independent Pillow matches the decoded RGBA. Its hash changes. This demonstrates removal of storage, not a change in photographic truth or verified signature validity.
Unsupported formats, damaged image structure, limits and unreadable stores remain separate. The reader does not fetch stored URLs, execute actions or validate certificates/signatures/asset binding. When those checks matter, retain the exact original and use an independent validator with its version and actual output recorded; this site's reading report can accompany, but cannot replace, that evidence.
- Download the defined C2PA-removed copy — 69-byte output from removing the whole caBX category from unsigned.png. The supported store is absent and original compressed image bytes were verified unchanged.
- C2PA Technical Specification 2.2, May 2025 — Fixed primary reference for manifest storage, assertions, actions and validation concepts. This reader implements bounded storage/claim reading, not the cryptographic validation procedures.
- Follow the broader validation guide — Choose independent validation when you need cryptographic checks rather than only stored fields.
Sources and reproducible inputs
- Download the explicitly unsigned credential-reading example — Self-authored 534-byte, 1 × 1 PNG with one readable synthetic claim and c2pa.created action. No signature box, certificate trust or valid signed credential is claimed.
- Download the absent-store control — Self-authored 68-byte PNG containing IHDR, IDAT and IEND, with no caBX or embedded C2PA store in the supported locations.
- Download the present-but-unreadable store control — The absent PNG plus a valid-CRC caBX chunk whose three payload bytes are deliberately not a readable manifest. Image-container validity and manifest readability are separate.
- Download the defined C2PA-removed copy — 69-byte output from removing the whole caBX category from unsigned.png. The supported store is absent and original compressed image bytes were verified unchanged.
- Official C.jpg at c2pa-rs revision 60f7cbdc69ab — Upstream reference, not mirrored here. SHA-256 a2d14755db55de67a47c04090340d8266e892367be4104a45626d7a6fa6e9ffd; one APP11 packet, a 45,872-byte store, c2pa.created and a signature box. Reading is not verification.
- Official multi-packet CA.jpg at the same fixed revision — Upstream original, not mirrored. SHA-256 e71bff58fc57640803e6e65f7534e2fb0c2f99018c85276cc14b30f04427cc76; two APP11 packets reassemble a 117,241-byte store; c2pa.opened and c2pa.color_adjustments were read.
- C2PA Technical Specification 2.2, May 2025 — Fixed primary reference for manifest storage, assertions, actions and validation concepts. This reader implements bounded storage/claim reading, not the cryptographic validation procedures.
Continue with your file
- Missing Content Credentials versus an unreadable manifest — Use absent, readable unsigned and present-but-unreadable controls to distinguish storage and reading states, then export the actual status without claiming signature verification.
- Compare Content Credentials before and after removing their container — Create a defined metadata-removal copy, re-read its supported store and hash, and retain the original report without claiming a signature-validity transition.