2026年8月現在、Claudeが生成するすべてのテキストブロックには目に見えないウォーターマークが付与されています。このウォーターマークは目視できず、スペルチェックでも検出されず、Claudeからドキュメントにコピー&ペーストしても残ります。Anthropicは、AIによって書かれたテキストがどのモデルに由来するかを追跡できるようにこれを組み込み、そのマークは言葉自体の中に静かに存在しています。
生成したコンテンツの所有者であり、その「指紋」を消去したい場合、多くの人が利用しているのがwatermarks-removerというオープンソースプロジェクトです。このガイドでは、Claudeのウォーターマークが実際にどのようなものか、このツールで何が削除でき、何ができないのか、そして具体的な実行方法を説明します。
始める前に一言:これは、あなたが所有するテキストやファイルの衛生管理とプライバシーに関するものです。学術的な詐欺行為を行うため、情報開示ポリシーを回避するため、またはAIによる作業を禁止する契約下で人間の作業として偽装するために、出所を示すマークを削除することは、悪い考えであり、しばしばあなたを拘束する規則に反します。あなたが従うべき規約を理解してください。
要約
- ウォーターマークとは:Claudeは秘密鍵に基づいて単語の選択をわずかに調整し、文章全体に統計的な特徴を残します。これは見つけて削除できる隠し文字ではありません。画像や一部のドキュメントには、ファイルレベルのC2PAメタデータタグも別途存在します。
- 何が残るか:統計的なテキストウォーターマークはコピー&ペースト後も残ります。言い換え、大幅な編集、翻訳によって劣化します。短い文章やコード(フォーマッターがわずかな信号を消し去るため)では、その存在は弱まるか、ほぼなくなります。
- ツール:watermarks-removerはMITライセンスのPython 3.10+対応、標準ライブラリベースのツールキットです。2つの異なるタスクを2つの異なるレイヤーで処理します。
- レイヤーA(決定的):テキストから目に見えないUnicode、特殊なスペース、双方向文字、タグ文字を削除します。高速で、テスト可能、ロスレスです。これが信頼性の高い部分です。
- レイヤーB(統計的):テキストを書き換えることで、トークンサンプリングによるウォーターマークに対処します。これは最大限の努力を要するものであり、言葉の変更は文章の品質を損ないます。
- ファイル:PNG、JPEG、SVG、PDF、DOCX、ODT、HTML、MarkdownからC2PA、EXIF、XMP、およびドキュメントプロパティを削除します。
- 率直な注意点:クリーンな決定論的削除は簡単です。統計的なウォーターマークを完全に除去するにはコンテンツを書き換える必要があり、それはまさにあなたが避けようとしていた品質とのトレードオフです。

