Skip to content
AI Image Disclosure
Esc
↑↓navigate↵open⌘Jpreview
On this page

Classification

See how valid C2PA evidence maps to generated, modified, or unknown.

The package uses C2PA claims only when the manifest validation state is Valid or Trusted. The detector follows the active manifest and parent ingredients.

C2PA evidence Stored value
c2pa.created with IPTC trainedAlgorithmicMedia generated
c2pa.edited with an AI source type modified
IPTC compositeWithTrainedAlgorithmicMedia modified
No usable manifest or no positive AI evidence Empty
Invalid or unreadable C2PA data Existing manual values are preserved

Composite evidence takes precedence. An image created entirely by AI and then edited without a composite source remains generated. An AI edit signal without that creation evidence is modified.

The parser also recognizes compositedWithTrainedAlgorithmicMedia, a spelling found in some C2PA guidance. It reads c2pa.metadata with namespaced Iptc4xmpExt:DigitalSourceType, plus the legacy stds.iptc and stds.iptc.photometadata labels. A componentOf AI ingredient marks the result modified only when the component is placed in the resulting claim and not subsequently removed. The reference is resolved within its owning manifest; inputTo ingredients and unrelated history do not count.

aiGenerator is populated only from the softwareAgent on the relevant AI action. The credential’s claim_generator_info identifies software that created the Content Credential and is not treated as the image generator.

Replacing a file

  • Valid positive AI evidence sets an automatic value and source C2PA.
  • A valid credential without recognised AI evidence clears a previous automatic value.
  • Missing or invalid credentials also clear previous automatic values.
  • Manual values remain untouched until an editor chooses Resume automatic detection.

Why the package does not guess

The package does not use a visual AI classifier or unsigned XMP and EXIF tags to decide whether an image is AI-generated. It reads signed claims and, if you install and enable the OpenAI integration, checks for a supported watermark.

Neither check guarantees that every AI-generated image will be identified. A valid signature does not guarantee that every claim is true. Missing credentials and negative watermark results leave the origin unknown.

The optional OpenAI watermark check checks OpenAI SynthID watermarks only when no C2PA metadata is present. It records separate aiWatermark evidence and never guesses generated versus modified from a watermark alone.

Was this page helpful?