À partir d’août 2026, chaque bloc de texte généré par Claude porte un filigrane invisible. Il n’apparaît pas dans le texte, n’est pas détecté par la correction orthographique et survit au copier-coller. Anthropic l’a conçu pour permettre de relier un texte au modèle utilisé : la signature est distribuée statistiquement dans les choix de mots.
Essayez Apidog dès aujourd’hui
Si vous possédez le contenu généré et souhaitez supprimer cette empreinte, le projet open source watermarks-remover fournit des scripts pour nettoyer les caractères invisibles, les métadonnées de fichiers et, avec des limites importantes, réécrire le texte. Ce guide présente le fonctionnement du filigrane de Claude, l’installation du projet et les commandes à utiliser.
Utilisez ces techniques pour l’hygiène et la confidentialité de vos propres contenus. Supprimer une marque pour contourner une obligation de divulgation, commettre une fraude académique ou faire passer un contenu généré par IA pour humain peut enfreindre des règles institutionnelles, contractuelles ou légales.
En bref
- Filigrane statistique : Claude influence ses choix de mots selon une clé secrète. La signature est répartie sur le passage ; ce n’est pas un caractère caché à rechercher.
- Métadonnées de provenance : les fichiers peuvent également contenir des manifestes C2PA, ainsi que des métadonnées EXIF, XMP ou de document.
- Ce qui survit : le filigrane statistique survit au copier-coller, mais se dégrade avec la paraphrase, la traduction et les modifications importantes.
- Passages courts et code : le signal est souvent faible, voire absent, car ces contenus offrent moins de choix statistiques.
- Couche A — nettoyage déterministe : supprime les caractères Unicode invisibles, les espaces exotiques, les contrôles bidirectionnels et les caractères de balisage. Cette opération est rapide, testable et sans perte.
- Couche B — réécriture statistique : réécrit le texte pour perturber la signature statistique. Il s’agit d’un effort au mieux, avec un risque de perte de style et de précision.
- Fichiers pris en charge : PNG, JPEG, SVG, PDF, DOCX, ODT, HTML et Markdown.
- Compromis principal : supprimer les métadonnées est généralement sans impact sur le contenu ; supprimer une signature statistique nécessite de modifier le contenu lui-même.
Comprendre le filigrane de Claude
Le filigrane de texte de Claude n’est pas constitué d’espaces de largeur nulle ou de glyphes inhabituels. Il n’y a donc pas de caractère spécial à localiser dans votre éditeur.
Lors de la génération, Claude sélectionne le jeton suivant parmi plusieurs candidats statistiquement proches. Le filigrane biaise ces sélections selon une clé secrète. Sur un texte suffisamment long, les choix s’accumulent et forment une signature détectable.
Cette conception entraîne deux conséquences :
- Le copier-coller ne suffit pas à supprimer la marque. Le signal est intégré au choix des mots, et non aux métadonnées de l’application.
- Les modifications peuvent dégrader la marque. Une paraphrase, une traduction ou une réécriture importante modifie les choix de mots et réduit le signal.
Anthropic a déployé ce mécanisme au niveau du modèle à partir du 2 août 2026. Les applications Claude, l’API, Claude Code et les accès tiers via AWS, Google Cloud et Microsoft Foundry émettent donc la marque. Anthropic a également indiqué qu’une API de détection devait être proposée.
Pour suivre l’évolution de la gamme de modèles et des politiques d’accès d’Anthropic, consultez Fable 5 est hors service pour tout le monde.
Une détection positive signifie seulement que le texte pourrait être passé par Claude. Elle ne prouve pas une fraude : une traduction, une relecture ou un résumé peuvent produire un résultat similaire.
Deux types de marques, deux méthodes
watermarks-remover sépare le nettoyage en deux couches, car les mécanismes ciblés sont différents.
Couche A : supprimer les caractères invisibles
La première couche cible notamment :
- les espaces de largeur nulle ;
- certains espaces Unicode inhabituels ;
- les contrôles de texte bidirectionnel ;
- les caractères de balisage Unicode ;
- d’autres caractères invisibles pouvant être ajoutés par des outils ou des pipelines.
Cette couche fonctionne en Python pur, sans modèle d’IA. Elle est donc déterministe, testable et sans perte : le texte visible reste inchangé.
Couche B : réécrire le texte
Le filigrane statistique repose sur les mots eux-mêmes. Pour le perturber, il faut donc réécrire les phrases.
Le projet précise que cette méthode est un effort au mieux, et non une garantie. Une réécriture peut :
- aplatir le style ;
- modifier le sens d’un passage technique ;
- introduire des erreurs ;
- nécessiter un autre modèle et des jetons supplémentaires.
Nettoyer les métadonnées des fichiers
Indépendamment du filigrane statistique, l’outil peut supprimer :
- les manifestes C2PA ;
- les métadonnées EXIF ;
- les métadonnées XMP ;
- les propriétés de document.
C2PA est un manifeste signé associé à un fichier. Contrairement à une signature statistique intégrée au texte, ces métadonnées sont souvent supprimées par un réenregistrement, une conversion de format ou une capture d’écran.
Le projet couvre les marques de Claude, Gemini/SynthID-Text, OpenAI et certains filigranes open source de type Kirchenbauer avec une architecture similaire. Les filigranes d’image intégrés aux pixels, comme SynthID, ne sont pas supprimés. Le projet peut éventuellement les évaluer via une configuration externe de reverse-SynthID.
Cas où le filigrane est déjà faible
Avant de réécrire un texte, vérifiez si une suppression est réellement nécessaire.
Passages courts
Quelques phrases ne contiennent pas suffisamment de choix de jetons pour accumuler une confiance statistique élevée. Les détecteurs ont besoin d’un texte assez long.
Code source
Le code offre généralement moins de choix que la prose. Les formateurs, linters et outils de refactoring modifient ensuite la structure et réduisent encore le signal. Dans la pratique, le filigrane sur une sortie de Claude Code est souvent faible.
Texte fortement édité
Si vous avez déjà réécrit une partie importante du texte, vous avez peut-être dégradé le motif sans le vouloir.
Métadonnées C2PA
Une conversion de format ou un nouvel enregistrement élimine souvent les manifestes C2PA.
La portée réaliste d’une tâche de suppression est donc principalement la suivante : nettoyer une prose longue restée proche de la sortie originale et supprimer les métadonnées de fichiers.
Installer watermarks-remover
Le dépôt fournit une compétence d’agent ainsi que des scripts Python autonomes. Python 3.10 ou une version ultérieure est requis. Les opérations de base sur le texte et les métadonnées utilisent uniquement la bibliothèque standard.
git clone https://github.com/guillaumemeyer/watermarks-remover.git
cd watermarks-remover
Pour utiliser la compétence d’agent avec un répertoire de compétences de type Grok :
mkdir -p ~/.grok/skills
ln -sfn "$(pwd)/skills/remove-ai-marks" ~/.grok/skills/remove-ai-marks
Pour appeler directement les scripts, définissez une variable d’environnement :
export SCRIPTS="$(pwd)/skills/remove-ai-marks/scripts"
Deux outils optionnels peuvent compléter le nettoyage :
-
c2patoolpour inspecter les manifestes C2PA ; -
exiftoolpour rechercher et supprimer des métadonnées d’image résiduelles.
Ils ne sont pas nécessaires pour le flux de travail principal.
Inspecter un fichier avant toute modification
Commencez par inspecter le fichier. Cette étape permet de vérifier ce qui est réellement présent avant de modifier des octets.
python3 "$SCRIPTS/inspect_file.py" draft.md
L’inspecteur signale les caractères invisibles, les blocs de métadonnées et les manifestes de provenance sans modifier le fichier.
Si le fichier est déjà propre, vous pouvez arrêter le processus. Dans le cas contraire, l’inspection vous aide à choisir la couche appropriée.
Nettoyer le texte avec la couche A
Pour supprimer les caractères Unicode invisibles et autres marques déterministes :
python3 "$SCRIPTS/clean_text.py" draft.md -o draft.cleaned.md --stats
L’option --stats affiche un résumé des éléments trouvés et supprimés.
L’option -o écrit le résultat dans un nouveau fichier. Conservez l’original jusqu’à la validation du résultat.
Cette commande cible notamment :
- les caractères Unicode invisibles ;
- les espaces exotiques ;
- les contrôles bidirectionnels ;
- les caractères de balisage.
Elle ne réécrit pas la prose visible. Pour les caractères de suivi cachés, cette étape constitue généralement l’intégralité du traitement nécessaire.
Supprimer les métadonnées d’un fichier
Pour nettoyer les métadonnées d’une image ou d’un document :
python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
Les formats pris en charge sont :
- PNG ;
- JPEG ;
- SVG ;
- PDF ;
- DOCX ;
- ODT ;
- HTML ;
- Markdown.
Si exiftool est installé et que vous souhaitez effectuer un nettoyage supplémentaire sur une image :
exiftool -all= photo.cleaned.png
Vous pouvez ensuite vérifier le résultat avec :
c2patool photo.cleaned.png
Si votre seule préoccupation est un manifeste C2PA, une conversion de format ou un réenregistrement peut parfois suffire. Le script fournit toutefois une opération explicite et reproductible.
Couche B : réécrire pour perturber le filigrane statistique
La réécriture est la partie la plus délicate, car elle modifie nécessairement le contenu.
Pour préparer une demande de paraphrase sans appeler directement un modèle :
python3 "$SCRIPTS/rewrite_text.py" draft.md \
--backend print-prompt \
--strength paraphrase
--backend print-prompt affiche l’invite à utiliser. Vous gardez ainsi le contrôle du modèle et du service qui effectueront la réécriture.
--strength définit l’intensité de la reformulation.
Avant d’utiliser cette couche, vérifiez les compromis :
- Style : la voix et les formulations originales peuvent disparaître.
- Précision : une reformulation technique peut modifier subtilement le sens.
- Coût : vous utilisez un modèle supplémentaire pour réécrire la sortie d’un autre modèle.
- Garantie : la suppression du signal n’est pas garantie.
Dans la plupart des cas légitimes, commencez donc par la couche A et le nettoyage des fichiers. N’utilisez la couche B que si vous avez une raison précise, légitime et documentée, et si vous acceptez de relire entièrement le résultat.
Vérifier le résultat
Après le nettoyage du texte, relancez l’inspecteur :
python3 "$SCRIPTS/inspect_file.py" draft.cleaned.md
Pour vérifier un manifeste C2PA :
c2patool photo.cleaned.png
La vérification du filigrane statistique est différente. Vous ne possédez pas la clé secrète d’Anthropic et ne pouvez donc pas confirmer vous-même l’absence de la signature. L’API de détection annoncée par Anthropic constituera le test approprié lorsqu’elle sera disponible.
En attendant, considérez les résultats de la couche B comme non confirmés. Pour un pipeline automatisé, ajoutez au minimum des tests qui vérifient :
- l’absence de caractères invisibles ;
- la présence ou l’absence attendue de métadonnées ;
- la conservation du contenu visible ;
- la validité du format de sortie.
Vous pouvez intégrer ces contrôles dans un outil de test d’API comme Apidog, afin d’exécuter les mêmes vérifications à chaque passage. Pour une approche plus générale du test de points de terminaison basés sur des modèles, consultez Comment tester les agents IA via une API.
Garde-fous légaux et éthiques
L’utilisation la plus claire de cet outil concerne la confidentialité et l’hygiène de vos propres contenus :
- nettoyer vos brouillons ;
- supprimer les caractères invisibles avant publication ;
- retirer les métadonnées d’une image ;
- supprimer une balise de provenance d’un contenu que vous possédez.
Cela ne couvre pas :
- La fraude académique : retirer une marque pour dissimuler une génération par IA peut enfreindre les règles de votre établissement.
- Les violations contractuelles : certains contrats clients ou conditions de plateforme imposent de divulguer l’utilisation de l’IA.
- La fausse attribution : présenter un contenu généré par IA comme un travail humain peut tromper les destinataires.
La détection doit également être interprétée avec prudence. Une détection positive ne prouve pas la paternité, et l’absence de détection ne prouve pas une origine humaine.
Si votre objectif est plutôt d’exécuter des modèles selon vos propres règles de provenance et sans filigrane fournisseur, l’auto-hébergement peut être une approche plus adaptée. Consultez Les meilleurs LLM locaux à exécuter en 2026.
FAQ
Puis-je rechercher et supprimer directement les caractères du filigrane de Claude ?
Non. Le filigrane textuel de Claude est un biais statistique dans le choix des mots, pas une suite de caractères cachés.
D’autres outils peuvent toutefois injecter des caractères invisibles. La couche A de watermarks-remover cible ces caractères, mais cela correspond à un mécanisme différent.
Le copier-coller supprime-t-il le filigrane ?
Non. La marque statistique est intégrée aux mots et survit au copier-coller entre applications. Seules les modifications du texte peuvent la dégrader.
watermarks-remover est-il gratuit ?
Oui. Le projet est open source sous licence MIT. Les scripts principaux de texte et de métadonnées nécessitent Python 3.10 ou une version ultérieure ainsi que la bibliothèque standard.
Fonctionne-t-il sur la sortie de Claude Code ?
Oui, mais le signal est généralement faible dans le code. Les choix de jetons sont contraints, puis les formateurs et linters modifient le résultat. Il y a donc souvent peu à supprimer.
Supprime-t-il les filigranes d’image comme SynthID ?
Non, pas les filigranes intégrés aux pixels. L’outil supprime les métadonnées au niveau du fichier, notamment C2PA, EXIF et XMP. Il peut éventuellement évaluer certaines marques SynthID via une configuration externe de reverse-SynthID.
Est-il légal de supprimer un filigrane ?
Supprimer une marque de provenance d’un contenu que vous possédez n’est pas intrinsèquement illégal. En revanche, cette action peut enfreindre une politique académique, un contrat ou les conditions d’une plateforme qui imposent la divulgation de l’IA.
Comment confirmer la disparition du filigrane statistique ?
Vous ne pouvez pas réellement le confirmer vous-même sans la clé d’Anthropic. L’API de détection annoncée par Anthropic devrait fournir une méthode de vérification lorsqu’elle sera disponible.
Les résultats de la couche A et la suppression de C2PA sont, eux, vérifiables avec inspect_file.py et c2patool.

Top comments (0)