
# ZizkaDB
### The causal database for AI agents: audit trail, agent memory and AI compliance
Every agent decision linked to its cause. **Causal agent memory**, a **tamper-evident audit log** and **time-travel debugging**,
in one open-source database on Postgres. Built for **EU AI Act Article 12** record-keeping.
Keyword + vector search · Agent drift measurement · MCP server · Python & TypeScript SDKs · Self-host or cloud
**[Quickstart](#quickstart-60-seconds)** · **[Docs](DEVELOPMENT.md)** · **[Integrations](#integrations-langchain-langgraph-crewai-livekit-openclaw-mcp)** · **[Connect](CONNECT.md)** · **[Cloud](https://db.zizka.ai)** · **[Discussions](https://github.com/ZIZKA-AI-SL/ZizkaDB/discussions)** · **[Contributing](CONTRIBUTING.md)**
[](https://github.com/ZIZKA-AI-SL/ZizkaDB/actions/workflows/ci.yml)
[](LICENSE)
[](https://www.bestpractices.dev/projects/16048)
[](https://addonaudit.com/addon/io-github-zizka-ai-sl-zizkadb-mcp/)
[](https://github.com/ZIZKA-AI-SL/ZizkaDB/releases)
[](https://pypi.org/project/zizkadb-sdk/)
[](https://www.npmjs.com/package/zizkadb-sdk)
[](https://github.com/ZIZKA-AI-SL/ZizkaDB/stargazers)
Every agent team eventually asks: *Why did it say that? Why did it call that tool?* ZizkaDB links every agent step to the step that caused it, so you get the answer in one call instead of scrolling through traces. That causal record is also the agent's **auditable memory** for its next run, and a **tamper-evident audit log** you can prove was never changed. Observability platforms show you what happened; ZizkaDB is an **AI agent auditability platform** that proves why, through **causal lineage**, from **agent debugging** to **AI compliance**. Under the hood it is an **agentic database**: an operational database for AI agents in which every event is SHA-256 checksummed and hash-chained, so its record works as **cryptographic telemetry for AI agents** that any **agent audit** can verify.
- **Causal lineage, not just traces.** Each event carries a `parent_id`. `db.why(event_id)` walks back to the user message, wrong tool, or bad context that started it.
- **Time-travel debugging and session replay.** `db.at(agent, timestamp)` rebuilds exactly what the agent knew at any past moment, and you can replay any session step by step.
- **Provable history.** Every event has a checksum and is hash-chained to the one before it, so `db.verify_chain(agent)` proves nothing was edited, removed or reordered. GDPR deletions leave a content-free tombstone. A verifiable record for EU AI Act Article 12.
- **Causal agent memory for the next run.** `db.context_for(agent, task)` returns the relevant past as a prompt block, ranked by relevance, importance and recency; a new fact can replace an old one (`supersedes`). Keyword search works with no OpenAI key, hybrid with embeddings, or embed locally.
- **Built database.** Idempotent and batch writes, retention, export/import, read-only and expiring keys, Prometheus metrics, backup and restore scripts.
- **Agent drift measurement.** `db.baseline(agent)` scores how far an agent's recent sessions have moved from its baseline (0 = stable), so you catch **agent drift** before your users do.
- **Self-host or cloud.** Run it on your own Postgres with one Docker command, or use [ZizkaDB Cloud](https://db.zizka.ai). AGPL-3.0, no per-trace billing; self-hosted data never leaves your infrastructure. Self-hosted runs **one agent with one API key**; multiple agents, agent fleets and agent-to-agent messaging are on Cloud.
**In plain words:** ZizkaDB is a flight recorder for AI agents. It records every step an agent takes and which step led to it, so when an agent does something unexpected, you can see exactly why.
### Start here
| You are… | Go to |
| --- | --- |
| New to ZizkaDB, or not technical | [ZizkaDB Cloud](https://db.zizka.ai): nothing to install |
| A developer trying it on your laptop | [Quickstart](#quickstart-60-seconds): one command, about a minute |
| Adding it to an agent you already have | [Connect your agent](#connect-your-agent) |
| Running it for your team on a server | [Self-host on a server](#self-host-on-a-server) or [Deploy on Redu Cloud](#deploy-on-redu-cloud) |