Detection
Content Credentials (C2PA)
Full signature validation against the C2PA trust list, not just a presence check. A trusted signature that declares AI generation is the strongest signal we have.
Updated
Content Credentials are a signed manifest that generators and cameras can embed in an image or video, describing where it came from. Google (Gemini, Imagen, Nano Banana, Pixel), OpenAI, Adobe, Microsoft and Meta sign their output this way.
What we check
The manifest store is parsed, the claim signature and its certificate chain are verified against the C2PA trust list, and three things are read: the generator that produced the file, the organisation that signed it, and the declared digital source type from its actions.
- A trusted signature whose source type is "trained algorithmic media" scores 0.97 and names the issuer and generator in the card ("Content Credentials", badge Strong).
- A manifest that is present but not verifiable (untrusted signer, broken signature) is reported as exactly that, with no score. Presence alone proves nothing, and a manifest can be copied from another file.
- No manifest means the row says the check ran and found nothing.
Validation normally runs on our API. Where that is not possible the extension can validate in the page with the browser build and send the verdict instead.
Why it fires less often than you would hope
Most social platforms strip metadata, including Content Credentials, on upload. A Gemini image posted natively to X usually arrives without its manifest. Where the platform preserved it (some hosts, direct links, files shared in messaging apps) this check names the generator outright. When it is gone, the generator classifier is the fallback for Google-made images, because Google's own watermark cannot be checked by anyone but Google.
Formats
JPEG, PNG, WebP, GIF (via XMP), AVIF, HEIC, JPEG XL and MP4 containers (the first 4 MB of a video is scanned for a manifest). WebM and Matroska containers are not scanned.