Seal for Claude Enterprise
Turn your Claude Enterprise activity into signed, independently verifiable evidence. Seal reads the Compliance API Activity Feed, signs each event as a tamper-evident record, and commits it to a public, append-only transparency log. A reviewer checks it offline against a published key, with no account and no call to Aqta or Anthropic.
This integration notarises the Activity Feed. It records that Seal received these exact event bytes at this time; it does not re-run the underlying action, does not attest that the feed is complete, and covers audit and activity events only, never conversation content. It applies to Claude Enterprise via the Compliance API, not Claude on Amazon Bedrock or Google Vertex AI.
What you need
- A Claude Enterprise organisation (or an eligible standalone Claude Console organisation) with the Compliance API enabled.
- An Admin API key (
sk-ant-admin01-...) carrying theread:compliance_activitiesscope. This reads the Activity Feed only; it cannot read chats, files or session transcripts. This is the key Seal asks for.
A full Compliance Access Key (sk-ant-api01-...) also works, but it grants far more than this integration needs. Prefer the Admin API key.
1. Enable the Compliance API
- Claude Enterprise: the primary owner enables it at claude.ai → Organization settings → API. Enablement cascades to every linked organisation.
- Standalone Claude Console: an admin turns on the Compliance API toggle at Claude Console → Settings → Security.
Recording begins when the Compliance API is first enabled; earlier activity is not backfilled.
2. Create the Admin API key
Claude Console → Settings → Admin keys → create a key. If the Compliance API was enabled for the organisation at the time the key was created, it carries read:compliance_activities. Store it in your secrets manager; the full secret is shown once.
3. Point Seal at the feed
Give Seal the key through your secrets manager (never in a browser, never in source control). Seal polls GET /v1/compliance/activities with a cursor, backs off on rate limits, and resumes from its last committed position, so no event is missed or double-counted.
Each event becomes a signed record carrying its metadata and a SHA-256 of the event. The actor is reduced to its type; email, IP and user agent are dropped. Every record is committed to Seal's public transparency log at app.aqta.ai/transparency.
4. Verify
The evidence pack verifies in the reviewer's own browser against a published key. Change one field of one record and the signature check fails. The reviewer can pin the transparency-log head and later confirm nothing was removed.
Try it end to end
The connector ships with a self-contained demo. With an Admin API key set, it authenticates, pulls real activity events, signs each, writes an evidence pack, and proves the signatures hold and break, all locally. The key never leaves your machine.
bashexport ANTHROPIC_ADMIN_KEY=sk-ant-admin01-... python3 scripts/claude_compliance_demo.py --limit 5
The capability that makes this more than log shipping
Seal separately holds a signed record of what your agents were authorised to do (its ACTION-v1 format, live in production). The Activity Feed holds what Claude actually did. Reconciling the two surfaces the one gap neither shows alone: an authorised action with no matching activity, or an activity with no matching authorisation. Enable both and the reconciliation runs automatically.
Data handling
Every mirrored event and every derived evidence section is labelled as sourced from Claude by Anthropic. The key is stored in a secrets manager, read only by the Seal gateway service on EU infrastructure. The evidence carries hashes and metadata, not prompt or response text, so verification retains no sensitive content.