# 텔레메트리 및 프라이버시 분석 > 인터넷에 공개된 자료와 커뮤니티 토론을 바탕으로 정리된 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이 해싱되어 서버 측 상관분석에 사용된다