Files
claude-code-source-code/docs/ja/01-テレメトリとプライバシー.md

125 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# テレメトリおよびプライバシー分析
> 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ユーザーの場合**無効化できない**。
```typescript
// 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がハッシュ化されサーバー側の相関分析に使用される