Getting started › Welcome
Welcome
Doberman is an authorization gate that sits between your AI coding agent and its tools, turning every meaningful action into a risk-based decision before it runs. This documentation is for anyone installing Doberman, wiring it into an agent, or trying to understand exactly what it does and does not protect against.
What Doberman does#
Every tool call your agent makes gets exactly one verdict, decided before it runs:
PASS: routine work, straight through, no friction.AUTH: sensitive enough that Doberman pauses and asks you to approve it.BLOCK: dangerous enough that Doberman refuses it outright.
Doberman sits on the execution path, so a BLOCK verdict means the action never runs. Two properties hold across every decision it makes. It fails closed: any error,
uncertainty, or unhandled case denies the action rather than letting it through. And it is
raise-only: guardrails and learning can tighten automatically, but nothing loosens without a
human approving it explicitly.
How it works#
- Your agent makes a tool call, such as editing a file or running a shell command.
- The front door, a hook inside your agent's harness or the MCP proxy in front of your tool server, normalizes the call into one common action object.
- The decision engine runs the deterministic objective rules and the adaptive subjective layer, then combines their results raise-only: the final verdict is never weaker than either layer found on its own.
PASSlets the call through,AUTHasks you to approve it, andBLOCKrefuses it, carrying reason codes and a one-line explanation of why.- The decision is logged, redacted to path classes, reason codes, and the verdict, never the raw arguments or a secret.
Which agents#
Doberman attaches one of two ways: hooks inside the agent's own harness, or an MCP proxy in front of a tool server. Pick the row for your setup.
| Agent | How Doberman plugs in |
|---|---|
| Claude Code | Hooks: gates every built-in and MCP tool call |
| Codex CLI | Native PreToolUse hook |
| Claude Desktop / Cursor | MCP proxy: wraps your tool server |
| OpenClaw | Native plugin adapter |
| Any MCP-compatible agent | MCP proxy |
What it is not#
Doberman is defense-in-depth, not airtight: no single rule, detector, or guardrail is a guarantee against every attack. The project is alpha, and its known gaps are written down, such as static command parsing that cannot see what a program does once it starts running. If you're evaluating Doberman for anything you cannot afford to get wrong, read the known limitations ↗ before the feature list.
Next#
- Quickstart: install Doberman and see your first verdict.
- The decision path: how one tool call becomes a verdict.