Files
claude-code-source-code/docs/ja/01-テレメトリとプライバシー.md
2026-04-01 18:55:02 +08:00

4.6 KiB
Raw Blame History

テレメトリおよびプライバシー分析

インターネット上で公開されている資料やコミュニティの議論をもとに整理した Claude Code v2.1.88 分析レポート。

概要

Claude Codeは二層の分析パイプラインを実装し、広範な環境情報と使用メタデータを収集している。キーロギングやユーザーコード流出の証拠はないが、収集範囲の広さと完全な無効化が不可能な点にプライバシー上の懸念がある。

データパイプライン構成

ファーストパーティロギング1P

  • エンドポイント: https://api.anthropic.com/api/event_logging/batch
  • プロトコル: OpenTelemetry + Protocol Buffers
  • バッチサイズ: 最大200イベント、10秒間隔で送信
  • リトライ: 二次バックオフ、最大8回、ディスク永続化
  • ストレージ: 送信失敗時 ~/.claude/telemetry/ に保存

出典: src/services/analytics/firstPartyEventLoggingExporter.ts

サードパーティロギングDatadog

  • エンドポイント: https://http-intake.logs.us5.datadoghq.com/api/v2/logs
  • 対象: 事前承認済みの64種類のイベントに限定
  • トークン: pubbbf48e6d78dae54bceaa4acf463299bf

出典: src/services/analytics/datadog.ts

収集項目

環境フィンガープリント

すべてのイベントに以下のメタデータが含まれる(src/services/analytics/metadata.ts:417-452:

- platform, platformRaw, arch, nodeVersion
- ターミナル種別
- インストール済みパッケージマネージャとランタイム
- CI/CD検出、GitHub Actionsメタデータ
- WSLバージョン、Linuxディストリビューション、カーネルバージョン
- VCSバージョン管理システム種別
- Claude Codeバージョンとビルド日時
- デプロイ環境

プロセスメトリクス(metadata.ts:457-467

- uptime, rss, heapTotal, heapUsed
- CPU使用量と使用率
- memory arraysとexternal allocations

ユーザー追跡(metadata.ts:472-496

- 使用中のモデル
- セッションID、ユーザーID、デバイスID
- アカウントUUID、組織UUID
- サブスクリプション等級max, pro, enterprise, team
- リポジトリリモートURLハッシュSHA256、先頭16文字
- エージェント種別、チーム名、親セッションID

ツール入力ロギング

ツール入力はデフォルトで切り詰められる:

- 文字列: 512文字で切り詰め、128文字+省略記号で表示
- JSON: 4,096文字制限
- 配列: 最大20要素
- ネストオブジェクト: 最大2階層

出典: metadata.ts:236-241

ただし、OTEL_LOG_TOOL_DETAILS=1 設定時はツール入力がすべて記録される

出典: metadata.ts:86-88

ファイル拡張子追跡

rm, mv, cp, touch, mkdir, chmod, chown, cat, head, tail, sort, stat, diff, wc, grep, rg, sed 関連のBashコマンドで、ファイル引数の拡張子が抽出・記録される。

出典: metadata.ts:340-412

無効化の問題

ファーストパーティロギングパイプラインは、直接Anthropic APIユーザーの場合無効化できない

// src/services/analytics/firstPartyEventLogger.ts:141-144
export function is1PEventLoggingEnabled(): boolean {
  return !isAnalyticsDisabled()
}

isAnalyticsDisabled() がtrueを返すケース:

  • テスト環境
  • サードパーティクラウドプロバイダBedrock, Vertex
  • グローバルテレメトリ無効化設定UIに非公開

ファーストパーティイベントロギングを無効化するユーザー向け設定は存在しない

GrowthBook A/Bテスト

ユーザーは明示的な同意なくGrowthBookを通じて実験グループに割り当てられる。送信されるユーザー属性:

- id, sessionId, deviceID
- platform, organizationUUID, subscriptionType

出典: src/services/analytics/growthbook.ts

要点

  1. 収集量: セッションあたり数百件のイベントが収集される
  2. 無効化不可: 直接APIユーザーはファーストパーティロギングを停止できない
  3. 永続性: 送信失敗イベントはディスクに保存され積極的にリトライされる
  4. サードパーティ共有: データがDatadogに送信される
  5. ツール詳細バックドア: OTEL_LOG_TOOL_DETAILS=1 で全入力ロギングが有効化される
  6. リポジトリフィンガープリント: リポジトリURLがハッシュ化されサーバー側の相関分析に使用される