DEV Community

Cover image for クロードはAI生成コンテンツをどう識別する?
Akira
Akira

Posted on • Originally published at apidog.com

クロードはAI生成コンテンツをどう識別する?

Anthropicは、EU AI法第50条(2)のAI生成コンテンツの透明性に関する行動規範に署名し、そのコミットメントをモデル自体に組み込み始めています。2026年8月2日以降にリリースされたClaudeモデルは、生成するコンテンツに機械可読なマークを埋め込みます。テキストには知覚できない透かしが言葉の中に織り込まれ、生成されたファイルには暗号的に署名された来歴メタデータが付与されます。

今すぐApidogを試す

ほとんどの人が見落としている点は、これはEU限定の機能でも、チャットアプリ限定の機能でもないことです。Claude Platform(API)、Claude、Claude Code、Claude Cowork、Claude Tagを介したサポート対象モデルの出力に、世界中で適用されます。バックエンドからClaude APIを呼び出す場合、返されるテキストにはマークが含まれ、ユーザーに転送するすべてのコンテンツにもマークが含まれます。

これは、モデルをラップするAPIを提供するすべての開発者に実務上の影響を及ぼします。この記事では、マークの仕組み、適用範囲、証明できること・できないこと、そしてパイプラインに追加すべき具体的なチェックを説明します。AIを利用したエンドポイントをテストしている場合、Apidogを使うと、チェックを個人の記憶に依存させず、すべてのビルドで実行できます。

要約

質問 回答
何がマークされますか? 生成されたテキスト(埋め込み透かし)および、.svg.png.jpgなどの生成されたファイル(署名付きC2PAメタデータ)
どのモデルですか? 2026年8月2日以降にリリースされたClaudeモデルが対象。以前のモデルは移行期間中に改修中です。
どのサービスでですか? Claude Platform(API)、Claude、Claude Code、Claude Cowork、Claude Tag
どの地域ですか? EUだけでなく、Claudeが提供されているすべての地域
クラウド再販業者ではどうですか? AWS、Google Cloud、Microsoft Foundryを介しても埋め込み透かしは適用されます。署名付きプロベナンスメタデータは、すべてのプラットフォームでサポートされない場合があります。
オフにできますか? いいえ。テキストの透かしはモデルレベルで適用されます。
マークはClaudeが書いたことを証明しますか? いいえ。それはコンテンツがClaudeによって処理された可能性があることを示します。
マークがないことは人間が書いたことを証明しますか? いいえ。マークがないことは何も証明しません。

Anthropicが実際にコミットした内容

AI生成コンテンツの透明性に関する行動規範は2026年6月10日に公開され、7月末までに約190の署名が集まりました。欧州委員会とAIボードは、AI法第50条への適合を示す適切な自主的ルートとしてこれを承認しました。Anthropicは、生成AIモデルと生成AIシステムの両方のプロバイダーとして署名しました。

Anthropic自身の表現では、コミットメントは次の4つです。

  • 新しいモデルは初日からマークされます。 2026年8月2日以降にEUでリリースされたClaudeモデルは、リリース時に機械可読なマーキングをサポートします。
  • マーキングは製品をまたがって適用されます。 サポート対象モデルからの出力は、API、Claude、Claude Code、Claude Cowork、Claude Tagでマークされます。
  • 検出がサポートされます。 Anthropicは、ユーザーとサードパーティがマークを検出できるよう支援すると述べており、技術文書が追って公開される予定です。
  • 古いモデルも進行中です。 法律では、2026年8月2日より前にリリースされたモデルに移行期間が設けられており、改修が進行中です。

最後の2つは重要です。検出は約束されていますが、まだリリースされていません。また、モデル構成は混在しています。2026年初頭のモデルは完全にマークされていないテキストを生成する可能性がある一方で、新しいモデルはすべてをマークします。

テクニック1:テキスト内の見えない透かし

サポート対象のClaudeモデルがテキストを生成する際、透かしをテキスト自体に織り込みます。それは目に見えず、応答の意味、品質、読みやすさを変更しません。目に見えるタグ、追加された文、または16進エディターで確信を持って見つけられるような隠されたUnicode文字はありません。

