Crawdad governs what each agent is allowed to do by its purpose, and judges the action the agent takes rather than the intent it claims. It runs on your machine, in the path where an agent acts, so the identical request can be allowed for one agent and blocked for another. Prompt injection, credential theft, and data exfiltration are caught locally, in real time, with nothing leaving the device. 99.8% detection on a public, reproducible benchmark.
Free tier included. No trial period, no capability gating.
Your AI agents run with your authority: your credentials, your files, your network access. When an agent reads a poisoned document, it doesn't "get hacked." It follows the hidden instruction the same way it follows the ones you gave it.
The result is credential exfiltration, unauthorized file access, and data leakage, all inside your trust boundary. EDR doesn't see it. DLP doesn't see it. Your identity provider doesn't see it. Nothing in the perimeter stack was built for what an agent does after it reads its input.
An agent's power is local. It holds your credentials, reads your files, and calls your tools on your machine. So the place to govern it is the same place. Crawdad runs on the device, in the path between every agent and the model, and decides what each request is allowed to do before it happens. No content leaves the machine for Crawdad to work. Four properties follow from that, and each is one a central cloud gateway cannot offer.
Every agent gets an autonomy ceiling, a set of zones it may touch, per-tool rules, and a session-risk budget that escalates intervention as a session gets more dangerous. Enforced at the wire, by identity. Real agency limitation, not a sentence in a system prompt politely asking the model to behave.
The real API key lives in a hardened store the agent never touches. The agent carries a placeholder that authenticates only through Crawdad. Copy the agent's environment, read its headers, exfiltrate its config: none of it yields a key that works anywhere else. Credential-based bypass stops being a detection problem and becomes architecturally impossible.
Inspection happens on-device. Raw prompts, responses, tool arguments, and files never leave. A gateway has to receive your content to read it; Crawdad never receives it at all. That is the line between a vendor you trust with your data and one that structurally never holds it, and it is what makes Crawdad usable in regulated and data-sovereign environments.
Every event is written to a signed, hash-chained log. A standalone open-source verifier checks it with no network, no Crawdad service, and no secrets from the machine. An auditor who distrusts us can confirm integrity independently. Trust you can check beats trust you're asked to extend.
Filtering the input is a losing game against a determined attacker. The durable question is whether an agent's behavior fits its job. Crawdad governs each agent by purpose, on-device, at the point where it acts, and it judges the action it took, not the intent it claimed.
An operator writes a charter, held outside the agent's control, that says what the agent's job actually is: which tools, which data, which effects. A reporting agent may read the reports tree and email the reporting domain, nothing else.
The charter is an allowlist, not a system-prompt request. A compromised agent hits the same wall an honest one would.
Enumerate a directory, read progressively more sensitive in-scope files, stage them, then send. Each step is individually allowed. The shape of the whole is the attack. Crawdad watches that shape across the session.
It does not claim to catch every composed harm. It catches staged compromise that carries a sensitivity climb, which is the shape real exfiltration takes.
A runnable demo drives this on the real enforcement path. The verdicts are computed by the production engine; the scenario is scripted so it reproduces and side effects are simulated; free-drive returns a real verdict on any action you type. Read how it works →
Charters sit on the same on-device chokepoint as the rest of the governance plane and the credential layer.
Four more primitives compose most-restrictive-wins at the agent-to-tool boundary, authored in the same policy file:
A compromised agent stays powerful and stays bounded. Each primitive is proven by an over-the-wire block test against the real proxy.
In broker mode, the agent holds an opaque placeholder. The real API key lives in a hardened AES-256-GCM store the agent never touches, and is injected only on a request that passes a constant-time check, only through Crawdad.
Read the agent's environment and you get nothing that authenticates anywhere else. Credential-based bypass becomes architecturally impossible, not merely detectable. Opt-in.
Every decision the engine makes is legible. An operator drives it from the local dashboard; an MSP drives a whole fleet from the self-hosted console. Same decisions, same hash-chained, metadata-only path.
A live feed of every charter and trajectory decision, each with its verdict and the axis or signal that fired, plus a per-session view of risk accumulating step by step. What blocked, why, and where the session stood.
Write a charter from the dashboard and it governs at the wire on the next action, no restart. Held actions land in a review queue; approve to release the session or deny to keep it gated. The approval has a real effect on the running engine.
The fleet console rolls governance up per client and across clients, distributes charter templates that devices load, and surfaces held actions for triage, wired device to console over the same signed channel every other fleet command uses.
No single piece here is unique to Crawdad. What is: one on-device platform that combines local-first inspection, credential mediation, charters and trajectory governance, the control surface, and MSP-native provisioning and billing, and publishes a benchmark you can rerun to check it.
Real product, real data, real screenshots, not mockups. Crawdad's dashboard gives you complete visibility into what your AI agents are actually doing.
Audit Trail, every detection with session context and forensics
Continuous Red Team, automated attack simulation against your pipeline
AI Inventory, models, MCP servers, agent discovery, policy config
Fleet Console, self-hosted management across your fleet
Set ANTHROPIC_BASE_URL=http://localhost:7748, your agent's traffic flows through Crawdad with no code changes.
Five real runtime attacks, every verdict a captured result. Flip Crawdad off yourself and watch the attack land.
Pointing an agent at the proxy is cooperative, and a compromised agent may try another route. In Monitor (the default) Crawdad inspects and blocks on detection but changes nothing about your machine. Opt a device into Enforce and the operating system itself makes Crawdad the only path off the machine. Everything below is opt-in, and proven on real hardware.
Enforce installs a persistent OS default-deny egress lock (pf on macOS, iptables on Linux). A governed agent reaches only the Crawdad proxy path; everything else, including UDP/QUIC, is denied by construction.
kill -9 persistence, clean removal; and on macOS pf.The opt-in Maximum tier runs the agent inside a sealed VM (macOS/arm64, Apple's Virtualization framework) whose only network interface routes through Crawdad. Escape is refused at the packet level, not by a deny rule.
Because the lock survives a kill, there is a deliberate recovery path, and it is deliberately hard to reach.
Platform, stated honestly. Full runtime enforcement runs on macOS and Linux. On Windows the mandatory credential broker still applies, but there is no OS egress lock yet, we report that plainly rather than imply parity, and full Windows enforcement is on the roadmap. Monitor stays the default everywhere: a stock device is byte-for-byte unchanged until you opt into Enforce. Read the Enforce mode guide →
Every request passes through a multi-layer detection pipeline. Pattern matching, semantic behavioral analysis, indirect injection detection, session context tracking, PII and credential scanning, and an ML classifier all run. Then an arbiter weighs the signals and renders one verdict.
Built in Rust, with 3,737 automated tests across 26 crates (mechanically counted 2026-08-22). Pattern-only layers add sub-10ms p99 latency. The ML classifier runs on every input; its cost is managed by caching and quantization, not by a prefilter that decides when to look. The arbiter is what turns a detection into a block: it always blocks the credential and data-exfiltration floors inline, and it promotes a single high-confidence detection to an inline block, so on the proxy path blocking tracks detection. See the latest threat intelligence for what the pipeline catches in the wild.
99.8% is what the detection engine catches on the corpus. Blocking is a separate decision the arbiter makes, and on the proxy path it tracks detection at a 0.09% false-positive rate. How detection becomes blocking →
The miss: A bare-pretext social-engineering opener without a specific extraction request (holdout_trust_18). The false positive: A Stack Overflow question about Go syntax that includes source-code references (so_dev_0116).
AndrewSispoidis/contemporary-agent-attacks →
CC BY 4.0 · 497 attacks · 1,172 benign negatives · 22 categories
Every threat below maps to a real detection layer, structural invariant, or behavioral check in the pipeline.
Direct and indirect injection attempts. Pattern matching, semantic analysis, and tool-result scanning catch known and novel payloads.
Detection layers →PII and credential scanning plus attack-sequence detection catch recon–read–exfil chains before data leaves your machine.
Sequence detection →API keys, private keys, tokens, connection strings, and AWS credentials in agent output are detected and flagged before they reach your tools.
Response scanning →Automatic MCP server risk assessment and typosquat detection for 53 popular packages. Per-tool risk classification.
Tool intelligence →Seven built-in sequence patterns: recon, credential access, persistence, lateral movement, privilege escalation, data staging, and defense evasion.
Attack sequences →Structural invariant checking detects when your system prompt appears in agent output, a sign of context compromise.
Invariant checks →Semantic heuristics and role-consistency invariants detect identity manipulation and authority impersonation mid-session.
Semantic detection →Unique invisible markers injected per-session. If a canary appears in output, the context has been compromised. Zero false positive rate.
Canary tokens →Your prompts, responses, tool-call arguments, and PII stay on your machine. Only metadata leaves by default: counts, categories, verdicts. Raw content never does. And there is no single-party switch to change that: content-carrying telemetry is gated by a dual-consent requirement that needs both an org-level policy and an on-device consent record before anything can leave.
Architected for regulated environments.
One command installs. One env var routes traffic. No SDK, no code changes. If Crawdad goes down, your agent keeps working, requests fail open.
macOS ARM64 (signed + notarized) · Linux x86_64 · Linux ARM64
Scan your machine free. Crawdad Sonar finds every process talking to an LLM and what it can reach — nothing leaves your machine.
MSP-native by design. Provision a client, roll out to their whole fleet with one minted key, bill per governed device, and roll every client up in one view. A recurring service line on the relationship you already own.
Explore the partner program →Central policy, scope hierarchy, signed commands, sealed telemetry, RBAC, and fleet-wide governance rollup. Self-hosted Fleet Console, deployed with one command.
See the Fleet Console →Nothing leaves the machine, so there is no content to breach. Signed enforcement floors a central admin can't lower, a hash-chained audit an outside party can verify, air-gap capable, architected for SOC 2 controls.
Read the architecture →Transparent proxy, no SDK, no code changes. If it goes down, your agent keeps working. Review detections in the dashboard, tune with one click.
Getting started →The free tier includes every feature. No capability gating. Paid plans add higher limits and priority support.
All plans include the full multi-layer detection pipeline. Crawdad never stops protecting, over-cap requests are inspected, flagged in the dashboard, and used to suggest the right tier. Pricing is per machine.
Start free with every feature included. Upgrade when you need more agents or seats, no trial, no time limit, no capability gating.
Qualifying projects get Pro tier free. 5 agents. 500K inspected requests/mo. Fleet dashboard. Audit export. Email support. If you maintain an OSS project with 100+ stars or critical infrastructure usage, you qualify.
Apply now →Enterprise, 100+ agents, custom integration, dedicated support engineer, custom SLA, air-gap deployment, or OEM licensing? contact@getcrawdad.dev →
Paid plans are billed monthly through Stripe. You can cancel at any time via the Stripe Customer Portal, cancellation takes effect at the end of the current billing period and moves your account to the Free tier.
Yes. 30-day money-back for new subscribers. Email contact@getcrawdad.dev within 30 days of your first payment for a full refund. One window per customer.
Crawdad never stops protecting. At 80% of your cap, the dashboard shows a banner. At 100%, you get an email. Past 150%, a small overage accrues, priced so upgrading is always cheaper. The full detection pipeline continues to run at every tier. Security is never degraded based on billing state.
Every feature is in the free tier. No capability gating. Paid plans add more agents (5 / 25 / 100), higher request caps, audit log export, local posture sharing, custom KDL policies, and priority support. The detection pipeline is identical across all tiers.
Sign up with your email, verify with a 6-digit code, and receive a license key. Run crawdad setup --license YOUR_KEY after install. Lost your key? Enter your email again, we verify it's you and issue a new one (your previous key stops working).
Cancel anytime from the Stripe Customer Portal. No cancellation fees. Your local data (sessions, audit trail, policies) stays on your machine and remains fully accessible. Account-level data is available for export for 30 days after cancellation.
More questions? See the full FAQ or Terms of Service.
Thirty years of finding the gap between what systems do and what their operators believe, across seven companies, four exits, and a public-market merger. AI agents are the newest version of that pattern: they run with your authority, inside your trust boundary, and you can't see the difference between normal and compromised. Crawdad exists because the moment agents became autonomous, someone needed to watch what they actually do. I built it independently, in the open, because I believe agents should be safe by default.Andrew, founder of Crawdad
The threat is already inside. Crawdad sits between every agent and its LLM and inspects every request before it reaches the model. Raw content stays on your machine by default. 99.8% detection on the open benchmark.
Every feature included. No trial period, no capability gating. Upgrade when you need more agents.
Get notified when we ship. No spam, just changelog updates.