Safeguard Docs
Integrations

Anthropic Claude Compliance

Connect your Claude organization's Activity Feed to Safeguard through Anthropic's Compliance API. The scope the key needs, which key types work, and step-by-step setup.

What it does

The Anthropic Claude Compliance card reads your Claude organization's audit and compliance activity (the Compliance API's Activity Feed) into Safeguard, on a poll interval you set. You see recent events on the card's page, and events that touch API keys, roles, permissions, MCP or compliance settings raise a warning alert. Find the card under Integrations on the Project/Product tab.

It reads the Activity Feed only. It does not read chats, files, projects or session transcripts.

Public vs private

This integration has no public mode: it always needs a key for your own Claude organization.

Supported auth methods

MethodUse it whenNotes
Compliance Access Key (sk-ant-api01-...)Your organization is on Claude EnterpriseCreated in claude.ai by the primary owner or an organization owner
Admin API key (sk-ant-admin01-...)You have a standalone Claude Console organizationCreated in the Claude Console by an organization admin; reaches the Activity Feed only

Permissions required

Safeguard only reads the Activity Feed (GET https://api.anthropic.com/v1/compliance/activities). It never deletes or changes anything in your Claude organization.

Compliance Access Key

ScopeRequired?What Safeguard uses it for
read:compliance_activitiesRequiredReading the Activity Feed and paging through new events on each sync
read:compliance_user_dataNot usedLeave it off. It reads every chat, file, project and transcript
delete:compliance_user_dataNot usedNever grant it to Safeguard
read:compliance_org_dataNot usedLeave it off

Admin API key

RequirementRequired?Why
The Compliance API was enabled before the key was createdRequiredOnly then does the key carry read:compliance_activities

Least privilege: a Compliance Access Key with only read:compliance_activities, scoped to the organizations you want monitored.

Token types

Key typeWorks?Notes
Compliance Access Key with read:compliance_activities onlyYes (recommended)
Compliance Access Key with more scopesWorks, not recommendedSafeguard uses only the Activity Feed; extra scopes widen what a leaked key could read or delete
Admin API key created after the Compliance API was enabledYesStandalone Claude Console organizations
Admin API key created before the Compliance API was enabledNoReturns 403; create a new key
Claude API key (sk-ant-api03-...) or Analytics API keyNoThey cannot call the Compliance API

Expiry: Compliance Access Keys do not expire on their own. Rotate the key every 90 days, and delete it at once if it leaks.

What we never need: read:compliance_user_data, delete:compliance_user_data, read:compliance_org_data, or a key that calls Claude models.

Step-by-step setup

Create the key in Claude

Claude Enterprise:

  1. As the primary owner, open claude.ai > Organization settings > API and enable the Compliance API, if it is not on yet.
  2. In the Keys section, click Create key, name it (for example Safeguard) and select only read:compliance_activities. Click Create.
  3. Copy the key (it starts with sk-ant-api01-). Anthropic shows it only once.

Standalone Claude Console organization:

  1. As an organization admin, turn on the Compliance API toggle on the Console's Compliance page (platform.claude.com/settings/security).
  2. Create a new key on the Admin keys page (platform.claude.com/settings/admin-keys) and copy it (it starts with sk-ant-admin01-).

Or with the CLI

Anthropic has no CLI that creates these keys. To check a key before you paste it into Safeguard:

curl --fail-with-body -sS "https://api.anthropic.com/v1/compliance/activities?limit=1" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"

Connect it in Safeguard

  1. Open Integrations and choose the Project/Product tab.
  2. Click Connect on the Anthropic Claude Compliance card.
  3. Paste the key into Access Key.
  4. Leave Stream activity on and set the Poll interval in minutes (at least 1).
  5. Click Connect, then Sync now to read the first events. They appear under the recent activity list.

Webhooks and triggers

Anthropic's Activity Feed has no webhooks. Safeguard polls it on the Poll interval you set (Safeguard's scheduler runs every 10 minutes and honours your interval), and Sync now reads new events at once. Turn Stream activity off to pause polling without disconnecting.

What we read and store

  • Read: Activity Feed events: each event's id, time, type and actor (type, email address, user id, IP address, user agent).
  • Stored: the events, the connection's settings, the last sync time and last error, and the key, which is encrypted at rest and shown only by its last 4 characters.
  • Not read: chats, files, projects, session transcripts, users or organization settings.
  • No customer data from this integration is sent to third-party LLMs.

Troubleshooting

Message you seeCauseFix
Enter your Anthropic Access Key to connect.The key field is emptyPaste the key
Enter a poll interval of at least 1 minute.The interval is 0 or emptyEnter 1 or more
Anthropic rejected the key (401). Double-check the access key value.The key is wrong or deletedRe-copy it or create a new one
Anthropic denied access (403). The key is missing the read:compliance_activities scope, or the Compliance API was enabled AFTER this key was created ...Missing scope, or an Admin API key older than the enablementCreate a new key with read:compliance_activities
Anthropic returned 404 ... the Compliance API is not enabled for this organization, or this is not a Compliance Access Key ...The Compliance API is off, or a Claude API key was pastedEnable the Compliance API and use a Compliance Access Key or Admin API key
Rate limited by Anthropic (429). Safeguard will retry on the next scheduled sync.Anthropic's rate limitNothing to do; the next sync retries

Rotation and disconnect

  • Rotate: create a new key with the same scope, paste it into Access Key on the card's page and save (leave the field blank to keep the existing key), check that Sync now works, then delete the old key in claude.ai or the Claude Console.
  • Disconnect: click Disconnect on the card's page. Then delete the key in claude.ai > Organization settings > API (or on the Console's Admin keys page). Deleting a key takes effect on Anthropic's side at once.

Vendor references

On this page