Compliance API FAQ
Compliance API FAQ
Compliance API 접근·범위·보존·통합에 대한 일반적인 질문의 답을 모아 둔 페이지예요.
Compliance API를 활성화하려면 Compliance API 설정을 참고하세요.
출처: 문서
본문
접근과 범위
누가 Compliance API를 활성화할 수 있나요? Claude Enterprise 조직의 경우 primary owner가 claude.ai > Organization settings > API에서 Compliance API를 활성화하며, 활성화는 상위 조직에서 모든 연결 조직으로 전파돼요. 자격이 되는 독립 Claude Console 조직(상위 조직이 없는)은 조직 admin이 Claude Console > Settings > Security에서 활성화해요. 상위 조직에 연결된 Claude Console 조직은 스스로 Compliance API를 활성화하지 않고 상위 조직에서 활성화돼요. 단계는 Compliance API 설정 참고.
Claude Console에서 활성화한 후 Compliance API를 끌 수 있나요? 예. 독립 Claude Console 조직의 경우 조직 admin이 켤 때와 같은 곳인 Claude Console > Settings > Security에서 Compliance API 토글을 끌 수 있어요. Compliance API가 off인 동안 조직의 활동 이벤트가 기록되지 않으므로 Activity Feed는 새 이벤트를 받지 못해요. 조직이 Access Transparency에 등록되어 있다면 Compliance API를 끄면 Access Transparency 이벤트 전달도 멈춰요. off인 동안 기록되지 않은 활동은 나중에 복구할 수 없어요. 다시 켜면 그 시점부터 기록이 재개되며, 이미 기록된 활동은 삭제되지 않아요.
Compliance API를 꺼도 이미 캡처된 이벤트가 삭제되나요? 아니요. Compliance API를 끄면 새 활동 이벤트 기록이 중단되지만, 켜져 있던 동안 이미 캡처된 이벤트는 삭제되지 않아요. 기록은 Compliance API를 다시 켠 시점부터 재개돼요.
Claude Console에서 Compliance API를 끄는 것이 어디에 기록되나요?
예. Claude Console에서 Compliance API를 끄면(또는 다시 켜면) 그 변경이 Activity Feed의 org_compliance_api_settings_updated 활동으로 기록돼요. 그래서 감사 기록에 누가 언제 설정을 바꿨는지 보여요. 이 활동은 기록 중단의 예외예요. Compliance API가 off인 동안 다른 활동은 기록되지 않아도 비활성화는 기록돼요.
Admin API 키를 만들 때 왜 상위 조직이 Claude Console에 나타나지 않나요? 예상된 동작이에요. Claude Enterprise 상위 조직은 모든 연결 조직에 걸쳐 identity를 중앙화해요. 워크로드를 담지 않고 Claude Console에는 전혀 나타나지 않아요. Claude Console은 상위 아래 연결된 Claude Console 조직만 보여줘요.
Compliance API를 호출하려면 대신 다음 두 키 유형 중 하나를 만들어요:
- 전체 Compliance API 접근(Activity Feed + 채팅·파일·프로젝트·세션·사용자·조직 메타데이터·조직 설정)은 상위 조직의 primary owner(또는 자신의 조직으로만 제한된 키의 경우 organization owner)가 claude.ai에서 Compliance Access Key를 만들어요.
- Activity Feed 접근만은 Claude Console 조직의 조직 admin이 Claude Console에서 Admin API 키를 만들어요. 조직에 Compliance API가 이미 활성화되어 있어야 하고, admin이
read:compliance_activities범위를 담게 하려면 Compliance API가 활성화된 동안 Admin API 키를 만들어야 해요.
일반 Claude API 키를 Compliance API에 사용할 수 있나요?
아니요. Claude API 키(sk-...)는 Claude API에서 Claude 모델 호출을 인증해요. /v1/compliance/* 호출은 인증하지 않아요. Compliance API는 Compliance Access Key(sk-...)와 Admin API 키(sk-...)만 받아요. 전체 매핑은 어떤 키가 필요하나요? 참고.
왜 Admin API 키가 채팅·파일 엔드포인트에서 403을 반환하나요?
Admin API 키의 유일한 Compliance API 범위는 read:compliance_activities이며 Activity Feed만 인가해요. 다른 모든 Compliance API 엔드포인트는 claude.ai에서 만든 Compliance Access Key만 담을 수 있는 범위가 필요해요. Admin API 키로 콘텐츠·디렉터리 엔드포인트를 호출하면 해당 엔드포인트 패밀리가 요구하는 범위를 명명하는 403을 반환해요. 채팅·파일·프로젝트·프로젝트 첨부·세션·사용자·그룹 구성원은 read:compliance_user_data, 조직·역할·그룹·유효 조직 설정은 read:compliance_org_data. 예를 들어 채팅을 나열하면 다음 응답이 반환돼요.
{
"error": {
"type": "permission_error",
"message": "Missing required scopes. Got: ['api:admin', 'read:compliance_activities'] Needed one of: ['read:compliance_user_data', 'read:org_audit']"
}
}
콘텐츠 엔드포인트에 접근하려면 상위 조직의 primary owner(또는 자신의 조직으로만 한정하려면 organization owner)가 read:compliance_user_data(삭제에는 delete:compliance_user_data) 또는 조직·역할·그룹·유효 설정 엔드포인트에는 read:compliance_org_data를 가진 Compliance Access Key를 만들어야 해요. 상위 조직이 없는 독립 Claude Console 조직은 Compliance Access Key를 만들 수 없으므로 콘텐츠 엔드포인트를 사용할 수 없고 Activity Feed만 조회할 수 있어요. 엔드포인트별 전체 카탈로그는 Compliance API 오류 처리 참고.
데이터 범위와 보존
Activity Feed는 얼마나 거슬러 올라가나요? Activity Feed는 6년 동안의 조직 활동을 보존하고 새 이벤트는 발생 후 1분 이내에 조회할 수 있어요. 피드는 조직에 Compliance API가 처음 활성화된 시점까지만 거슬러 올라가요. 기록은 소급되지 않고 활성화 이전 활동은 백필되지 않아요. Activity Feed 보존은 조직의 콘텐츠 보존 정책과 독립적이에요. 채팅·파일·프로젝트 콘텐츠는 사용자가 더 일찍 삭제하지 않는 한 조직에 구성된 보존 규칙(기본적으로 무기한)을 따라요.
Activity Feed에 프롬프트나 메시지 콘텐츠가 포함되나요? 아니요. Activity Feed는 누가 언제 무엇을 했는지(인증, 채팅 생성, 파일 업로드, 프로젝트 변경, 관리 작업과 유사한 리소스 이벤트)를 기록하지만 채팅·메시지 안의 프롬프트 텍스트나 모델 응답은 캡처하지 않아요.
메시지 본문과 파일 내용을 조회하려면 read:compliance_user_data를 가진 Compliance Access Key로 채팅·메시지·파일 엔드포인트를 사용하세요. 같은 키와 범위로 사용자 기기 세션(예: Cowork·Claude Code 세션)의 기록은 로컬 세션 엔드포인트를, 클라우드의 Cowork 세션 기록은 원격 세션 엔드포인트를 통해 조회해요. 이 엔드포인트들은 Claude Enterprise 콘텐츠만 제공해요. Claude Console 워크로드와 API 키로 인증된 Claude API 워크로드는 Activity Feed를 통해 관리·리소스 이벤트를 노출하지만 Compliance API를 통해 프롬프트 텍스트나 모델 응답을 노출하지 않아요.
Cowork, Claude Code, Claude Science, Claude for Microsoft 365, Chrome의 Claude 세션이 Compliance API에 나타나나요?
예. 사용자 기기에서 실행되는 Claude Desktop의 Cowork 세션, Claude Code 세션(터미널, Claude Desktop, IDE 확장), Claude Science 데스크톱 앱의 세션, Claude for Microsoft 365 세션(Excel·PowerPoint·Word·Outlook), Chrome 브라우저 확장의 Claude 채팅은 사용자가 Claude Enterprise 계정으로 로그인한 동안 캡처되어 로컬 세션 엔드포인트를 통해 사용할 수 있어요. claude.ai 웹·모바일에서 시작되어 Anthropic 관리 환경의 클라우드에서 실행되는 Cowork 세션은 원격 세션 엔드포인트를 통해 사용할 수 있어요. 각 패밀리는 세션 메타데이터를 반환하는 목록 엔드포인트와 세션 기록(사용자 프롬프트, 어시스턴트 응답, 도구 호출·결과)을 반환하는 messages 엔드포인트를 가져요. 로컬 패밀리는 한 세션의 메타데이터를 조회하는 세 번째 엔드포인트를 추가해요. 이 모든 엔드포인트는 read:compliance_user_data를 가진 기존 Compliance Access Key를 사용하며 새 키나 범위가 필요 없어요.
로컬 세션은 요청이 Claude API에 도달할 때 캡처되므로 기기에 아무것도 설치되지 않고, API에 도달하지 않는 기기 내 활동은 캡처되지 않아요. Claude Console API 키로 인증된 Claude Code 세션, 타사 클라우드 플랫폼(Amazon Bedrock, Google Cloud, Microsoft Foundry)을 통해 실행되는 Claude Code 세션, 사용자 기기 대신 클라우드 인프라에서 실행되는 Claude Code 클라우드 세션은 캡처되지 않아요. 이 클라우드 세션들은 둘 다 클라우드에서 실행되지만 원격 세션이 아니에요. 원격 세션 엔드포인트는 Cowork 세션만 반환해요. HIPAA 대응이 활성화된 조직은 로컬 세션 데이터를 받지 못하고, 제로 데이터 보존(ZDR)이 적용 중인 세션은 제외돼요.
로컬·원격 세션 엔드포인트는 Cowork·Claude Code 세션에 대해 안정적이에요. Claude Science, Claude for Microsoft 365, Chrome의 Claude 세션 커버리지는 베타예요.
세션 기록에는 무엇이 포함되나요? 로컬·원격 세션 기록 모두 사용자 프롬프트, 어시스턴트 응답, 도구 호출·결과를 담아요. 로컬 세션(사용자 기기)의 경우 그것은 Claude에게 무엇을 하라고 했는지와 그것이 반환한 것을 뜻하며, 기기에서 무슨 일이 벌어졌는지가 아니에요.
| 데이터 | 로컬 세션(사용자 기기) | 원격 세션(클라우드) |
|---|---|---|
| 사용자 프롬프트 | 예; text 블록으로 반환. |
예; text 블록으로 반환. |
| 어시스턴트 응답 | 예; 텍스트 출력만. | 예; 텍스트 출력만. |
| 도구 호출·결과 | 예; 각 tool_use 입력과 tool_result의 각 text 항목은 기본적으로 10,000바이트로 잘림(요청 시 각각 최대 약 1MiB). |
예; 각 tool_use 입력과 tool_result의 각 text 항목은 기본적으로 10,000바이트로 잘림(요청 시 각각 최대 약 1MiB). |
| 파일 콘텐츠와 파일 이름 | 예; Claude가 도구로 읽는 텍스트는 같은 잘림 규칙 아래 기록에 나타나요. 이미지·PDF·기타 이진·구조화 콘텐츠는 자리 표시자 text 블록으로만 나타나요. 파일 이름은 도구 호출 입력·출력에 나타나요. |
예; 파일 콘텐츠·이름이 도구 호출 입력·출력을 통해 기록에 나타나요(텍스트만; 다른 콘텐츠는 생략). |
| 아티팩트 | 예; 생성된 콘텐츠가 기록의 도구 호출 입력 안에 나타나요. | 예; 생성된 콘텐츠가 기록의 도구 호출 입력 안에 나타나요. |
| 스킬 | 예; 클라이언트가 스킬 콘텐츠를 메시지 콘텐츠로 보내면 나타나며 다른 사용자 텍스트와 구분되지 않아요. | 예; 스킬 콘텐츠가 기록에 나타나요. |
| 세션 메타데이터 | 예; 목록·조회 엔드포인트의 소유자(user.id, 이메일 주소), 조직, 워크스페이스, product_surface, created_at, updated_at. 로컬 세션은 status가 없어요. |
예; 목록 엔드포인트의 소유자, 조직, status, 타임스탬프, product_surface. |
| Thinking 블록 | 아니요. | 아니요. |
| 이미지 및 기타 비텍스트 콘텐츠 | 아니요; 각 이미지·PDF·기타 이진·구조화 블록은 truncated가 true로 설정된 자리 표시자 text 블록(예: [image content not shown])으로 나타나요. 원시 파일 바이트는 절대 반환되지 않아요. |
아니요; 비텍스트 블록은 생략되고 원시 파일 바이트는 절대 반환되지 않아요. |
| 토큰 사용·비용·지연 | 아니요; 토큰 사용·비용은 Claude Enterprise Analytics API로 사용할 수 있어요. | 아니요; 토큰 사용·비용은 Claude Enterprise Analytics API로 사용할 수 있어요. |
엔드포인트·매개변수는 사용자 기기의 세션과 클라우드의 세션 참고.
Cowork·Claude Code의 세션 커버리지는 OpenTelemetry 로깅(OTEL)과 어떻게 비교되나요? Cowork의 OpenTelemetry 로깅과 Claude Code 모니터링은 세션 엔드포인트와 겹치지만 다른 요구를 충족해요. OTEL은 활동이 발생할 때 운영 중인 인프라로 이벤트별 원격 측정을 스트리밍하는 반면, Compliance API는 사후에 보존된 세션별 기록을 Anthropic에서 조회하게 해 줘요. OTEL은 프롬프트·응답도 캡처할 수 있지만 Anthropic은 Cowork·Claude Code 세션의 콘텐츠를 조회할 때 Compliance API를 권장해요. 로컬 세션·원격 세션·OTEL을 비교한 표는 세션 기록 조회의 소개 참고.
OTEL 이벤트와 Compliance API 기록은 조직·사용자 식별자를 공유하므로 조인할 수 있어요.
삭제된 콘텐츠가 Compliance API로 복구되나요?
아니요. Compliance API를 통한 삭제는 즉시·영구적이며 복구할 수 없어요. claude.ai에서 사용자가 삭제한 채팅의 콘텐츠도 복구할 수 없어요. Compliance API는 여전히 채팅과 메시지를 deleted_at이 채워진 채 반환하지만 콘텐츠는 없어요. 사용자가 삭제한 원격 세션도 마찬가지로 복구할 수 없고 원격 세션 엔드포인트는 더 이상 반환하지 않아요. (법적 보존·아카이빙용으로) 보존해야 할 콘텐츠는 사용 가능한 동안 당겨두세요. 자체 아카이브로 콘텐츠를 내보낼 시점은 콘텐츠 보존 계획 참고.
Compliance API가 캡처하지 않는 것은 무엇인가요? Compliance API에는 알려진 커버리지 경계가 있어요: Activity Feed는 리소스 이벤트를 기록하지만 프롬프트·응답 텍스트는 기록하지 않고, API 키로 인증된 Claude Console·Claude API 워크로드는 메시지 콘텐츠를 전혀 노출하지 않으며, 보존 정책으로 제거되거나 claude.ai에서 사용자가 삭제하거나 Compliance API로 하드 삭제된 콘텐츠는 복구할 수 없어요. 전체 커버리지 경계와 전달 계약은 전달 보장과 완전성 참고.
세션 기록은 자체 경계가 있어요. 로컬 세션은 요청이 Claude API에 도달할 때만 캡처되므로 API에 도달하지 않는 기기 내 활동은 캡처되지 않아요. Claude Console API 키로 인증된 Claude Code 세션, 타사 클라우드 플랫폼(Amazon Bedrock, Google Cloud, Microsoft Foundry)을 통해 실행되는 Claude Code 세션, 사용자 기기 대신 클라우드 인프라에서 실행되는 Claude Code 클라우드 세션도 캡처되지 않아요. HIPAA 대응이 활성화된 조직은 로컬 세션 데이터를 받지 못하고, 제로 데이터 보존이 적용 중인 세션은 제외돼요. 어떤 세션 기록도(로컬·원격) thinking 블록이나 도구 정의를 포함하지 않아요. 고객 관리 암호화 키를 사용하는 조직은 평소대로 로컬 세션 기록을 받아요. 키를 사용할 수 없는 동안 messages 엔드포인트는 기록 콘텐츠 대신 503 Service Unavailable을 반환하고 세션 메타데이터는 여전히 나열돼요.
통합과 페이지네이션
Compliance API 기록을 SIEM과 어떻게 상관시킬 수 있나요?
Activity 기록을 actor.user_id, actor.email_address, actor.ip_address, actor.user_agent, created_at으로 SIEM에 조인하세요. 조인 키 표와 소비 패턴은 준수 통합 설계 참고.
한 고객이 한 상위 아래에 여러 조직을 가질 수 있나요?
예. Claude Enterprise 상위 조직은 많은 연결 조직을 가질 수 있고, claude.ai 조직과 Claude Console 조직의 혼합도 가능해요(예: 별도의 프로덕션·스테이징 Claude Console 조직). identity·SSO·SCIM은 상위에 걸쳐 공유되고, 청구·구성원·프로젝트·API 키는 조직마다 분리돼요. Compliance API 활성화는 상위 조직 수준에서 발생해 모든 연결 조직으로 전파되며, 상위 조직을 다루고 read:compliance_org_data를 가진 Compliance Access Key는 GET /v1/compliance/organizations로 상위 아래의 모든 조직을 열거할 수 있어요.
활동은 순서대로 반환되나요? 언제 실시간을 따라잡았는지 어떻게 감지하나요?
활동은 최신순으로 반환되며 created_at이 같으면 활동 ID로 순서가 결정돼요. 따라잡으려면 before_id로 페이지를 앞으로 걸어 has_more가 false가 될 때까지 진행하세요. 그 마지막 응답의 first_id가 새 커서이며 현재 지점에 도달했어요. 초기 백필과 커서 영속화의 안전 조건을 포함한 전체 루프는 커서 기반 증분 읽기 참고.
Compliance API를 테스트할 샌드박스를 어떻게 얻나요? Activity Feed만 테스트한다면 Claude Enterprise 조직이 필요 없어요. 조직 admin이 자격이 되는 독립 Claude Console 테스트 조직에서 Compliance API를 활성화하고 새 Admin API 키로 피드를 조회할 수 있어요. 그 조직의 Security 설정에 Compliance API 섹션이 보이지 않으면 그 조직은 셀프서비스 활성화 자격이 없는 거예요.
모든 엔드포인트를 테스트하려면 같은 상위 아래 Claude Console 조직에 연결된 Claude Enterprise 샌드박스 조직을 설정하세요. 그러면 샌드박스가 Admin API 키로 Activity Feed와, Compliance Access Key로 채팅·파일·프로젝트·세션 엔드포인트를 모두 실행할 수 있어요.
- Claude Enterprise 조직 프로비저닝 — Anthropic 담당자에게 문의해 Claude Enterprise 샌드박스 조직을 설정하세요. 기존 Claude Enterprise 조직에서는 primary owner가 claude.ai에서 Compliance API를 직접 활성화할 수 있어요.
- Claude Console 조직 만들기 — 같은 이메일 주소로
platform.claude.com에서 직접 Claude Console 조직을 만드세요. - 두 조직 연결 — Claude Enterprise 조직의 primary owner로 로그인해 claude.ai > Organization settings > Identity and access로 이동하고 Merge Organizations로 두 조직을 공유 상위 아래 연결하세요.
연결되면 Compliance API 설정을 따라 키를 만들고 조회를 시작하세요. 테스트 조직은 프로덕션 조직과 같은 활성화 과정을 사용해요.