Les textes générés par une IA contiennent souvent des caractères Unicode invisibles — le plus souvent des espaces insécables et des espaces fines insécables. Mais ce sont de simples sous-produits de la mise en forme, pas un filigrane caché. Le véritable tatouage de texte existe et fonctionne en orientant statistiquement le choix des mots, sans laisser de caractères particuliers à détecter. Vous pouvez vérifier n’importe quel texte vous-même en quelques secondes.
L’affirmation, et pourquoi elle s’est répandue
Tous les quelques mois, une publication devient virale en montrant que le texte copié depuis ChatGPT contient des caractères cachés, avec pour conclusion qu’OpenAI tatoue secrètement ses réponses pour pouvoir les tracer.
L’observation est réelle. La conclusion, elle, n’est pas étayée.
Ce que les gens trouvent est authentique : collez une réponse de chat dans un inspecteur de caractères et vous verrez fréquemment des points de code qui ne s’affichent pas. Le raccourci se produit dans l’interprétation. Un filigrane doit résister à l’édition, être difficile à supprimer et encoder une information. Des caractères qui disparaissent dès qu’on lance un rechercher-remplacer, et qui ne transportent aucune donnée récupérable, ne remplissent aucune de ces conditions.
Ce que le texte contient réellement
Les caractères invisibles qui apparaissent dans les textes IA sont, dans l’immense majorité des cas, de simples caractères typographiques :
| Caractère | Point de code | Pourquoi il apparaît |
|---|---|---|
| Espace insécable | U+00A0 | Garde un nombre et son unité sur la même ligne |
| Espace fine insécable | U+202F | Espacement fin avant la ponctuation et dans les nombres |
| Espace sans chasse | U+200B | Indications de saut de ligne, souvent héritées du web |
| Césure conditionnelle | U+00AD | Marque où un mot peut être coupé en fin de ligne |
| Indicateur d’ordre des octets (BOM) | U+FEFF | Artefact d’encodage provenant d’un fichier en amont |
Chacun a une fonction typographique légitime et chacun existe depuis des décennies, bien avant les modèles de langage. Ils arrivent par les mêmes voies que toujours : le modèle les a appris dans des textes d’entraînement qui les contenaient, l’interface de chat affiche le résultat mis en forme en HTML, et copier depuis une page web rendue emporte tout ce que le balisage contenait.
Cette dernière voie compte plus qu’on ne le pense. Une grande partie de ce qui est attribué au modèle est en réalité introduit par la copie depuis le navigateur, pas par la génération. Copier la même réponse via l’API donne fréquemment un texte plus propre qu’en la copiant depuis la fenêtre de chat.
Le tatouage des textes IA existe-t-il vraiment ?
Oui — mais il ne fonctionne pas comme le supposent les publications virales.
SynthID-Text de Google DeepMind est l’approche la mieux documentée, publiée dans Nature en 2024. Elle consiste à orienter subtilement les mots échantillonnés par le modèle à chaque étape, de sorte que le texte final porte une signature statistique détectable par un vérificateur adapté. Aucun caractère spécial n’est impliqué. Rien n’est inséré. Le filigrane réside dans le choix de mots ordinaires, c’est pourquoi il survit à la copie et aux retouches légères, et pourquoi vous ne pouvez pas le trouver en inspectant des points de code.
OpenAI a publiquement évoqué ses recherches sur le tatouage de texte, sans avoir déployé d’implémentation confirmée côté utilisateur pour les réponses de ChatGPT.
La conséquence pratique va à l’encontre de la panique : si un modèle que vous utilisez est tatoué, supprimer les caractères invisibles ne retirera pas le filigrane. Et si vous trouvez des caractères invisibles, ce n’est pas une preuve de tatouage — c’est une preuve de mise en forme.
Pourquoi les caractères invisibles posent quand même problème
Filigrane ou pas, vous voulez généralement les éliminer, car ils cassent les choses silencieusement :
- La recherche et le rechercher-remplacer échouent. Une espace sans chasse entre deux lettres fait que la recherche du mot ne trouve rien, sans raison visible.
- La validation de formulaire rejette la saisie. Une adresse e-mail ou une clé de licence suivie d’une espace insécable échoue à une comparaison qui semble correcte à l’écran.
- Le code ne compile ni ne s’analyse. Une espace insécable à la place d’une espace normale produit une erreur de syntaxe pointant vers une ligne qui paraît parfaitement correcte.
- Les imports CSV se corrompent. Un indicateur BOM se colle au premier en-tête de colonne, et le premier champ ne correspond plus, sans message d’erreur.
- Des doublons apparaissent. Deux entrées visuellement identiques sont des chaînes différentes, et la déduplication les ignore.
Ces pannes sont particulièrement agaçantes parce que le texte semble correct. Tous les réflexes de débogage pointent ailleurs.
Comment vérifier et nettoyer votre propre texte
Collez le texte dans le scanner de caractères invisibles. Il signale chaque espace sans chasse, césure conditionnelle, indicateur BOM et marque directionnelle trouvée, avec un comptage par type, et les supprime sur demande. Rien ne quitte votre navigateur — l’analyse s’exécute localement.
Pour une vue d’ensemble, le nettoyeur de textes IA traite les caractères invisibles en même temps que les tirets cadratins, les guillemets courbes et les emojis en une seule passe.
Une bonne habitude à prendre : lancez la vérification chaque fois qu’un texte franchit la frontière entre deux systèmes. D’une fenêtre de chat vers un éditeur de code, d’une page web vers un tableur, d’un PDF vers un formulaire. C’est là que les caractères invisibles font des dégâts, et c’est le moment où ils coûtent le moins cher à supprimer.
Pour la liste complète de ces caractères et de leur rôle, consultez la référence sur l’Unicode invisible.
Questions fréquentes
ChatGPT tatoue-t-il ses textes avec des caractères invisibles ?
Rien ne le prouve. Les caractères invisibles trouvés dans les réponses de ChatGPT sont de simples caractères typographiques, comme les espaces insécables et fines insécables, qui existent depuis des décennies et ne transportent aucune donnée. Ils disparaissent en outre avec le moindre nettoyage, ce qui les rendrait inutilisables comme filigrane.
Un texte généré par une IA peut-il être tatoué ?
Oui. SynthID-Text de Google DeepMind, publié dans Nature en 2024, oriente le choix des mots du modèle pour que le texte porte une signature statistique. Il n’insère aucun caractère spécial : l’inspection des points de code ne le révèlera jamais, et supprimer les caractères invisibles ne le retire pas.
Pourquoi le texte copié depuis ChatGPT contient-il des caractères cachés ?
Principalement parce que vous copiez du HTML rendu depuis une page web. L’interface de chat affiche un texte mis en forme, et la copie emporte les caractères d’espacement utilisés par cette mise en forme. Récupérer la même réponse via l’API produit souvent un texte nettement plus propre.
Comment trouver les caractères invisibles dans mon texte ?
Collez-le dans un scanner qui liste les points de code, comme notre scanner de caractères invisibles. Il identifie chaque type de caractère invisible présent, les compte et les supprime sur demande, entièrement dans votre navigateur.
Les caractères invisibles sont-ils dangereux ?
Pas dangereux, mais réellement perturbateurs. Ils cassent la recherche, font échouer la validation des formulaires, provoquent des erreurs de syntaxe dans le code, corrompent les en-têtes CSV et créent des doublons visuellement identiques. Comme le texte paraît normal, ces bugs sont particulièrement difficiles à diagnostiquer.