claude-watermark-cleaner README

The project's README from github.com/mikiane/claude-watermark-cleaner. As one markdown file: README.md.

Nettoyeur de watermark textuel Claude

Projet expérimental et critique : ce dépôt cherche à démontrer qu'un watermark statistique appliqué au texte est contournable et risque surtout de provoquer davantage de calcul, de coût et de consommation énergétique.

Pourquoi ce projet existe

Ce projet défend une thèse assumée : imposer un watermark statistique à du texte généré est une contrainte techniquement absurde. Une marque que l'on peut affaiblir en reformulant le texte ne constitue pas une preuve fiable de son origine. Elle crée en revanche une forte incitation à effectuer une seconde passe avec une autre IA.

Le résultat prévisible est contre-productif :

Autrement dit, la contrainte européenne risque d'obtenir l'inverse de l'effet recherché : elle ne supprimera pas les usages que ses utilisateurs veulent dissimuler, mais fera exploser les usages d'IA destinés à contourner la marque. Ce dépôt matérialise cette critique avec un outil volontairement simple.

Conclusion de l'analyse

La nouvelle marque annoncée par Anthropic n'est pas décrite comme une simple suite de caractères Unicode cachés. Elle est appliquée pendant la génération, au niveau du modèle, puis voyage avec le texte lors d'un copier-coller. La documentation technique du détecteur n'est pas encore publiée.

La méthode exacte n'est donc pas publiquement vérifiable à ce jour. L'hypothèse technique la plus crédible est une signature statistique : le modèle favorise légèrement certains tokens parmi plusieurs choix valides, et le détecteur mesure ce biais sur un passage suffisamment long. Il s'agit ici d'une inférence, pas d'un détail confirmé par Anthropic. Elle correspond toutefois au fonctionnement publié de systèmes comparables comme SynthID Text. Dans ce cas :

Sources :

Solution livrée

clean_claude_watermark.py réalise deux étapes :

  1. suppression des caractères Unicode invisibles ou directionnels suspects ;
  2. reformulation contrôlée du texte par un modèle autre que Claude.

Le script protège les blocs de code, le code en ligne, les URL et les variables. Il refuse également une sortie si un nombre a changé. Il fonctionne uniquement avec la bibliothèque standard de Python.

Moteurs utilisés et stratégie à venir

L'outil utilise actuellement Ollama et Codex :

Ollama n'injecte actuellement pas de watermark par lui-même. Le comportement exact dépend néanmoins du modèle chargé. Codex est un fallback pratique, mais un service distant pourrait toujours faire évoluer sa politique de marquage.

Si Ollama, Codex ou les modèles utilisés ajoutent un watermark à l'avenir, le projet basculera vers un modèle open source dont la chaîne de génération est auditable et pour lequel le watermarking peut être explicitement désactivé. Pour une démonstration sans dépendance à un fournisseur distant, le mode Ollama avec un modèle open source est donc recommandé.

Utilisation

Traiter un fichier :

python3 clean_claude_watermark.py texte.md -o texte-nettoye.md

Traiter directement le presse-papiers macOS :

python3 clean_claude_watermark.py --clipboard

Utiliser explicitement un modèle Ollama local :

python3 clean_claude_watermark.py texte.md -o texte-nettoye.md \
  --engine ollama --model qwen3:8b

Le mode par défaut effectue jusqu'à deux tentatives et conserve la plus forte. Il s'arrête après la première si au moins 70 % des séquences de cinq tokens ont déjà été perturbées. Pour limiter le traitement à une tentative :

python3 clean_claude_watermark.py texte.md -o texte-nettoye.md --passes 1

Ne retirer que d'éventuels caractères invisibles, sans reformuler :

python3 clean_claude_watermark.py texte.md -o texte-normalise.md --engine clean

Le script affiche sur la sortie d'erreur le moteur utilisé, le nombre de caractères invisibles retirés et le taux de variation lexicale. Une variation des séquences de cinq tokens inférieure à 60 % déclenche un avertissement.

Tests

Le projet n'utilise aucune dépendance Python externe. La suite de tests se lance avec :

python3 -m unittest discover -s tests -v

Limites

Position du projet

Cet outil n'affirme pas qu'un texte réécrit devient humain. Il montre qu'un watermark probabiliste n'est pas un mécanisme robuste de preuve ou d'attribution face à un utilisateur motivé. La provenance utile devrait reposer sur des mécanismes explicites, vérifiables et proportionnés, pas sur une contrainte qui pousse mécaniquement à consommer une seconde inférence.

claude-watermark-cleaner (mikiane/claude-watermark-cleaner)

Searching Database…

Что это такое?Экспериментальный CLI-инструмент на Python, который пытается убрать статистический водяной знак из текстов Claude: сначала он удаляет подозрительные невидимые Unicode-символы, а затем передаёт текст на переписывание модели, не связанной с Claude. Заодно это наглядная демонстрация тезиса, что такие водяные знаки легко обойти.
Это библиотека, которую я импортирую, или программа, которую я запускаю?Один скрипт для командной строки, cleanclaudewatermark.py, написанный на чистом Python — он использует только стандартную библиотеку, так что ничего дополнительно устанавливать не нужно.
Как запустить его на своём тексте?Укажите путь к текстовому файлу или обработайте буфер обмена macOS напрямую; можно также принудительно задать конкретную локальную модель Ollama. По умолчанию делается до двух попыток переписывания и сохраняется более удачная, причём работа останавливается досрочно, когда уже 70% последовательностей из пяти токенов изменены.
Что нужно установить, кроме Python?Движок для переписывания: сначала используется локальная модель через Ollama, а запасным вариантом служит Codex CLI, уже настроенный на вашей машине. Сам скрипт не имеет ни одной внешней зависимости на Python.
Может ли он гарантировать, что водяного знака больше нет?Нет — реальную эффективность нельзя оценить, пока Anthropic не опубликует свой детектор и пороги срабатывания. К тому же переписывание может незаметно исказить смысл, поэтому для юридических, медицинских или финансовых текстов по-прежнему рекомендуется проверка человеком.
Мой текст уходит с моего компьютера?С движком Ollama по умолчанию всё остаётся полностью локальным. В резервном режиме Codex текст отправляется в тот сервис, с которым настроен ваш Codex CLI, поэтому в README советуют для конфиденциальных документов предпочитать локальную Ollama.
Почему автор считает водяной знак Claude плохой идеей?Тезис: метка, которую можно ослабить перефразированием, — ненадёжное доказательство происхождения текста, поэтому она по сути подталкивает к второму проходу через ИИ — больше вычислений, задержек, затрат и энергии ради того же контента, плюс неоднозначные сигналы, когда кто-то использует Claude для редактирования или перевода собственного текста.
Как, считается, работает этот водяной знак?Согласно README, это не скрытый Unicode: знак закладывается на уровне модели во время генерации и переживает копирование, печать и OCR. Наиболее правдоподобная гипотеза — предположение, не подтверждённое Anthropic, — это небольшой статистический сдвиг в сторону определённых токенов, похоже на SynthID Text.
Что скрипт защищает от переписывания?Блоки кода, инлайн-код, URL-адреса и переменные сохраняются нетронутыми, а если при переписывании изменилось хоть одно число, скрипт отказывается выдавать результат.
Как понять, что очистка действительно сработала?Скрипт выводит в stderr, какой движок использовался, сколько невидимых символов удалено и показатель лексического разнообразия; если изменение последовательностей из пяти токенов меньше 60%, выдаётся предупреждение.
Creator
mikiane
Size
<0.1 MB
Stars
151
Updated
CommitAug 11
Age
2mo
Commits · 90 Days