La première fois que j'ai remarqué le problème, ce n'était pas du tout une histoire de filigrane Un utilisateur a collé un extrait de configuration d'un chat IA dans l'un de nos outils JSON et l'analyseur l'a rejeté avec une erreur pointant vers un personnage qui n'était pas là J'ai ouvert la chaîne dans une visionneuse de points de code et j'ai trouvé un espace de largeur nulle assis entre deux accolades, invisible dans chaque éditeur que j'ai essayé Le fichier avait l'air parfait et a été cassé Quand Anthropic a annoncé en août 2026 que la sortie de Claude' ; s porterait des marqueurs invisibles, la même classe de personnage est passée d'un accident de pâte occasionnel à quelque chose que les gens voulaient vérifier exprès, donc je construisément à quelque chose que les gens voulaient vérifier exprès, donc Démaquillant Claude cela montre chaque caractère caché dans un texte et supprime ceux à qui vous le dites.
tl;dr : Les Toolz Démaquillant Claude analyse le texte collé pour les caractères Unicode invisibles - espaces de largeur nulle, sélecteurs de variation, espaces non-cassants, marques directionnelles et autres points de code non-imprimants - met en évidence chacun d'eux en place avec son nom de point de code, et produit une copie nettoyée en un clic Il normalise également les guillemets intelligents et les tirets typographiques si vous le demandez La détection et la suppression exécutent toutes les deux côté client dans votre navigateur : rien de ce que vous collez n'est téléchargé, et l'outil fonctionne hors ligne une fois chargé.
Qu'est-ce qu'un filigrane de texte IA ?
Un filigrane de texte IA est un signal intégré dans le texte généré qui permet au logiciel d'identifier le texte tel qu'écrit ultérieurement. La version qui a fait l'actualité en août 2026 est au niveau des caractères : des points de code Unicode invisibles tissés entre des lettres visibles, n'ayant aucune signification qu'un lecteur peut voir. Couverture d'Anthropic' ; s déploiement décrit des marqueurs exactement de ce type aux côtés des métadonnées de provenance C2PA pour les images, la norme industrielle pour les informations d'identification de contenu maintenue par la Coalition for Content Provenance and Authenticity (Coalition for Content Provenance and Authenticity)https://c2pa.org/spécifications/spécifications/2.2/index.html).
Le marquage au niveau du caractère fonctionne car Unicode contient des centaines de points de code qui se rendent comme rien. Sélecteurs de variations, définis dans la norme Unicode pour sélectionner les variantes glyphiques du caractère qui les précède (https://www.unicode.org/faq/vs.html), afficher comme zéro pixel lorsqu'il est appliqué à des lettres ordinaires Des espaces et des menuisiers de largeur nulle existent pour contrôler la rupture de ligne et les ligatures Une séquence de ceux-ci déposés dans un paragraphe est invisible pour une personne et indubitable pour un scanner.
Deux choses découlent de cette conception, et les deux comptent pour la façon dont vous devriez la traiter Premièrement, les marques voyagent avec copier-coller, à travers des bases de données, dans des git commits, dans des pages publiées Deuxièmement, elles sont fragiles par nature : elles ne survivent pas au retapage, et elles peuvent casser des choses en chemin à travers des systèmes qui n'ont jamais été conçus pour les attendre.
Pourquoi les personnages invisibles brisent-ils les systèmes réels ?
Parce que la plupart des logiciels comparent les octets, pas les apparences Deux chaînes qui semblent identiques sont des clés différentes, des noms de fichiers différents et des valeurs différentes au moment où l'on porte un point de code caché Ce sont les échecs que j'ai vu avec mes propres journaux depuis que nous avons expédié le détecteur :
| Où il atterrit | Ce qui ne va pas |
|---|---|
| Configuration JSON ou YAML | Erreurs d'analyseur pointant vers un " ; valid" ; ligne ou clés qui ne correspondent pas silencieusement |
| Code source | Les compilateurs rejettent les identifiants ; les différences de révision de code ne montrent aucun changement visible |
| Bases de données | Des lignes d'apparence dupliquée que des contraintes uniques refusent de fusionner |
| Feuilles de calcul | VLOOKUP et rejoint les lignes manquées qui existent clairement |
| Limites de caractères | Les comptes gonflent : un tweet qui lit 270 caractères refuse de publier |
| URL et slugs | Liens 404 car le slug porte un caractère de largeur nulle |
| chercher | Ctrl+F ne trouve pas de phrase que vous regardez directement |
Le cas du nombre de caractères est celui que nous mesurons directement : notre compteur de mots compte les groupes de graphèmes, donc les points de code cachés ne gonflent pas sa figure de caractère visible, mais une plate-forme comptant les unités UTF-16 voit chacun d'eux. L’écart entre ces deux nombres est souvent le premier indice qu’un texte transporte quelque chose.
Que détecte le démoulant Claude ?
L'outil recherche chaque catégorie de caractères non imprimables qui apparaît dans le texte généré par l'IA et le traitement de texte, et pas seulement ceux liés à un seul fournisseur :
| Catégorie | Points de code | Pourquoi il est là |
|---|---|---|
| Caractères de largeur nulle | U+200B, U+200C, U+200D, U+FEFF | Contrôle des ruptures de ligne, comportement des menuisiers, marques d'ordre d'octets parasites |
| Sélecteurs de variations | U+FE00 à U+FE0F, U+E0100 à U+E01EF | Sélection des glyphes ; la gamme la plus citée dans les rapports sur les filigranes |
| Espaces spéciaux | U+00A0, U+2000 à U+200A, U+202F, U+3000 | Espaces non brisants et typographiques qui se lisent comme des espaces ordinaires |
| Marques directionnelles | U+200E, U+200F, U+202A à U+202E | Contrôle bidirectionnel du texte |
| Fuseau doux et menuisier de mots | U+00AD, U+2060 | Invisible sauf aux extrémités des lignes |
| Ponctuation typographique | Citations intelligentes, em et en tirets, points de suspension | Visible, mais révélateur quand vous vouliez un ASCII simple |
Chaque découverte est mise en évidence avec son nom et son point de code Unicode officiels, afin que vous puissiez voir exactement où se trouve avant de décider La suppression est par catégorie : supprimez les caractères de largeur nulle et les sélecteurs de variation, conservez les espaces non révolutionnaires si votre mise en page en a besoin, convertissez la ponctuation typographique en ASCII simple ou laissez-la stylisée Le texte nettoyé et un décompte de ce qui a changé sortent de l'autre côté.
Comment puis-je vérifier le texte pour les caractères de filigrane cachés ?
- Collez le texte dans le détecteur. Tout s'exécute dans votre navigateur, donc les brouillons, le travail client et les copies non publiées peuvent être collés en toute sécurité.
- Lire les faits saillants Chaque caractère invisible se montre comme un jeton marqué avec son nom de point de code, dans son contexte, donc un espace légitime non-rupture dans une phrase française se distingue d'un espace de largeur nulle au milieu d'un mot anglais.
- Choisissez ce qu'il faut supprimer La valeur par défaut supprime les caractères sans fonction visible et laisse la typographie visible seule.
- Copiez la sortie nettoyée et vérifiez les comptes avant et après si vous souhaitez une preuve de ce qui reste.
Si vous préférez voir vous-même les points de code bruts, exécutez le texte à travers le Convertisseur Unicode(en), qui montre chaque caractère comme sa séquence d'échappement Le one-liner ci-dessous fait de même dans Node pour une vérification rapide des points :
const hidden = /[--︀-️]/g
const text = process.argv[2] ?? ''
console.log([...text.matchAll(hidden)].map(m =>
`U+${m[0].codePointAt(0).toString(16).toUpperCase().padStart(4, '0')} at index ${m.index}`
))
Un tableau vide signifie qu'aucune des plages cachées communes n'est présente Tout le reste vous indique le point de code et où il se trouve.
Est-il acceptable de supprimer les filigranes AI ?
Pour votre propre contenu, le nettoyage des caractères cachés est une hygiène de texte ordinaire, la même opération que le retrait des paramètres de suivi d'une URL que vous êtes sur le point de partager Vous avez invité le texte, vous l'avez modifié, vous le publiez sous votre propre nom, et vous en êtes responsable de toute façon ; les points de code invisibles qui brisent les analyseurs et gonflent les comptes sont un défaut de ce flux de travail, pas une caractéristique de celui-ci.
Le contrepoint honnête mérite d'être énoncé clairement : le marquage de provenance existe pour que les lecteurs, les plateformes et les chercheurs puissent distinguer le texte machine du texte humain à grande échelle, et c'est un objectif légitime Supprimer des marqueurs du texte afin de passer la détection là où l'écriture IA est interdite - un essai gradué, une publication avec une politique de divulgation, un marché qui interdit les avis générés - est une violation de la politique avec ou sans le filigrane, et supprimer des caractères ne change pas ce qu'est le texte Les détecteurs qui travaillent sur des motifs statistiques plutôt que sur des caractères cachés ne sont pas affectés par le nettoyage, ce qui vaut la peine d'être connu avant que quiconque traite un gommage de caractère comme anonymat Notre position est ennuyeuse : divulguer ce qui nécessite, et garder votre texte publié libre de caractères n'y avoir choisi.
Le nettoyage change-t-il la lecture du texte ?
Non. La suppression des caractères de largeur nulle et des sélecteurs de variation supprime les points de code qui étaient rendus comme rien, de sorte que le texte visible est identique au caractère Les deux modifications auxquelles vous pouvez opter sont visibles de par leur conception : conversion de guillemets intelligents et de tirets typographiques en leurs équivalents ASCII, et effondrement d'espaces exotiques en espaces ordinaires Les deux sont désactivés par défaut et chacun affiche un nombre de remplacements, donc rien ne change silencieusement Le convertisseur de cas se marie bien immédiatement après un nettoyage lorsque vous normalisez également des titres ou des identifiants.
Qu'en est-il du C2PA et des filigranes d'image ?
Le texte et les images sont marqués différemment Les images des générateurs d'IA portent de plus en plus d'identifiants de contenu C2PA : des métadonnées signées décrivant comment le fichier a été fait, intégré dans le conteneur de fichiers plutôt que dans les pixels C'est des métadonnées dans le même sens structurel que la caméra EXIF, et la même discipline s'applique - sachez ce qu'un fichier transporte avant de le publier Notre Démolisseur EXIF affiche chaque champ de métadonnées dans une photo et supprime ce que vous choisissez, entièrement dans le navigateur ; le guide d'image des métadonnées couvre ce côté dans la même profondeur que celui-ci couvre le texte.
En quoi est-ce différent d’une simple recherche et remplacement ?
Vous ne pouvez pas saisir un caractère invisible dans un champ de recherche, ce qui fait du remplacement manuel un jeu de devinettes sur quelques centaines de points de code candidats Une bande regex aveugle de tout ce qui n'est pas ASCII est l'autre fossé : elle détruit les noms accentués légitimes, les symboles de devises et le texte non latin avec le bruit Le détecteur' ; son travail est le chemin du milieu - nommez chaque caractère caché qu'il trouve, dans son contexte, et laissez-vous supprimer les catégories avec intention Pour la même raison, évitez " ; cleaners" ; qui téléchargez votre texte sur un serveur pour le traiter ; le texte que vous nettoyez est généralement exactement le texte que vous n'avez pas encore publié. Cet outil est client-side-par la construction collection privacy-first.
Questions fréquentes
Questions courantes sur les personnages invisibles et le nettoyage du texte de l'IA, répondu à la façon dont nous y répondons en support.



