Five states, not one badge

Missing means no embedded manifest was returned. Present means data was read without a complete state. Valid means cryptographic and structural checks succeeded. Trusted additionally connects the signer to a configured trust anchor. Invalid means at least one required check failed.

A valid manifest proves that signed assertions remain bound to this asset under the validator’s rules. It does not declare the depicted event true.

What the checker reads

A C2PA manifest can identify the claim generator, describe creation or editing actions, name a digital source type, reference ingredients, include thumbnails, and carry a signature. The active manifest is the most recent record whose content binding applies to the current asset.

This site presents the issuer, generator, source type, actions, ingredient count, signature time, assertion labels, validation successes, and failure codes when available.

Why valid and trusted differ

Anyone can create a structurally valid signed record. Trust is a policy decision about the signer’s certificate chain. The browser checker uses the official C2PA trust-list snapshot bundled with this release and reports the SDK’s validation state without inventing an identity.

What tampering looks like

If protected file bytes change after signing, the hard binding should fail. Other failures can concern a malformed assertion, signature, certificate, timestamp, or inaccessible remote material. The report exposes codes so the user can distinguish them.

What travels over the network

Your selected image remains a browser Blob and is passed directly to the official WebAssembly reader. The page loads its own WASM engine and bundled trust-list snapshot from the same site. It does not attach the image to any request.

Validate a file.

Open C2PA check