この設計から、2つの特性が導かれます。

透かしは伝播する

透かしはファイルラッパーではなくテキスト内に存在するため、コピー&ペースト後も残ります。Claudeからの段落をメール、CMSフィールド、プルリクエストの説明、Slackメッセージに移動させても、シグナルはともに伝わります。

メタデータベースのアプローチは、コンテンツがコンテナを離れた瞬間に失効します。一方、テキストの透かしにはその失敗モードがありません。

透かしはモデルレベルで適用される

透かしはプロダクトレイヤーやAPI前段のフィルターではなく、モデルレベルで適用されます。つまり、設定するヘッダー、切り替えるリクエストパラメータ、削除するエンタープライズティアは存在しません。

APIを使ったホワイトラベル製品で透かしを除去したいと考えている場合、その選択肢はありません。

トレードオフは統計的です。単語の選択に埋め込まれた透かしは、読み取れるだけの十分な単語数を必要とします。3語だけの応答ではシグナルを隠す場所がないため、非常に短い文章は検出閾値を下回ります。

テクニック2:ファイルに署名されたC2PAプロベナンス

Claudeが現在.svg.png.jpgなどのサポート対象ファイルタイプを生成する際、業界全体で使われているContent Credentials形式と同じ、C2PAオープン標準に従って署名されたプロベナンスメタデータを添付します。

C2PAは透かしとは異なる方法で機能します。コンテンツ内にシグナルを隠すのではなく、ファイルがどこから来たか、何がされたかを記述する暗号的に署名されたマニフェストを添付します。

マニフェストは署名されているため、改ざんを検出できます。ファイルのバイト列が変更され、マニフェストが再署名されない場合、署名は壊れます。C2PAリーダーはその状態を検出できます。

ただし、C2PAメタデータはコンテナレベルの添付情報です。そのため、コンテナを書き換える処理はメタデータを削除できます。次の処理は特に注意が必要です。

  • 再エンコード
  • リサイズ
  • 形式変換
  • スクリーンショット
  • 自動最適化
  • 画像CDNによる変換
  • アップロード後のサムネイル生成

プロベナンスを保証する前に、APIがC2PAメタデータを削除するかどうかをテストする必要があります。

マニフェストを検査するには、CLIではc2patool、ブラウザではContent Credentials検証ページを使用できます。C2PAでAI画像検出器APIを構築する際の分類器とマニフェストのアプローチも、同じツールで動作します。

マークが適用される場所

カバレッジは通常のローンチ機能よりも広いため、境界を明確に把握してください。

モデル

マーキングは2026年8月2日以降にリリースされたモデルに搭載されます。それ以前のモデルは改修中です。

アプリが今年の初めから使われているモデルIDを使用している場合は、Anthropicから別途通知されるまで、その出力はマークされていないと仮定してください。

製品

埋め込み透かしは、Claude Platform(API)、Claude、Claude Code、Claude Cowork、Claude Tagのすべての生成テキストに適用されます。

プロベナンスメタデータは、Claudeがファイル処理をサポートしている場合に適用されます。

クラウドパートナー

サポート対象モデルがAWS、Google Cloud、Microsoft Foundry経由でアクセスされる場合、埋め込み透かしは透過的に適用されます。

一方、署名付きプロベナンスメタデータは、各プラットフォームのファイル処理サポートに依存するため、適用されない場合があります。C2PAがコンプライアンス要件に含まれ、BedrockまたはVertex経由でルーティングしている場合は、仮定せずに検証してください。

地域

適用範囲は世界中です。義務はヨーロッパのものですが、実装はグローバルです。

検出されたマークが実際に伝えること

「Claudeは出力に透かしを入れる」という表現から、技術がサポートしない結論を導かないように注意してください。

検出されたマークは、コンテンツがClaudeによって処理された可能性があることを示します。著者を特定するものではなく、Anthropicもその点を明示しています。

