Les images produites par ChatGPT (GPT-4o image, GPT-Image-1) portent un manifest C2PA dans le chunk PNG caBX annonçant OpenAI comme claim_generator. Le manifest contient aussi un horodatage de signature et un hash content_binding qui identifie uniquement le fichier. Si vous publiez une image ChatGPT sur un marketplace, en post social ou en thumbnail, cette empreinte devient un primitif de tracking. GhostMeta affiche la signature OpenAI puis la retire via re-encodage canvas. ChatGPT peut exporter la même image en PNG ou en JPEG, et son pipeline écrit le manifest C2PA Content Credentials dans le conteneur choisi — le chunk PNG caBX ou le segment JPEG APP11. C’est la même charge encodée en JUMBF dans les deux cas : choisir le JPEG plutôt que le PNG à l’export ne nettoie donc pas le fichier. Le manifest embarque aussi une assertion IPTC digitalSourceType fixée à « trainedAlgorithmicMedia », le champ qu’un nombre croissant de marketplaces print-on-demand et stock analysent pour repérer les uploads IA. GhostMeta efface toute la couche manifest en un seul re-encodage canvas, quel que soit le format exporté.
Une image téléchargée depuis ChatGPT porte des Content Credentials C2PA, et parfois des chunks de texte PNG. GhostMeta retire le manifeste, les chunks et les couches EXIF ou XMP résiduelles en une opération, dans votre navigateur. Nettoyez en dernier, juste avant publication : tout recadrage ultérieur réinscrira les champs de l’outil employé.
Une image récupérée depuis une conversation arrive en PNG ou en JPEG selon le mode d’export. OpenAI attache des Content Credentials C2PA à ses sorties : le fichier contient donc un manifeste signé déclarant qu’il a été produit par un modèle.
Selon le chemin d’export, un PNG peut aussi porter des chunks de texte tEXt ou iTXt. Ces chunks sont du texte libre : c’est là que se retrouvent, le cas échéant, des éléments de génération. Le lecteur de métadonnées affiche ce que votre fichier contient réellement, ce qui vaut mieux que de supposer.
Le cas courant est simple : vous voulez publier ou intégrer l’image sans transporter son historique de génération. Le réencodage retire le manifeste, les chunks de texte et toute couche EXIF ou XMP résiduelle, en une opération.
La limite est celle de toutes les pages de ce site : ce qui vit dans les pixels reste dans les pixels, et ce qui vit sur les serveurs de l’émetteur n’est pas accessible depuis un navigateur. Le nettoyage traite le fichier que vous avez en main.
Le cas typique est une illustration d’article, une vignette ou un visuel de présentation. L’image part alors sur un site, dans un document ou dans une pièce jointe, souvent sans repasser par personne.
Nettoyez à ce moment-là, pas avant : si vous recadrez ou compressez après coup, l’outil employé réinscrira ses propres champs. Le nettoyage est la dernière étape utile de la chaîne.
| Élément | Support | Retiré |
|---|---|---|
| Manifeste C2PA | Métadonnée du fichier | Oui |
| Chunks tEXt, iTXt | Métadonnée PNG | Oui |
| EXIF, XMP résiduels | Métadonnée du fichier | Oui |
| Empreinte côté serveur | Hors du fichier | Non |
| Marquage pixel éventuel | Pixels | Non |
Depuis Q3 2024 toute image générée via ChatGPT consumer ou API inclut un manifest C2PA. Le label persiste à travers les conversions de format sauf strip explicite.
Le manifest nomme OpenAI comme producteur, pas l’utilisateur final. Cependant la chaîne de signature plus l’assertion time-of-creation est suffisamment unique pour fingerprinter une session.
Un screenshot OS ne propage pas le manifest mais perd la qualité originale. GhostMeta garde les pixels originaux et ne retire que les métadonnées.
Non. Le pipeline d’export de ChatGPT écrit la même charge C2PA encodée en JUMBF dans le segment JPEG APP11 au lieu du chunk PNG caBX — le manifest voyage intact d’un conteneur à l’autre, le choix du format n’y change rien. Un convertisseur tiers pourra le retirer ou le conserver selon l’outil, de façon imprévisible. GhostMeta retire la box de façon fiable en décodant sur un canvas puis en ré-encodant sans aucun segment de métadonnées.
Le manifest d’OpenAI inclut une assertion content_binding : un hash cryptographique calculé sur les données de l’image au moment de la génération, si bien que deux sorties visuellement identiques portent des bindings différents. Comme il est unique par fichier, il peut en principe être journalisé puis recoupé pour relier une image publiée à un unique événement de génération. GhostMeta retire le manifest entier, ce hash compris, de sorte que plus rien dans le fichier ne le relie à son origine.
Un nombre croissant de plateformes print-on-demand, stock et microstock analysent l’assertion IPTC digitalSourceType du manifest C2PA, que ChatGPT fixe à trainedAlgorithmicMedia. Un filtre d’admission automatisé peut lire ce seul champ et signaler, démoter ou rejeter l’upload, indépendamment des pixels. Une fois que GhostMeta a retiré le manifest caBX/APP11, cette assertion n’existe plus dans le fichier.