Images produced by ChatGPT (GPT-4o image, GPT-Image-1) carry a C2PA manifest in the PNG caBX chunk announcing OpenAI as the claim_generator. The manifest also contains a signing timestamp and a content_binding hash that uniquely identifies the file. If you publish a ChatGPT image on a marketplace, social post, or thumbnail, that fingerprint becomes a tracking primitive. GhostMeta surfaces the OpenAI signature, then strips it via canvas re-encode. ChatGPT can export the same image as PNG or JPEG, and its pipeline writes the C2PA Content Credentials manifest into whichever container you pick — the PNG caBX chunk or the JPEG APP11 segment. It is the same JUMBF-encoded payload either way, so choosing JPEG over PNG at export time does not clean the file. The manifest also carries an IPTC digitalSourceType assertion set to "trainedAlgorithmicMedia", the field a growing number of print-on-demand and stock marketplaces parse to flag AI uploads. GhostMeta wipes the whole manifest layer in one canvas re-encode, whichever format you exported.
Since 2024-Q3 every image generated through ChatGPT consumer or API includes a C2PA manifest. The label persists across format conversions unless explicitly stripped.
The manifest names OpenAI as producer, not the end user. However the signing chain plus the time-of-creation assertion is unique enough to fingerprint a session.
A screenshot via the OS does not carry the manifest forward, but loses original quality. GhostMeta keeps the original pixels and only strips metadata.
No. ChatGPT's export pipeline writes the same JUMBF-encoded C2PA payload into the JPEG APP11 segment instead of the PNG caBX chunk — the manifest travels intact between containers, so the format choice alone changes nothing. A third-party converter may strip it or keep it depending on the tool, which is unpredictable. GhostMeta reliably drops the box by decoding to canvas and re-encoding without any metadata segment.
OpenAI's manifest includes a content_binding assertion: a cryptographic hash computed over the image data at generation time, so two visually identical outputs still carry different bindings. Because it is unique per file, it can in principle be logged and later matched to tie a published image back to a single generation event. GhostMeta strips the entire manifest, that hash included, so nothing in the file links it to its origin.
A growing number of print-on-demand, stock, and microstock platforms parse the C2PA manifest's IPTC digitalSourceType assertion, which ChatGPT sets to trainedAlgorithmicMedia. An automated intake filter can read that single field and flag, demote, or reject the upload regardless of the pixels. Once GhostMeta strips the caBX/APP11 manifest, that assertion no longer exists in the file.