Anthropic stores the logs. DarkMatter stores the proof. One record is written by the operator. The other can be verified without trusting anyone.
When Claude Managed Agents runs your pipeline, Anthropic controls execution, infrastructure, and the log. Every record is written by the operator. That is the conflict of interest DarkMatter was built to solve.
Point the Anthropic SDK at DarkMatter. Every call, messages, managed agent sessions, streaming events, is automatically recorded as a verifiable DarkMatter record.
# In your shell or .env export ANTHROPIC_BASE_URL=https://darkmatterhub.ai/ext/claude # The SDK sends this as Authorization: Bearer, which is how the # proxy receives your DarkMatter key. export ANTHROPIC_AUTH_TOKEN=dmp_your_proxy_key # Your real Anthropic key, which DarkMatter forwards and never stores. # Either send it per request as the X-DM-Forward-Key header, or save # it once under Settings, Claude Recording.
import anthropic client = anthropic.Anthropic() # picks up ANTHROPIC_BASE_URL automatically # Managed Agents session, recorded automatically session = client.beta.sessions.create( agent_id="agent_...", environment_id="env_..." ) # Every event becomes a verifiable DarkMatter record for event in client.beta.sessions.stream(session.id, events=[...]): process(event) # → Each step: hash-linked, timestamped, verifiable offline
# Standalone offline verification python verify_darkmatter_chain.py proof_bundle.json bundle context-passport-bundle records 4 VERIFIED. Every payload hashes to the value recorded with it, and each record names the one before it. Note: this proves the records you have were not altered. It cannot prove none were withheld.
DarkMatter never hides the trust boundary. Every record is labeled with how it was captured so you always know what the verification claim means.
ANTHROPIC_API_KEY with ANTHROPIC_BASE_URL, your key is forwarded per-call in the request header and never written to disk on DarkMatter's servers.ANTHROPIC_BASE_URL proxy captures all Claude API calls, /v1/messages, /v1/sessions, /v1/sessions/{id}/events, and streaming.