Repository navigation
Adapters
Experimental (v1): these adapters record through the v1 laptop signer. They work and are tested, but may change and get less hardening than the stable core; new agents use the v2 integrations.
An adapter routes a framework's real tool calls through the SDK, so each one is policy-checked before it runs and its result is recorded. Anything the framework does outside the adapter is not seen.
from tracekit.agent_sdk import Tracer
from tracekit.adapters import traced
with Tracer(agent="my-agent") as tracer:
@traced(tracer, name="Bash") # sync or async
def shell(command): ...A denied call raises PermissionError and the function body never runs.
Policy rules match on the tool name. The default rules know Bash, Write, Edit, WebFetch and so on. If your
shell tool is called run_command, the shell rules will not apply to it: name it Bash for tracing, or add rules
for your own tool names in a policy file (extends: default).
pip install "tracekit-ai[langchain]"from tracekit.adapters.langchain import TracekitCallbackHandler
with Tracer(agent="my-graph") as tracer:
graph.invoke(inputs, config={"callbacks": [TracekitCallbackHandler(tracer)]})The handler uses LangChain's callback system, which LangGraph shares. It raises on a denied call, and LangChain
propagates the exception before the tool body executes. It is tested against langchain-core and a LangGraph
ToolNode. Model calls are not recorded by this adapter.
from tracekit.adapters.mcp import traced_session
session = traced_session(session, tracer, server="github")
await session.call_tool("create_issue", {"title": "..."}) # gated and recorded as mcp__github__create_issueNames follow Claude Code's mcp__<server>__<tool> convention, so the default and strict policies' MCP rules apply. A
denied call raises PermissionError and never reaches the server. MCP tool errors (isError) stay results for the
caller and are recorded as failed calls.
- Model calls:
tracekit_sdk.init()(OpenAI, Anthropic, Google Gen AI) or OpenTelemetry (otel). - Onchain transactions behind a guard:
tracekit_onchain.guarded_tx(contrib/onchain). - Codex CLI, Cursor and Gemini CLI: hooks,
tracekit init --dev --agent ...(coding agents).
To add an adapter for something else: translate each tool call into tracer.tool(name, args) and write a test that
proves a denied call never executes.
Generated from docs/ at v1.4.1. Edit the docs in the repository, not here.
Get started
- Quickstart: the v2 signer
- Quickstarts
- Quickstart: Claude Agent SDK
- Quickstart: a custom agent
- Quickstart: LangChain and LangGraph
- Quickstart: MCP client
- Quickstart: OpenAI Agents SDK
- Coding agents other than Claude Code
- tracekit doctor
- Walkthrough: Tracekit end to end
How it works
- How Tracekit works
- Overview
- The life of a tool call
- The evidence format
- Verification and assurance
- Witnesses and monitoring
- Policy
- Approvals
- Detection and containment
- Capture and completeness
- Custody
- Provenance and tracekit why
- Deployment and isolation
- Storage, durability and performance
- Integrations
- Security model
- Architecture
- tracekit why: architecture
Integrations
- Integrations
- Adapters
- OpenTelemetry
- Remote clients
- Kubernetes agent-sandbox
- agentgateway
- agentsh and Tracekit
- Browser Use
- Claude Agent SDK
- Claude Code's sandbox
- Codex's sandbox
- CrewAI
- Docker MCP Gateway
- E2B
- Falco
- Gemini CLI's sandbox
- Google ADK
- Haystack
- LangChain v1
- LiteLLM
- LlamaIndex
- MCP client
- microsandbox
- Microsoft Agent Framework
- OpenAI Agents SDK
- NVIDIA OpenShell
- Pydantic AI
- sandbox-runtime's proxy on its own
- Strands Agents
- Tetragon
- Vercel AI SDK
- Wassette
Policy and approvals
- Policy reference
- Approvals
- Findings
- Reading the model's reasoning
- Incidents and containment
- Webhooks
Deploy and operate
- Deploying the signer
- The signer as a container
- The signer on Kubernetes
- The compose stack
- Identity
- Tool executor
- MCP gateway
- LLM gateway
- Egress observation
- Witnesses
- Log monitor
- Record-key issuer
- Signer observability
- Viewer
- tracekit why: causal investigation and replay
- Migrating
- Platforms
Verify the evidence
- Reading a v2 verify report
- Evidence format v2
- Auditor guide
- Sample evidence bundle
- Signing
- What Tracekit guarantees
Security and privacy
- Threat model: the v2 signer
- Threat model: the v1 laptop signer
- HTTP security checklist
- Threat-model review packet
- Privacy
- Known limits and trade-offs
- What's stable
Compliance
- Compliance mapping
- EU AI Act
- ISO/IEC 42001
- NIST AI RMF and the Generative AI Profile
- OWASP Top 10 lists for LLM and agentic applications
Evaluation
Demos
- Demos
- Agent approvers within bounds
- Completeness and tamper evidence
- Detection and containment
- Network coverage: an egress observer
- Guardrails: allow, deny, or ask a person
- MCP tools, gated and recorded
- Prompt injection held by provenance
- Why: which input caused the action
Help