One small signed (or unsigned) sample per verification state, each paired with the exact result a verifier should report. Download any file, drop it on verify.reconize.me, and confirm the verdict matches.
Each file below is a real signed asset (or a plain control), hosted for anyone to fetch.
Drop it on verify.reconize.me, or run it through any C2PA verifier you are testing.
Confirm the verifier reports the expected verdict listed here (and in the machine-readable manifest).
Signed by Robert Angelo with Reconize 2.5 (build 39) on October 2, 2026. Name confirmed through four linked accounts in a CAWG identity credential (did:web:id.reconize.me). Each file also shows what two independent validators reported for this exact file.
iPhone photo (Display P3, kept on signing). C2PA signature from a certificate on the C2PA trust list, trusted RFC 3161 timestamp, CAWG identity credential with 4 confirmed accounts, Do Not Train assertion, and the hidden mark with its registered soft binding (me.reconize.videoseal.1). Compare with none-photo.jpg (the unsigned original) to see the mark: PSNR 39.9 dB, visible only by switching back and forth.
c2patool 0.27.15: Trusted · assertion.dataHash.match · claimSignature.validated · signingCredential.trusted · timeStamp.trusted · cawg.ica.credential_valid · soft binding me.reconize.videoseal.1
Credentio: no failures c2patool JSON Credentio output
sha256 773617c8894f0d2488dc61252c31af3e1888dd802aa5eb3f6cfd284381ac288c
TIFF print master, C2PA only. No hidden mark on TIFF by design, so no soft binding. Identity credential and Do Not Train as above.
c2patool 0.27.15: Trusted · assertion.dataHash.match · claimSignature.validated · signingCredential.trusted · timeStamp.trusted · cawg.ica.credential_valid
Credentio: no failures c2patool JSON Credentio output
sha256 1262ffd9afc9968a0f8af6283fadc09b5557a7c613c88c84440fb8547ee23687
10-second H.264 clip. BMFF hash binding, hidden mark in the pixels with the registered soft binding, plus an audio mark.
c2patool 0.27.15: Trusted · assertion.bmffHash.match · claimSignature.validated · signingCredential.trusted · timeStamp.trusted · cawg.ica.credential_valid · soft binding me.reconize.videoseal.1
Credentio: no failures c2patool JSON Credentio output
sha256 ec3b262ff6b1188338ce1b8b9e89156b3fa741ce1e386c0d16ab683ff3c8514f
AAC audio. BMFF hash binding and an audio mark. The audio mark algorithm is not in the C2PA soft-binding list, so the file carries no soft-binding assertion for it.
c2patool 0.27.15: Trusted · assertion.bmffHash.match · claimSignature.validated · signingCredential.trusted · timeStamp.trusted · cawg.ica.credential_valid
Credentio: no failures c2patool JSON Credentio output
sha256 d3b5f3b1330c341be61749da48bb95099dfa8d8e726534f023d8951ef088523e
trusted-photo.jpg with one byte of image data flipped. Signature, timestamp and identity still validate; the content hash does not, so the file must not verify.
c2patool 0.27.15: Invalid · assertion.dataHash.mismatch · claimSignature.validated · signingCredential.trusted · timeStamp.trusted · cawg.ica.credential_valid · soft binding me.reconize.videoseal.1
Credentio: assertion.dataHash.mismatch c2patool JSON Credentio output
sha256 ad0debd6379cad26582d656cb3342502d9e6a8588e2bc43ebba2219b09161f7d
What an upload site does to trusted-photo.jpg: converted to sRGB, re-saved at quality 85, all metadata removed. No C2PA manifest remains. The hidden mark survives and reads back the same 256-bit id (BCH-corrected). verify.reconize.me and the Reconize app both read the hidden mark and resolve the picture to the signer through the registry when the content matches.
c2patool 0.27.15: No claim found
Credentio: no claim c2patool JSON Credentio output
sha256 385ad1e4b2b6d5b928525287a20468b905a891f6b738da2e6fdbb6c0b5327875
Signed while the trusted signing service was unreachable, so the claim is signed with a certificate that is not on the C2PA trust list. Signature and content validate; trust does not. With the service down there is also no trusted timestamp and no identity credential, so the linked accounts read as claimed, not confirmed. The hidden mark and soft binding are still there.
c2patool 0.27.15: Valid · assertion.dataHash.match · claimSignature.validated · signingCredential.untrusted · soft binding me.reconize.videoseal.1
Credentio: signingCredential.untrusted c2patool JSON Credentio output
sha256 3fad2044d839797f6b5ccdadd5e7cf33dd1a2df55d9f7c5dd605c9388fb945ec
We were tested in public. Here is what broke, and what we changed.
It is built on Meta's open VideoSeal model, so anyone can read it, subtract it or paint it onto another picture. A researcher on the C2PA Discord removed it from these samples on October 8, 2026.
Each new check was run against 5,000 COCO photos first. No unrelated photo came near the line.
A copy like this is not attributed to anyone.
Try it yourself: stripped copies to test, each with the result to expect.