主な理由は2つあります。

Claudeが著者ではない可能性がある

ユーザーはClaudeを校正、翻訳、要約、ファイル変換にも利用します。たとえば人間が900語を書き、Claudeに文章を整えるよう依頼した場合、結果にはマークが含まれます。

しかし、アイデア、報告、そして大半の文章は人間によるものかもしれません。マークは、こうしたケースと完全な生成を区別できません。

コンテンツが後で変更される

マークされた出力は編集、抜粋、他の素材との混合が可能です。ドキュメント内でマークが見つかった場合、その一部が特定の時点でClaudeに触れられたことを示すだけです。

現在のドキュメント全体が、そのままモデルから生成されたことを示すものではありません。

マークがないことが伝えること:何もなし

逆の誤りはさらに危険です。Claudeによって実際に生成されたコンテンツでも、次の場合には検出可能なマークを持たないことがあります。

  • マークがサポートされる前にリリースされたモデルから生成された。
  • テキストが大幅に編集、言い換え、翻訳された、または他の文章と混ざり合った。
  • 文章が短すぎて信頼できるシグナルを保持できない。
  • ファイルのメタデータが形式変換、再保存、スクリーンショットによって削除された。
  • マーキングタイプがサポートされていないプラットフォーム、機能、ファイルタイプを経由した。

「透かしが見つからない」ことを人間作成の証拠として扱うワークフローは、設計上破綻しています。これは学術的誠実性ツール、採用選考、コンテンツモデレーションパイプラインにも当てはまります。

同様の非対称性は画像分類器にも存在します。詳細はAI画像検出が失敗する理由を参照してください。

Claude上に構築する場合の意味

Anthropicの開発者向けガイダンスは短く明確です。自社製品にClaudeをデプロイする場合、第50条が自社の製品とサービスに何を要求するかを独立して評価してください。

準拠プロバイダーの顧客であるだけでは、自社が準拠していることにはなりません。

この区別は重要です。

  • Anthropicはプロバイダーであり、第50条(2)に基づく機械可読マーキングの義務を負います。
  • 通常、API利用者はデプロイヤーであり、第50条(4)はディープフェイクや公共の利益に関するAI生成テキストの公開について別の義務を課します。

これらは異なる義務であり、必要な対応も異なります。API開発者向け第50条の内訳で、どちらが自社に該当するかを確認してください。

エンジニアリングチームでは、次の3項目を実装してください。

  1. どのモデルIDがマークされているかを管理する

    モデルルーティング設定と同じ場所に保持します。「このモデルはマークされているか?」をグローバルな真偽値ではなく、モデルのプロパティとして扱ってください。混合フリートが現在の通常状態です。

  2. プロベナンスを誤って削除しない

    ファイルを受け入れ、変換し、再提供するエンドポイントは、C2PAマニフェストをサイレントにドロップする可能性があります。リサイズ、サムネイル作成、トランスコード、CDNパスを重点的にテストしてください。

  3. UIだけでなくAPI契約で開示する

    APIがモデル出力を別チームのコードへ返す場合、Webアプリのバナーだけでは不十分です。応答フィールドやヘッダーで明示してください。独自のAPIにAI開示を追加するで実装方針を確認できます。

これを実際に実行するテストに変える

コンプライアンスに関する議論は文書内で停滞しがちです。継続して機能するのは、CIに組み込まれたチェックです。

AIを利用したAPIでは、次のコントラクトテストを追加してください。

  1. モデルの固定

    応答が期待するモデルIDを報告していることを確認します。サイレントアップグレードやフォールバックは、出力がマークされるかどうかに影響します。

  2. 開示フィールドの存在

    スキーマがai_generated: trueまたはX-AI-Generatedヘッダーを約束している場合、エラーパスやキャッシュパスを含め、モデル出力を返すすべてのパスで確認します。

  3. プロベナンスの存続

    画像を返す、または再提供するすべてのエンドポイントで、パイプラインがバイト列に触れた後もC2PAマニフェストが存在し、検証できることを確認します。

  4. スキーマの適合性

    リファクタリングで開示フィールドが静かに消えないよう、応答をOpenAPI定義に対して検証します。

