OpenAI Sora attache un manifest C2PA Content Credentials à chaque image fixe et frame vidéo qu’il produit. Ce manifest contient la chaîne claim_generator, le certificat de signature et des assertions horodatées qui relient la sortie à votre compte OpenAI. Dès que vous partagez une frame Sora sur les réseaux ou dans un dossier client, le manifest part avec — n’importe quel viewer C2PA gratuit peut le lire. GhostMeta détecte la signature Sora dans le segment APP11 du JPEG, vous montre le contenu, puis le retire via re-encodage canvas. Dans un JPEG Sora, le manifest est réparti sur un ou plusieurs segments APP11 qui se recomposent en une seule superbox JUMBF : une box claim c2pa, une assertion de hash en hard binding liée aux pixels et une box de signature portant une signature COSE adossée à une chaîne de certificats. Comme le lien est un hash, un simple recadrage ou filtre appliqué plus tard laisse un manifest cassé mais toujours présent, qu’un viewer signale comme « altéré » plutôt qu’absent — ce qui peut paraître plus louche qu’un credential intact. Les banques d’images et régies publicitaires qui scannent les fichiers à l’ingestion lisent de plus en plus cette box et finissent par labelliser l’asset, le basculer en revue manuelle ou le rejeter, si bien qu’une seule frame Sora non nettoyée peut bloquer toute une soumission groupée.
Cette page concerne les images fixes, pas la vidéo : GhostMeta ne traite ni MP4, ni MOV, ni WebM. Sur un JPEG ou un PNG issu de l’écosystème Sora, le manifeste C2PA et les couches EXIF, IPTC et XMP sont retirés par réencodage dans le navigateur. L’empreinte détenue par l’émetteur n’est pas affectée.
Sora produit d’abord de la vidéo. GhostMeta ne traite pas la vidéo : ni MP4, ni MOV, ni WebM. Ce que cette page couvre, ce sont les images fixes issues de l’écosystème : une exportation d’image, une capture de vignette, une trame extraite par vos soins et enregistrée en JPEG ou en PNG.
Si votre fichier est une vidéo, aucun traitement effectué ici ne s’y applique. Le dire d’emblée évite une perte de temps, et un outil qui laisse croire le contraire vous rendrait un mauvais service.
OpenAI attache des Content Credentials C2PA à ses sorties d’images, sous la forme d’un bloc JUMBF signé inséré dans le fichier. Ce bloc est une métadonnée : le réencodage par canvas ne le reconduit pas, et l’image obtenue ne présente plus de manifeste à un vérificateur de provenance.
Ce retrait ne touche ni les empreintes conservées côté serveur par l’émetteur, ni un éventuel marquage au niveau pixel. Les pratiques des éditeurs évoluent d’une version à l’autre : la seule garantie tenable porte sur ce que contient le fichier que vous déposez, et vous pouvez le constater avant nettoyage avec le lecteur de métadonnées.
Si vous partez d’une vidéo, il faut d’abord en tirer une image fixe : une capture d’écran ou une extraction de trame avec un lecteur ou un utilitaire vidéo. Le fichier obtenu est un JPEG ou un PNG, donc traitable ici.
Attention toutefois : une trame extraite hérite du rendu, filigrane visible compris s’il y en avait un. Le nettoyage retire ce que porte le nouveau fichier en métadonnées, pas ce qui était imprimé dans l’image.
| Type de fichier | Traité | Remarque |
|---|---|---|
| JPEG, PNG | Oui | Métadonnées et manifeste C2PA retirés |
| WebP | Oui | Réencodage navigateur |
| MP4, MOV, WebM | Non | La vidéo est hors périmètre |
| Empreinte côté serveur | Non | Hors du fichier |
Le manifest C2PA de Sora contient la chaîne claim_generator, la chaîne de certificats de signature et des assertions horodatées. Il n’embarque pas votre email OpenAI par défaut, mais la chaîne relie la sortie à OpenAI comme producteur.
Oui. Le manifest C2PA est stocké dans des conteneurs metadata — sa suppression n’affecte pas le stream H.264/H.265. Pour les frames extraites en stills, GhostMeta traite le JPEG normalement.
Non — c’est l’objectif. Le C2PA est une chaîne de provenance. Une fois retiré, aucun outil tiers ne peut prouver que l’image vient de Sora. Ne strip que si vous contrôlez le contexte de publication.
Elles se trouvent dans les segments marqueur APP11, pas APP1 (qui porte l’EXIF/XMP). Le C2PA répartit un manifest de plus de 64 Ko sur plusieurs segments APP11 qu’un lecteur recompose en une seule box JUMBF, identifiée par le marqueur « JP » et un numéro d’instance. GhostMeta parcourt la liste des segments JPEG, reconnaît chaque fragment APP11 comme partie du manifest Sora et les supprime tous au re-encodage canvas, sans laisser de box partielle.
Non. Un recadrage simple ne change que les pixels ; le manifest APP11 est recopié tel quel par la plupart des éditeurs. Pire, le hash de hard binding ne correspond plus aux nouveaux pixels, donc un viewer C2PA signale l’asset comme « modifié » plutôt que propre. Pour vraiment l’effacer il faut retirer la box JUMBF, ce que fait GhostMeta en ré-encodant depuis un canvas nu sans aucune métadonnée reportée.
GhostMeta retire tout ce qui est stocké dans le fichier : le manifest APP11/JUMBF, plus tout EXIF, XMP ou IPTC. Ce qu’il ne peut pas retirer, c’est un soft binding — une empreinte que Sora peut calculer à partir des pixels et enregistrer côté serveur — car ce n’est pas une donnée présente dans votre fichier et elle survivrait au re-encodage. Pour la provenance basée sur les métadonnées, en revanche, une frame ré-encodée ne porte plus aucun C2PA lisible.