Compliance APIのFAQ — データ保持とアクセス範囲
Compliance APIの有効化・キーの違い・データ保持期間・セッション取得範囲・削除の復元可否まで、実装前に迷う疑問をまとめました。
Compliance APIは誰が有効化できるか
Claude Enterprise組織では、プライマリーオーナーがclaude.aiの組織設定からCompliance APIを有効化します。有効化は親組織の単位で行われ、配下の連結組織すべて(claude.ai組織・Claude Console組織の両方)へ自動的に波及します。
親組織を持たない単独のClaude Console組織では、組織admin権限を持つ人がConsoleのセキュリティ設定で個別にトグルを切り替えます。親組織にリンクされたClaude Console組織自体は、この設定を持ちません。親組織側で有効化されたものがそのまま反映される形です。
Compliance APIをオフにすると何が起こるか
オフにしている間は、新しいアクティビティイベントが一切記録されません。Activity Feedに新規イベントが増えなくなり、Access Transparencyに登録している組織ではその通知も止まります。この間に発生した活動は、後から有効化し直しても復元できません。
一方で、オフにしてもすでに記録済みのイベントが消えることはありません。記録が再開されるのは、有効化し直した時点からです。オン・オフの切り替え自体はorg_compliance_api_settings_updatedというアクティビティとしてActivity Feedに残るため、「いつ誰が止めたか」は監査証跡としてたどれます。オフの間は他のイベントが記録されない中でも、この切り替えイベントだけは例外的に記録されます。
Claude Enterprise組織では、この設定がローカルセッション(ユーザーの手元で動くCoworkやClaude Codeのセッション)のトランスクリプト取得も兼ねます。オフの間に動いたセッションの内容は、後から取得できません。
Compliance APIのキーとほかのAPIキーはどう違うか
Compliance APIが受け付けるキーは2種類だけです。claude.aiで作るComplianceアクセスキー(sk-ant-api01-...)は全エンドポイントに届き、Claude Consoleで作るAdmin APIキー(sk-ant-admin01-...)はActivity Feedだけに届きます。
普段Claudeモデルの呼び出しに使うClaude APIキー(sk-ant-api03-...)は、Compliance APIの認証には一切使えません。x-api-keyにセットしても、キーの形式そのものが弾かれます。分析用のAnalytics APIキーも同様に対象外です。この4種類のキーを混同すると、正しい権限を持っているつもりで401や403に行き当たります。
Claude Enterpriseの親組織自体はClaude Console(platform.claude.com)には現れません。親組織はワークロードを持たない識別統合レイヤーだからです。Admin APIキーを作ろうとして親組織が選択肢に出てこないのは、設定ミスではなくこの構造どおりの挙動です。
Compliance APIはどこまでのデータを保持するか
Activity Feedは6年分の組織アクティビティを保持し、新しいイベントは発生から1分以内に検索可能になります。ただし遡れるのはCompliance APIが最初に有効化された時点までで、それより前の活動は遡及的に補完されません。
Activity Feedの保持期間と、チャット・ファイル・プロジェクトのコンテンツ保持期間は別の軸です。コンテンツ側は組織に設定された保持ポリシーに従い、既定では無期限です。ユーザーがclaude.aiで先に削除すれば、その時点でコンテンツは失われます。
Activity Feedが記録するのは「誰が・いつ・何をしたか」という認証やリソースイベントで、チャットやメッセージの本文そのものは含みません。プロンプトや応答の中身まで取得するには、read:compliance_user_dataを持つComplianceアクセスキーでチャット・メッセージ・ファイルの各エンドポイントを呼びます。この使い分けが分かっていないと、Activity Feedだけを見て「本文まで取れるはず」と誤解しがちです。
Cowork・Claude Code・Claude Science・Microsoft 365のセッションはどこまで取れるか
対象アプリは、ユーザーの手元で動くローカルセッションと、クラウドで動くリモートセッションの2系統に分かれます。
ローカルセッションに分類されるのは、Claude Desktop上のCoworkセッション、ターミナル・Claude Desktop・IDE拡張のいずれかで動くClaude Codeセッション、Claude Scienceデスクトップアプリのセッション、ExcelやWord・PowerPoint・OutlookでのClaude for Microsoft 365セッションです。いずれもClaude Enterpriseアカウントでサインインしている間に、リクエストがClaude APIへ届いた時点で捕捉されます。デバイスに何かをインストールする必要はありませんが、裏を返せばAPIまで届かないデバイス上の操作は捕捉されません。
リモートセッションは、claude.aiのWebやモバイルから開始したCoworkセッションだけが該当します。Anthropicが管理するクラウド環境で実行される点が違いです。紛らわしいのはClaude Code on the webで、これもクラウドで動きますがリモートセッションの定義には含まれません。リモートセッションのエンドポイントが返すのはCoworkセッションだけです。
以下は捕捉対象外になる代表的なケースです。
- Claude Console APIキーで認証したClaude Codeセッション
- サードパーティのクラウド基盤(Amazon Bedrock・Google Cloud・Microsoft Foundry)経由で動くClaude Codeセッション
- HIPAA対応を有効化している組織のローカルセッション全般
- ゼロデータ保持(zero data retention)が適用されているセッション
トランスクリプトの中身にも、含まれるものと含まれないものがあります。ユーザープロンプト・アシスタントの応答・ツール呼び出しと結果は両方の系統で取得できます。一方で、thinkingブロック(モデルの思考過程)はローカル・リモートのどちらでも一切含まれません。画像やPDFなどの非テキストコンテンツは、生のバイトが返ることはありません。ローカルセッションではプレースホルダーのテキストブロックに置き換えられ、リモートセッションではそもそも省かれます。トークン使用量・コスト・レイテンシーもCompliance APIの範囲外で、これらはClaude Enterprise Analytics APIから別途取得します。
削除したコンテンツは復元できるか
Compliance API経由の削除は即時かつ恒久的で、復元できません。ユーザーがclaude.ai上で削除したチャットも同様で、Compliance API側ではチャットとメッセージのレコード自体はdeleted_atが入った状態で残りますが、本文は失われます。ユーザーが削除したリモートセッションも同じ扱いで、リモートセッション一覧からも消えます。
法的保全(リーガルホールド)やアーカイブのために保持しておきたいコンテンツは、消える前に取得しておく以外の方法がありません。
SIEMとの突き合わせとページネーションで気をつけること
Activity Feedのレコードを自社のSIEMと結びつけるときの結合キーは、actor.user_id / actor.email_address / actor.ip_address / actor.user_agent / created_atです。OpenTelemetryのイベントともこれらの識別子を共有しているため、両方のログを突き合わせて1つの調査に使えます。
Activity Feedは新しい順に返り、created_atが同じ場合はアクティビティIDでタイブレークします。最新まで追いつく実装は、before_idでページを前方(過去方向)に辿り、has_moreがfalseになった時点のfirst_idを次回の起点カーソルとして保存する形になります。組織・ロール・グループ・ユーザーなどのディレクトリ系エンドポイントは、このbefore_id / after_id方式ではなくpageという不透明トークンでページ送りする点が違います。具体的なエンドポイントと実装はCompliance APIで組織・ユーザー・ロール・グループ一覧を取得するにまとめています。
OpenTelemetryや監査ログエクスポートとどう使い分けるか
CoworkのOpenTelemetryロギングやClaude Codeのモニタリングは、トークン・コスト・ホスト情報を含むイベントを、自分たちが用意したコレクターへリアルタイムでストリーミングする仕組みです。対してCompliance APIは、Anthropic側に保持されたセッション単位のトランスクリプトを事後に取得する仕組みで、既存のComplianceアクセスキーだけで動きます。OpenTelemetryでもプロンプトと応答は取得できますが、CoworkとClaude Codeのセッション内容を取るならCompliance APIが推奨経路です。
組織設定のデータとプライバシー画面からダウンロードできる監査ログエクスポートは、Compliance APIよりも範囲が狭い機能です。遡れる期間に上限があり、CSVダウンロードのみでチャット・ファイル・プロジェクトの中身には触れません。継続的にプログラムから使うなら、監査ログエクスポートではなくCompliance APIに寄せるのが基本線です。
サンドボックスで検証するにはどうすればよいか
Activity Feedだけを試すなら、Claude Enterprise組織は不要です。自己サービスでの有効化に対応した単独のClaude Console組織で、組織adminがCompliance APIを有効化し、新しいAdmin APIキーでフィードを呼べます。Console組織のセキュリティ設定にCompliance APIのセクションが見当たらない場合、その組織は自己サービス有効化の対象外です。
全エンドポイントを試すには、同じ親組織の下でClaude Enterprise組織とClaude Console組織をリンクしたサンドボックスを用意します。Anthropicの担当者を通じてEnterprise側を用意し、自分でConsole組織を作成した後、claude.aiの組織設定にある「Merge Organizations」で両者を1つの親組織の下にまとめます。リンク後は本番組織と同じ手順でキーを作成して検証を進められます。エラー発生時の切り分け方はCompliance APIのエラーハンドリング完全ガイドを参照してください。
まとめ
Compliance APIの疑問の多くは、「どのキーがどこまで届くか」「ローカルとリモートのどちらのセッションか」「Activity Feedとコンテンツ本体で保持期間の軸が違う」という3点の混同から生まれます。有効化はEnterpriseなら親組織単位、単独Console組織なら組織単位で行われ、オフにしても既存の記録は消えません。削除は常に恒久的なので、保全が必要なコンテンツは消える前に取得しておきます。