Claudeのウォーターマークの正体
多くの人が誤解していることから始めましょう。Claudeのテキストウォーターマークは、単語の間に隠された一連の文字ではありません。探すべきゼロ幅スペースも、特定すべき不審なグリフも、測定すべき奇妙なカーニングもありません。
そうではなく、そのマークは言葉自体の中に存在します。Claudeがテキストを生成する際、各ステップで統計的にほぼ同等の候補の中から次のトークンを選択します。ウォーターマークは秘密鍵に従ってその選択に偏りを与えます。十分に長い文章では、これらの調整された選択が積み重なり、検出可能な統計的特徴となります。一文を読んだだけでは決して気づかないでしょう。鍵を持つ検出器に数百語を与えれば、そのパターンが明らかになります。
その設計は、除去にとって重要な2つの結果をもたらします。
- コピー&ペースト後も残る。信号はメタデータではなく単語の選択に組み込まれているため、テキストをあるアプリから別のアプリに移動してもウォーターマークは付随します。
- 編集に弱い。十分な単語を変更すれば、統計パターンが破壊されます。言い換えたり、翻訳したり、Claudeの出力を自分の文章と混ぜたりすると、信号は劣化します。
Anthropicはこれを2026年8月2日からモデルレベルで展開しており、これによりどの製品インターフェースもオプトアウトできません。Claudeアプリ、API、Claude Code、そしてAWS、Google Cloud、Microsoft Foundryを介したサードパーティアクセスはすべてこのマークを発します。Anthropicは、ユーザーやサードパーティがそれをチェックできる検出APIが近日公開されると述べています。Anthropicのモデルラインアップとアクセスポリシーがどのように変化してきたかについて背景を知りたい場合は、Fable 5 Is Down for Everyoneで関連エピソードを取り上げました。
繰り返す価値のある注意点が一つあります。これは両刃の剣であるためです。陽性検出は、そのテキストがClaudeを通過した可能性があることを意味し、誰かが不正行為をしたわけではありません。校正、翻訳、要約も、ゴーストライティングと同様の痕跡を残します。
2種類のウォーターマーク、2種類の方法で修正
Claude(および他のベンダー)は実際には2つの無関係なマーキングシステムを使用しており、それぞれ完全に異なる処理が必要なため、watermarks-removerはその作業をレイヤーに分割しています。
レイヤーAは、決定論的な文字削除です。これは、目に見えないUnicode(ゼロ幅スペース、特殊な空白文字、双方向テキスト制御文字、Unicodeタグ文字)を対象とします。一部のツールやパイプラインは、このようにして出所や追跡データを埋め込んでいます。レイヤーAはモデルを一切使用しない純粋なPython製であるため、決定論的で、テスト可能、ロスレスであり、実際の文章に手を加えることなく不要なものを取り除きます。これは「ただ機能する」部分です。
レイヤーBは、統計的な書き換えです。これは、前述のClaudeのトークンサンプリングによるウォーターマークを狙ったものです。信号が単語の選択にあるため、それを除去する唯一の方法は単語を変更すること、つまりテキストを文ごとに書き換えることです。プロジェクトは、これが最大限の努力であり、保証ではないこと、そして言葉の変更がスタイルを損ない、正確さを鈍らせる可能性があることを明記しています。
ファイル、メタデータ削除。テキストとは別に、このツールはPNG、JPEG、SVG、PDF、DOCX、ODT、HTML、MarkdownからC2PAマニフェスト、EXIF、XMP、およびドキュメントプロパティをクリーンアップします。C2PAは、Content Provenance and Authenticity Coalitionの標準であり、ファイルに付随する署名付きマニフェストです。統計的なテキストマークとは異なり、C2PAは簡単に削除できます。ファイルを再保存したり、形式を変換したり、画像をスクリーンショットしたりするだけでマニフェストはなくなります。
このツールは、Claude、Gemini/SynthID-Text、OpenAI、およびオープンソース(Kirchenbauerスタイル)のマークを同じアーキテクチャでカバーします。SynthIDのようなピクセル領域の画像ウォーターマークは除去の対象外ですが、このプロジェクトは外部の逆SynthIDチェックアウトを介してオプションでそれらをスコアリングできます。
ウォーターマークが独自に検出できないもの
何かを実行する前に、Claudeのウォーターマークが既に弱い部分を知っておく価値があります。これらのケースでは、除去は簡単か、あるいは不要です。
- 短い文章。数文では、統計的な信頼性を蓄積するのに十分なトークン選択が含まれていません。検出器には長さが必要です。
- コード。ソースコードは散文よりもトークン選択がはるかに制約されているため、信号はそもそも弱いです。その後、フォーマッター、リンター、リファクタリングツールが残っていたエントロピーを書き換えてしまいます。コードがコミットされる頃には、検出できるものはほとんど残っていません。このため、Claude Codeの出力におけるウォーターマークは、実用的というよりも理論的なものとなっています。
- 大幅に編集されたテキスト。既に半分を書き換えていれば、意図せずパターンを破壊している可能性があります。
- ファイル上のC2PA。通常、フォーマット変換や再保存によって削除されます。
つまり、「除去」作業の正直な範囲は通常、Claudeが書いたままの状態に保たれた長文の散文と、あらゆるファイルメタデータです。
watermarks-removerのインストール
このプロジェクトは、エージェントスキルとスタンドアロンのPythonスクリプトセットとして提供されます。Python 3.10+が必要です。コアスクリプトは標準ライブラリのみを使用するため、基本的なテキストおよびメタデータ作業のためにpip installする必要はありません。
git clone https://github.com/guillaumemeyer/watermarks-remover.git
cd watermarks-remover
エージェントスキルとして呼び出したい場合(リポジトリの例ではGrokスタイルのスキルディレクトリを使用しています)は、スキルフォルダを次のようにリンクしてください。
mkdir -p ~/.grok/skills
ln -sfn "$(pwd)/skills/remove-ai-marks" ~/.grok/skills/remove-ai-marks
その他の方々は、スクリプトを直接呼び出します。以下のコマンドが見やすくなるように、スクリプトディレクトリへのショートカットを設定してください。
export SCRIPTS="$(pwd)/skills/remove-ai-marks/scripts"
インストールしている場合、以下の2つのオプションのコマンドラインツールがファイルクリーニング機能を拡張します。
- C2PAマニフェストを詳細に検査するための
c2patool。 - レイヤーAでは対応できない、残留する画像メタデータを除去するための
exiftool。
どちらもコアワークフローには必須ではありません。
ファイルを操作する前に検査する
盲目的に削除してはいけません。何を除去するかを決定する前に、実際に何が存在するか(目に見えない文字、メタデータブロック、出所マニフェストなど)を把握するために、まずインスペクターを実行してください。
python3 "$SCRIPTS/inspect_file.py" draft.md
これは、ツールが何も変更せずに検出した内容を報告します。これは、ファイルを上書きする前にターゲットを読み取ることに相当します。インスペクターがファイルが既にクリーンであることを示していれば完了であり、驚くべきものが表面化すれば、バイトが変更される前にあなたが決定できます。
テキストからマークを除去する
信頼性の高いロスレスな決定論的レイヤーAクリーニングには、clean_text.pyを使用します。--statsフラグは、検出および除去した内容の概要を出力します。
python3 "$SCRIPTS/clean_text.py" draft.md -o draft.cleaned.md --stats
これにより、目に見えないUnicode、特殊なスペース、双方向制御文字、タグ文字が削除されます。あなたの目に見える文章には手が加えられないため、品質の低下はありません。統計的なマークよりも隠れた追跡文字を心配しているほとんどの人にとって、この単一のコマンドで作業は完結します。
-oフラグは元のファイルを上書きするのではなく、新しいファイルに書き込みます。結果を確認するまで元のファイルは保持してください。
ファイルからメタデータを削除する
画像およびドキュメントの場合、clean_file.pyはC2PA、EXIF、XMP、および埋め込みドキュメントプロパティを削除します。
python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
PNG、JPEG、SVG、PDF、DOCX、ODT、HTML、Markdownを処理します。exiftoolがインストールされており、画像に対して徹底的に作業したい場合は、後で実行して残っているタグを捕捉してください。
exiftool -all= photo.cleaned.png
C2PAは簡単なケースであることを忘れないでください。Claudeが生成した画像の出所マニフェストだけが心配なら、フォーマットのラウンドトリップでそれが勝手に除去されることがよくあります。このツールはそれをきれいに、そして予測可能に行うだけです。
レイヤーBの問題:統計を打ち破るための書き換え
ここでは、コマンド構文よりも正直さが重要になります。
統計的なテキストウォーターマークは、単語を変更することによってのみ除去できます。このツールは、rewrite_text.pyを介してこれを提供し、言い換え処理を準備します。
python3 "$SCRIPTS/rewrite_text.py" draft.md --backend print-prompt --strength paraphrase
--backend print-promptオプションは、モデルを直接呼び出すのではなく、書き換えプロンプトを出力するため、何が書き換えを行うかを制御できます。--strengthは、言い換えの積極性を制御します。
しかし、あなたが実際に同意していることを読んでください。単語の選択全体に分散している信号を破壊するには、文ごとに書き換える必要があります。それは、以下の結果を招きます。
- スタイルを損なう。ウォーターマークを含んでいた特定の言い回しは、表現のトーンも持っていました。
- 正確性を損なう。技術的なコンテンツを言い換えることで、静かに意味が変わってしまう可能性があります。
- 高性能なモデルが必要となるため、その時点でプレミアムモデルの出力を書き換えるために高価なトークンを消費することになります。
プロジェクト自体が明らかな疑問を提起します。Claudeのテキストを品質を損なわずにウォーターマークのないものに言い換えるために強力なモデルが必要なのであれば、それは安価な回避策なのか、それとも単に品質の劣化したコピーのためにより多くのモデル費用をかけるだけなのか?ほとんどの正当なケースでは、レイヤーBはそれだけの価値がないというのが答えです。テキストが短いか、コードである場合、マークはすでに弱すぎて問題にならないでしょう。あなたが大切にしている長文の散文であれば、書き換えはあなたが保持しようとしていたものを損なってしまいます。
実用的な結論:レイヤーAとファイルクリーナーは日常的に実行し、レイヤーBは特定の正当な理由があり、品質の低下を受け入れる場合にのみ使用してください。
作業の検証
削除は、それを確認できる能力があって初めて意味をなします。出力に対してインスペクターを再実行してください。
python3 "$SCRIPTS/inspect_file.py" draft.cleaned.md
特にC2PAについては、c2patoolがマニフェストが残っているかどうかを明確に読み取ります。
c2patool photo.cleaned.png
統計的なテキストマークについては、Anthropicの鍵を持っていないため、正直な検証はより困難です。Anthropicが約束している検出APIがリリースされれば、それが真のテストとなるでしょう。対照的に、レイヤーAの文字削除とC2PAの削除は、インスペクターとc2patoolで簡単に検証できます。これらを反復可能なパイプラインに組み込む場合、その検証ステップは他のAPIワークフローと同様にテストする価値のある動作です。コンテンツやモデルのチェックを自動化するチームは、ApidogなどのAPIテストツールにそれらを組み込み、「マークが戻っていないか」のチェックが毎回同じ方法で実行されるようにすることがよくあります。モデルをバックエンドとするエンドポイントのテストのより広範なパターンについては、API経由でAIエージェントをテストする方法を参照してください。
法的および倫理的なガードレール
ツールの自己定義が正しい枠組みです。これは、あなたが所有するコンテンツのプライバシーと衛生管理のためのものです。これには、自分のドラフトから追跡文字を削除したり、画像を公開する前にメタデータをクリーンアップしたり、自分のものと見なす文章から出所タグを削除したりすることが含まれます。
以下の行為は対象外です。
- 学術的な不正行為。あなたの所属機関が開示を義務付けたり、AI生成物の提出を禁じたりしている場合、出力がどれほどきれいに見えても、それを隠すためにマークを削除することは不正行為です。
- 契約違反。多くのクライアント契約やプラットフォーム規約ではAIの開示が義務付けられています。ウォーターマークが見えないからといって、その義務が見えなくなるわけではありません。
- 虚偽の帰属。AIによる作業を人間によるものと偽り、それによって誰かを実質的に誤解させることは、出所マークが存在する目的そのものである、防止すべき害悪です。
また、これらに過度に依存すべきではない実践的な理由もあります。検出は両刃の剣だからです。ウォーターマークの検出は著作者を証明するものではなく、その不在も人間の作成を証明するものではありません。すでに曖昧な信号を打ち破るためのワークフローを構築することは、多くの場合、状況が要求する以上の労力です。疑わしい場合は、開示してください。開示しないことで発覚するよりも安価です。
ここでのあなたの関心がAIの使用を隠すことよりも、独自の出所ポリシーを持ち、そもそもベンダーのウォーターマークなしでモデルを自身の条件で実行することにある場合、セルフホスティングがよりクリーンな解決策です。現在の選択肢については、2026年に実行すべき最高のローカルLLMで取り上げました。
よくある質問
- Claudeのテキストにあるウォーターマークの文字を見つけて削除するだけで済みますか?いいえ。Claudeのテキストウォーターマークは隠された文字で構成されているのではなく、単語選択における統計的な偏りです。検索して削除できるものは何もありません。(一部の他のツールは目に見えない文字を注入しますが、watermarks-removerのレイヤーAはそれらを削除します。しかし、それはClaudeの統計的なマークとは異なるメカニズムです。)
- Claudeの出力をコピー&ペーストするとウォーターマークは削除されますか?いいえ。統計的なマークは単語に埋め込まれているため、アプリ間でのコピー&ペースト後も残ります。実際のテキストを編集することによってのみ劣化します。
- watermarks-removerは無料ですか?はい。MITライセンスのオープンソースです。コアのテキストおよびメタデータスクリプトは、Python 3.10+と標準ライブラリのみを必要とします。
- Claude Codeの出力にも機能しますか?実行はされますが、コードにおけるウォーターマークは通常、すでに弱すぎて問題になりません。ソースコードはトークン選択が制約されており、フォーマッターやリンターが残りの信号のほとんどを消去します。通常、削除すべきものはほとんどありません。
- SynthIDのような画像ウォーターマークも削除しますか?ピクセル領域のものは削除しません。ファイルレベルのメタデータ(C2PA、EXIF、XMP)はきれいに削除し、外部の逆SynthID設定を介してオプションでSynthIDマークをスコアリングできますが、インピクセルウォーターマークの削除は対象外です。
- ウォーターマークを削除することは合法ですか?あなたが所有するコンテンツから出所マークを削除すること自体は本質的に違法ではありませんが、AIの開示を義務付ける学術ポリシー、契約、またはプラットフォームの規約に違反する可能性があります。このツールは、自分のコンテンツのプライバシー保護を目的としており、これらの義務を回避するためのものではありません。
- 統計的なマークが実際になくなったことをどうやって知ることができますか?現時点では、Anthropicの鍵を持っていないため、ほとんど自分で検証することはできません。Anthropicは検出APIが近日公開されると述べており、それが真のテストとなるでしょう。対照的に、レイヤーAの文字削除とC2PAの削除は、インスペクターと
c2patoolで簡単に検証できます。