たとえば、レスポンスにAI開示を設計するなら、OpenAPIでは次のように定義できます。

components:
  schemas:
    GeneratedContentResponse:
      type: object
      required:
        - content
        - model
        - ai_generated
      properties:
        content:
          type: string
        model:
          type: string
          example: claude-model-id
        ai_generated:
          type: boolean
          example: true
Enter fullscreen mode Exit fullscreen mode

レスポンスヘッダーで開示する場合は、次のようなアサーションを追加します。

pm.test("AI生成ヘッダーが存在する", () => {
  pm.expect(pm.response.headers.get("X-AI-Generated")).to.eql("true");
});

pm.test("モデルIDが想定どおり", () => {
  const body = pm.response.json();
  pm.expect(body.model).to.eql("claude-model-id");
});
Enter fullscreen mode Exit fullscreen mode

これらはすべて通常のアサーションです。Apidogでは、応答アサーションと応答後スクリプトとして保存し、テストシナリオとして管理できます。さらにapidog-cliからCIパイプラインでシナリオを実行すれば、監査で問題が発覚する前に、回帰によってビルドを失敗させられます。

実装方法はAPIアサーションおよびGitHub ActionsでのAPIテストの自動化で説明されているものと同じです。シナリオを読みながら構築したい場合は、Apidogをダウンロードしてください。

よくある質問

自社製品向けにClaudeの透かしを無効にできますか?

いいえ。テキストの透かしはモデルレベルで適用されるため、テキストがどのClaude製品またはサービスから提供されても存在します。それを削除するAPIパラメータ、ヘッダー、プランティアはありません。

透かしはClaudeの出力の品質を変更しますか?

Anthropicは、応答の意味、品質、読みやすさを変更しないと述べています。ユーザーが視覚的に気づくこともありません。

Claudeの透かしをチェックするための公開ツールはありますか?

まだありません。Anthropicは、ユーザーとサードパーティ向けの検出サポートを約束しており、技術文書が公開される予定です。

それがリリースされるまでは、サードパーティ製の「Claude検出器」を公式マークのリーダーではなく、未検証の分類器として扱ってください。詳細はClaudeの透かしを検出する方法にあります。

古いClaudeモデルも出力に透かしを入れますか?

自動的には入りません。AI法には、2026年8月2日より前にリリースされたモデルの移行期間が含まれており、Anthropicはそれらにマーキングを追加する作業を進めています。

それがリリースされるまでは、古いモデルIDはマークされていないテキストを生成すると仮定してください。

BedrockまたはVertexを介してClaudeを呼び出す場合も適用されますか?

埋め込みテキスト透かしは適用されます。署名付きプロベナンスメタデータは、各プラットフォームが提供するファイル処理機能に依存するため、適用されない場合があります。

これはOpenAIやGoogleが行うこととどう異なりますか?

GoogleのSynthIDは画像、音声、ビデオ、テキストをカバーしており、テキスト版はオープンソース化されています。OpenAIは生成された画像にC2PA Content Credentialsを添付しており、2026年5月にはそれらと並行してSynthIDを埋め込むことを約束しましたが、テキスト透かしはまだリリースしていません。

比較はClaude vs ChatGPT vs Geminiの透かしで説明されています。

結論

Claudeのマーキングには、異なる役割を持つ2つの仕組みがあります。

  • テキストの透かしは耐久性があり、言葉とともに伝播します。ただし、読み取るには十分なテキストが必要であり、「Claudeが処理した可能性がある」としか示せない確率的なシグナルです。
  • C2PAメタデータは正確で改ざん検知可能です。ただし、画像パイプラインの変換処理によって、誰も気づかないうちに失われる可能性があります。

どちらも盗作検出器ではなく、それ自体でコンプライアンスを保証するものでもありません。これらは、正しく解釈し、自分が制御する処理経路をテストすることで活用できるシグナルです。

Top comments (0)