Content Credentials
Check an image for AI marks
Images marked with autogovern.io carry up to three layers. Upload one to see which layers are still there and whether they verify. The file is checked in memory and is never stored or logged.
Check an image
Checking a file here needs JavaScript. Without it, send the file from a terminal and read the JSON answer:
curl -s -H "Content-Type: image/jpeg" --data-binary @image.jpg https://autogovern.io/api/marks/verify
The three layers
1. A signed C2PA manifest (Content Credentials)
A C2PA 2.4 manifest inside the file, signed with an autogovern.io certificate, declares the image AI-generated (IPTC digital source type trainedAlgorithmicMedia) and can name the model. It binds a SHA-256 hash of the whole file, so any edit after signing breaks it. Re-saving, resizing and most social uploads strip it.
2. An invisible watermark
A keyed pattern spread through the image's mid-frequency detail carries a 32-bit mark id. It is there for when the manifest has been stripped. We report it as found only when chance would explain the match less than once in a million (p < 0.000001), and we never call that certainty.
3. Labels: visible, and in the metadata
An optional AI badge in the top-right corner, in the style of the EU icon (the capital letters A and I at equal height). The XMP metadata carries the IPTC digital source type and, when chosen, China's implicit label (TC260:AIGC, GB 45438-2025). Metadata labels are not signed on their own; inside a signed file they are covered by the manifest's hash.
What the law asks, in short
- EU AI Act, Art. 50(2): providers of generative AI must mark synthetic output in a machine-readable, detectable way. It applies from 2 August 2026; systems already on the market before then have until 2 December 2026. The Code of Practice asks for at least two layers for images: signed metadata plus an imperceptible watermark. Labelling deep fakes for viewers (Art. 50(4)) is the deployer's duty, and the EU icon is optional. See the Article 50 wizard.
- China: since 1 September 2025 the labelling measures and GB 45438-2025 require covered services to add an explicit label (for images, a text label at an edge or corner whose text is at least 5% of the shortest side high, for example AI生成, "AI-generated") and an implicit label in the file's metadata. Our badge reads AI only: add the Chinese wording yourself where the Chinese rules apply.
- South Korea, AI Basic Act Art. 31: from 22 January 2026 (with a grace period of at least a year before fines), generative-AI output must be indicated as such. When the indication is machine-readable, the operator must also tell the user at least once, in text or voice, that the output is AI-generated.
Honest limits
- Our root certificate is not on the C2PA Trust List. Other validators, such as the Content Authenticity Verify site or c2patool, will show our manifests as valid, not trusted (or an unknown source). This page trusts our own roots, listed below.
- The watermark survives recompression, resizing and mild colour or brightness changes. It does not survive cropping, rotation or heavy brightening of images with white backgrounds, and it does not resist a determined attacker who regenerates the image.
- The certificate that signs every manifest is autogovern.io's, not the marking organization's. Our registry records which organization issued each mark.
- There is no trusted time-stamp, so a manifest stops verifying when its signing certificate expires (five years after it was issued).
- The private key that signs our manifests, and the watermark key, are held in our database. Anyone who gained read access to it could sign manifests that this page reports as valid and signed with our certificate, until that signing certificate expires, and could forge or remove our watermark. There is no revocation list yet: every root we have issued stays trusted here.
- Marks prove what we signed and when. They do not prove the content is true, and a missing mark does not prove a person made the image: we can only detect our own watermark.
Verify independently
Download every root certificate we have issued (root.pem) and add it as a trust anchor in any C2PA validator; our manifests then read as trusted there too.
mk_20261016_25872f475e9a, valid to 2036-10-16
SHA-256 fingerprint:F8:4C:07:DE:E7:22:E6:14:BD:ED:04:11:F3:37:E5:8A:A1:1E:2C:A5:30:40:31:56:76:66:30:56:0B:96:55:BD
Mark your own images
Signed-in organization members can mark AI-generated images in the Workbench: AI Content Marking. We keep a hash of the marked file and which layers were applied, never the image.
Educational aid, not legal advice. Whether these layers meet a particular legal duty depends on your role and the law that applies.