Claudeのウォーターマークは、マークを付与したタスクの完了後も文書に長く残ることがあります。ライターが記事の草稿を書き、3つの文をより簡潔にするよう依頼したとします。ところが、返ってきたファイルの来歴シグナルが示すのは「Claudeが書いた」ということだけ、ということがあります。
所有するコンテンツであれば、Claudeのウォーターマークを削除する作業は3段階になります。疑わしいUnicodeコードポイントを除去し、Claude以外のモデルで本文をリライトし、対応ファイルからハードバインドの来歴メタデータを削除する、という流れです。この作業にはオープンソースのremove-ai-marksスキル、HaimakerのモデルAPI、そしてお好みのモデルを利用できます。3段階のうち2つは直接検証できます。残念ながら、リライトの段階は検証できません。Anthropicが検出器を非公開にしているためです。
Claudeがテキストとファイルにウォーターマークを付けるようになった
Claudeは出力に対して、少なくとも2つの確認済み来歴チャネルを運用しています。テキストにはモデルレベルで不可視のマークが付与され、対応ファイルにはデジタル署名されたC2PAメタデータが付与されます。Anthropicによると、2026年8月2日以降に導入されたモデルはデフォルトでマーキングが有効になっており、旧モデルへの展開も続いています。
マーキングの範囲はClaudeのウェブアプリにとどまりません。Anthropicの発表では、Claude Platform、Claude、Claude Code、Claude Cowork、Claude Tag、クラウドパートナー、そしてClaudeが利用可能なすべてのリージョンが対象とされています。テキストマークはコピー&ペーストや軽い編集の後も残ることがあります。ファイルへのマーキングは、製品とフォーマットの両方が対応している場合に有効になり、Anthropicが挙げているフォーマットには.svg、.png、.jpgなどがあります。
Anthropicはテキストマーキングのアルゴリズムも検出器も公開していません。この情報が欠けているため、どの削除ガイドにも未解決の不確実性が残ります。Anthropicの「テキストに織り込まれる(woven into the text)」という表現からは、マークの仕組みがゼロ幅文字、トークン選択バイアス、意味構造、あるいはこれらの組み合わせのいずれに基づくのかは分かりません。
一部の変換は検出を困難にすることが分かっています。Anthropicが挙げているのは、大幅な編集、言い換え、翻訳、他のテキストとの結合、短い抜粋、フォーマット変換、再保存、スクリーンショットです。これらは多層的なクリーンアップパイプラインの根拠にはなりますが、出力が検出不能になることを保証するものではありません。
検出が示すのは「処理」であり「著者」ではない
検出されたClaudeウォーターマークから導かれる結論は1つだけです。それは、互換性のあるClaudeモデルがその資料を処理した可能性がある、ということです。Claudeがすべての言葉、アイデア、事実、デザイン上の判断を生み出したことを意味するわけではありません。Anthropicは、校正、翻訳、要約、ファイル変換を、人間が作った作品にもマークを残しうる処理として明示的に挙げています。
たとえば、ライターが記事の草稿を書き、Claudeに3つの文だけ編集を依頼したとします。機械可読な結果からは、その依頼と文書全体の生成を区別できません。この帰属のあいまいさは大きな議論を呼んでいます。直近30日間のサンプルでは、関連するRedditスレッドが15件、合計8,138件のアップボートと2,633件のコメントが見つかりました。その多くは、所有権や、大まかなラベルからどのような解釈が生まれうるかに焦点を当てていました。
逆も同じです。マークが検出されない文書が必ずしも人間の書いたものとは限りません。非対応モデルや旧モデルは出力にマークを付けない場合があり、通常の編集でも検出可能性は低下します。検出器は手がかりの1つにすぎず、盗用チェックでも、著者を最終判定するものでもありません。
また、クリーンアップは基盤となる事実を保持します。契約、学校のポリシー、プラットフォームのルール、法律がAI支援の開示を義務付けているなら、その義務はなくなりません。このパイプラインは、所有するコンテンツのプライバシーと健全性を保つためのものであり、特に「Claudeがこれを処理した」という大まかな表示が実際の作業分担を隠してしまう場合に役立ちます。
ウォーターマークのレイヤーごとに異なるクリーンアップが必要
テキストの挙動、コンテナのメタデータ、コンテンツレベルのシグナルは、存在する場所が異なり、残る証拠も異なります。Unicodeスキャンは正確なコードポイントを列挙できます。C2PAツールは署名付きマニフェストを表示できます。しかし、Anthropicが検出器と技術仕様を公開しない限り、Claudeの統計的テキストマークが除去されたことを独立したツールで検証することはできません。
| レイヤー | 存在場所 | クリーンアップ処理 | クリーンアップ後の確度 |
|---|---|---|---|
| 不可視Unicode | テキスト文字とスペーシング | ゼロ幅文字、双方向制御文字、タグ文字、特殊空白文字を正規化 | コードポイントの再スキャンで検証可能 |
| モデルレベルのテキストパターン | 単語とトークンの選択(正確な手法は非公開) | すべての本文をClaude以外のモデルでリライト | ベストエフォートのみ |
| ハードバインドのC2PAおよびメタデータ | PNG、JPEG、SVG、PDF、DOCX、ODT、HTML、Markdownコンテナ | 対応するC2PA、EXIF、XMP、文書プロパティ、AIメタデータを削除 | 削除したフィールドとマニフェストについて検証可能 |
| ソフトバインドまたはピクセル単位のシグナル | コンテンツ自体、またはリモートのマニフェストリンク | このパイプラインの対象外 | 残余リスクあり |
Unicodeの行を意図的に保守的にしているのは、Anthropicが新しいテキストウォーターマークに隠し文字を使っていると明言したことがないためです。不可視文字のクリーンアップにも現実の不具合を直す効果はあります。diffの破損、検索の失敗、貼り付け時の不具合などに対処し、他のソフトウェアが混入させた文字も除去します。これは決定論的なクリーンアップであり、Claudeの非公開マークが消えたことの証明ではありません。
ファイルメタデータはより確かな証拠になります。Anthropicによると、対応する生成ファイルにはC2PAオープン標準に基づく署名付きメタデータが付与され、独立したツールで検査できます。ただし、ここでも境界が重要です。C2PAマニフェストはファイルに埋め込まれるか、サイドカーとして保存されるか、リモートで参照されます。埋め込みマニフェストを削除しても、ツールが一切触れていないサイドカーやコンテンツレベルのシグナルについては何も言えません。
3段階のクリーンアップパイプライン
このパイプラインは、既知の文字レベルのノイズを除去し、Claude以外のモデルでテキストを再生成し、モデル出力をクリーンアップし、対応ファイルのメタデータを除去します。各段階は1つの役割だけを担います。これにより、決定論的クリーンアップとリライトが分離されます。後者はAnthropicの未公開検出器に対して証明できないためです。
Guillaume Meyerのオープンソースwatermarks-removerリポジトリが基盤です。remove-ai-marksスキルは作業を次のように分割します。
- レイヤーA - Unicodeクリーンアップ
- レイヤーB - 統計的リライト
- レイヤーC - フォーマット固有のメタデータ削除
このリポジトリにはベンダーの検出器やキーは含まれていません。検出を回避できる保証もありません。
レイヤーBでは、本文をHaimaker経由で、設定済みのClaude以外のモデルに送ることを推奨します。HaimakerはClaudeのウォーターマーク付与経路の外にある数百のモデルを1つのOpenAI互換エンドポイントで提供しているため、クリーンアップパイプラインを変えずにリライトモデルを切り替えられます。
テスト済みモデルの推奨
どのモデルを使うべきでしょうか。同じ本文を複数のモデルに通し、自分の編集スタイルや好みに合うモデルを見つけることを勧めます。現時点で最も良い結果が得られたモデルは以下のとおりです。なお、これは検出器のスコアではなく、あるモデルが非公開のウォーターマークをほかより効果的に除去できることを意味するものでもありません。
| 順位 | HaimakerモデルID |
|---|---|
| 1 | z-ai/glm-5.2 |
| 2 | qwen/qwen3.7-plus |
| 3 | moonshotai/kimi-k3 |
| 4 | deepseek/deepseek-v4-pro |
| 5 | minimax/minimax-m3 |
| 6 | deepseek/deepseek-v4-flash |
リライトは、本文が自然に読める場合でもMarkdownを壊すことがあります。モデルを呼び出す前に、プロジェクトのラッパーがYAML frontmatter、見出し、フェンス付きコードブロックとインラインコード、HTML、テーブル、リンク、URL、数値情報をマスクします。また、プロジェクトのボイスプリントを読み込み、リライトによって統計的パターンは変えつつも、ありふれた無難な文章に退化しないようにします。呼び出し後、ラッパーはプレースホルダーの欠落や並べ替え、新しいコードフェンスの出現、空の出力、極端な長さの変化を拒否します。どのチェックに失敗しても、元のファイルは変更されません。
クリーンアップスキルのインストールと設定
remove-ai-marksフォルダーを.claude/skillsの下にインストールし、OpenAI互換のリライトフックをHaimakerに向け、アカウントで利用できるClaude以外のモデルを選択します。APIキーは環境変数またはシークレットマネージャーに保管してください。SKILL.md内に埋め込まれたキー、リポジトリにコミットされたキー、コマンドラインでそのまま渡されるキーは、クリーンアップ手順が認証情報の流出につながる原因になります。
git clone https://github.com/guillaumemeyer/watermarks-remover.git
mkdir -p .claude/skills
cp -R watermarks-remover/skills/remove-ai-marks .claude/skills/
export WATERMARKS_REWRITE_BACKEND=openai-compatible
export WATERMARKS_REWRITE_BASE_URL=https://api.haimaker.ai/v1
export WATERMARKS_REWRITE_MODEL=provider/model-id
export WATERMARKS_REWRITE_API_KEY="$HAIMAKER_API_KEY"
変更を加える前に入力を検査します。ベースラインは、実際に何が存在していたかを記録し、コマンドが正常に終了したことを「ファイルにマークが含まれていた証拠」と取り違えるのを防ぎます。
SCRIPTS=.claude/skills/remove-ai-marks/scripts
python3 "$SCRIPTS/inspect_file.py" --json draft.md
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.layer-a.md
python3 "$SCRIPTS/rewrite_text.py" draft.layer-a.md \
-o draft.rewritten.md --strength paraphrase \
--voice-print .claude/reference/voice-print.md
python3 "$SCRIPTS/clean_file.py" draft.rewritten.md -o draft.cleaned.md
python3 "$SCRIPTS/inspect_file.py" --json draft.cleaned.md
本番のMarkdownは、上記の汎用リライトフックではなく、プレースホルダー保護付きのラッパーを通してください。ソースコードは、決定論的Unicodeクリーンアップの後に停止し、その言語のフォーマッターに通してください。不確かな統計的マークに対処するためにコードをリライトすると、より大きく差し迫ったリスクが生まれます。自然に見えるdiffの背後に動作変更が隠れることがあるからです。
リモートリライトは文書の本文を設定済みAPIへ送信します。そのプロバイダーによる処理を組織が許可している資料だけを送ってください。ローカル限定のコンテンツは、承認済みのセルフホストモデルを使い続けてください。別のモデルファミリーを選ぶと再マーキングのリスクは下がりますが、データ取り扱いポリシーが不要になるわけではありません。
検証には3つの確度レベルがある
有用な検証レポートは、3つの結果を分けて記載します。検証可能な形で除去されたUnicodeと埋め込みメタデータ、ベストエフォートの統計的リライトを通した本文、そしてパイプラインが検査できなかった来歴チャネルです。これらの所見を1つの「ウォーターマーク削除済み」という結果にまとめると、証拠が裏付ける以上のことを主張することになります。
前後の検査は記録を残します。スクリプトは疑わしいコードポイントを数え、削除されたEXIF・XMPフィールドを報告し、対応するC2PAセグメントを特定します。c2patoolが利用できる場合は、対応するアセットのマニフェストデータを検査できます。クリーンな再スキャンが意味を持つのは、それらの特定のフィールドについてだけであり、それ以外には及びません。
テキストについては、より弱い結論しか得られません。Anthropicは検出器を公開しておらず、最新のウォーターマーク設計は、単純なトークンバイアス方式を無効化する攻撃にも耐えうる可能性があります。2025年のWaterPark評価では、10種類のウォーターマーク手法を12種類の攻撃に対してテストし、その頑健性が設計によって大きく変わることを示しました。以前のICLR研究では、人間による積極的な言い換えでも、十分に長いテキストでは検出可能なシグナルが残りうることが示されています。リライトが証明するのはテキストが変わったことであり、シグナルが消えたことではありません。
使用したモデル、リライト強度、処理したファイル、保護領域の数、文字数、適用したボイスプリント、決定論的クリーンアップの手順を記録してください。そのうえで、残余リスクを明示してください。Claudeの秘密鍵ベースの検出器、ソフトバインドの来歴情報、ピクセルまたはメディアのウォーターマーク、将来の検出器の変更は、この結果の範囲外です。
よくある質問
Claudeは人間が最初に書いたテキストにもマークを付与できますか?
はい。Anthropicによると、マークが検出された場合でも、それはClaudeがコンテンツを処理した可能性を示すにとどまり、Claudeがすべてのアイデアや文章を書いたことを意味するわけではありません。校正、翻訳、要約、人間の資料の形式変換などでも、対応モデルを使えばマーク付きの出力が生成される可能性があります。
C2PAメタデータを除去すればClaudeのテキストウォーターマークも削除されますか?
いいえ。これらは別々のチャネルです。C2PAは対応ファイルに付与される署名付き来歴メタデータであり、Claudeのテキストウォーターマークはモデルレベルで埋め込まれます。完全なクリーンアップワークフローでは、ファイルのメタデータと本文を別レイヤーとして扱います。
リライトによってClaudeのウォーターマークが検出不可能になることを保証できますか?
いいえ。Anthropicは検出器もマーキングアルゴリズムも公開していません。Claude以外のモデルによる大幅なリライトは合理的なベストエフォートの対応であり、Anthropicも大幅な編集や言い換えによってマークが検出されにくくなる場合があるとしています。しかし、未公開の検出器に対して削除を証明できるサードパーティ製ツールは存在しません。