Repository navigation
Demos

The full tour as a video: tracekit-tour.mp4 (3 min 44 s), each demo below running in a
terminal and tracekit verify on each bundle; the GIF above is an 85 s highlights reel. Both are recorded with
VHS from tour.tape and highlights.tape:
vhs docs/demos/tour.tape from the repo root.
Recorded runs of Tracekit's main use cases, offline: mock models, scripted approvals, and every "outside" host on
this machine. Each folder holds what the scenario is (README.md), the terminal session (transcript.txt), the run's
bundle (run.tkb), the trust config that pins its signer's key (trust.json) and the tracekit verify report
(verify.txt); the why demo has only the first two (its log is hash-chained, not signed).
In story order: what the agent did, how it is controlled, the proof, and why it happened.
| Demo | What it proves | |
|---|---|---|
| What | Guardrails | A coding agent's shell calls are allowed, denied or held for a person, each decision signed before the call runs |
| What | MCP tools | MCP tool calls go through the same policy, approvals and signed record as the agent's own tools |
| Control | Prompt injection | A planted instruction to email data out is held because its recipient came only from a fetched page (provenance) |
| Control | Agent approvers | A reviewer agent clears only calls within its bounds; people answer the rest, and a person's reject sticks |
| Control | Detection and containment | A secret read then an upload opens a signed incident; the run is held until a person resumes it |
| Proof | Completeness and tamper evidence | A call decided but never completed becomes a signed gap; one byte changed in the bundle fails verification |
| Proof | Network coverage | An egress observer outside the agent records the hosts a run reached; one no call explains is flagged |
| Why | Why | Of three untrusted inputs that all reached an exfiltration email, replays show which one caused it |
Check a saved bundle yourself, offline, with nothing but the verifier:
cd docs/demos/containment && tracekit verify run.tkb --trust trust.jsonRun a demo yourself: the command is in its README (from a checkout, after pip install -e ., which needs pip 21.3 or newer). The demos that start a
signer from their own signer.yaml (prompt injection, agent approvers, containment, egress) need macOS or Linux: you
reach that signer as your uid on a Unix socket.
Regenerate every folder, each demo against a fresh signer in a temp dir (never your own), or check them without
writing anything (tests/test_demos.py runs the check):
make demos # python scripts/record_demos.py [NAME ...]
python scripts/record_demos.py --check # each run.tkb still verifies as verify.txt says; each demo still runsEvery bundle here verifies at Assurance: dev: no witness cosigned its checkpoint
(what dev means).
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