Translations: 简体中文 · 日本語 · 한국어 · Español · Português · Deutsch · Français · Русский · हिन्दी · Türkçe · Tiếng Việt · Italiano · العربية · עברית
See what your agents do. Stop known failures before they repeat. Failproof AI works wherever your agents run: coding tools like Claude Code and Codex, chat gateways like Hermes, self-hosted assistants like OpenClaw, and agents you instrument yourself. It records each run and can block dangerous tool calls before they execute.
Twelve harnesses in two classes are supported: ten coding CLIs, plus two gateways: Hermes, OpenClaw. The policy API and session history are shared; which events can block varies by harness.
Agents that run in none of them report through the Python SDK, which gives you tracing, sessions and audits. Enforcement there needs a hook in your own runtime — talk to us and we'll map it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Give a compatible agent the Failproof AI skill if you want it to guide setup, inspect the machine, and route policy, audit, session, and Cloud work correctly:
npx skills add FailproofAI/skillsThis installs the umbrella skill and its specialist siblings. To install only the
umbrella, add --skill failproofai. Skills supply operating instructions; install
and configure the product itself with:
npm install -g failproofai
failproofai config
failproofai policies add FailproofAI/policies
failproofai # dashboard on localhost:8020Setup connects supported agents and installs the background service. It chooses no
policy pack: before you add one, only block-failproofai-commands runs to stop an
agent disabling Failproof AI.
Connect Cloud without prompts with failproofai config --token <machine-key>. On a
shared machine or in CI, set FAILPROOFAI_CLOUD_TOKEN and run failproofai config
so the key does not appear in command history.
| Policy | What it blocks |
|---|---|
sanitize-api-keys |
API keys leaking into the agent's context |
block-env-files |
Reads of .env and other secret files |
warn-repeated-tool-calls |
The agent looping on the same call |
block-sudo |
Privilege escalation |
warn-destructive-sql |
DROP, TRUNCATE, unbounded DELETE |
block-terraform / block-kubectl |
Unreviewed changes to live infrastructure |
block-rm-rf |
Recursive file deletion |
block-force-push / block-push-master |
git push --force, direct pushes to main |
These policies protect files, credentials, infrastructure, databases, and agent workflows. Exact enforcement support varies by harness and event.
Drop a file into .failproofai/policies/ — it loads automatically, no flags needed.
Commit it and the whole team gets it on next pull.
import { customPolicies, deny, allow } from "failproofai";
customPolicies.add({
name: "no-production-writes",
match: { events: ["PreToolUse"] },
fn: async (ctx) => {
if (ctx.toolInput?.file_path?.includes("production"))
return deny("Writes to production paths are blocked.");
return allow();
},
});Three decisions available to every policy:
| Decision | Effect |
|---|---|
allow() |
Permit the operation |
deny(message) |
Block it — message goes back to the agent |
instruct(message) |
Let it through, but add context to the agent's next prompt |
A policy pack is a versioned set of policies published from a public GitHub repository. Inspect one before installing it:
failproofai policies show FailproofAI/policies
failproofai policies add FailproofAI/policiesAnything with a slash is a pack source; anything without one is a policy name. You can install selected categories or policies, and pin a release when needed.
failproofai policies add FailproofAI/policies --category git,database
failproofai policies add owner/repo@a1b2c3d4e5f6Browse published packs in the Policy Hub, or
run failproofai publish --init to start your own. Observe mode lets a pack record
what it would have done without blocking: failproofai publish --effect observe.
→ Policy packs · Publish a pack
Enforcement is one half. The other half is seeing what the agent actually did.
Run failproofai with no arguments and it serves a dashboard on localhost:8020
reading the run history already on your machine — no account, no signup, nothing
leaving the box. You get the session list, the sequence of model calls, tool calls
and hook decisions inside each run, what was blocked and what the policy told the
agent, and an offline audit (failproofai audit) that scans your history for risky
patterns and suggests policies to stop them.
→ Local dashboard · Read a trace · Local audit
Failproof AI Observability is the hosted side of the same data model, for teams running agents across a fleet: every run from every harness in one place, an execution graph with parallel sub-agents on their own lanes, p50/p95/p99 latency for models, tools and hooks, per-model cost and context-window tracking, error tracking, SQL over your own traces with shareable dashboards, evaluations scored by your own service, scheduled audits that turn recurring failures into evidence-backed findings, and alerts routed to Slack, email or a signed webhook. Self-hosting in your own cluster is available on the Enterprise plan.
→ Sessions · Audits · Book a demo
| Start | |
|---|---|
| Quickstart | Install, connect a harness, see the first run |
| Concepts | How the hook system works |
| Supported harnesses | All 12, and what each one can enforce |
| Observe | |
|---|---|
| Sessions | Follow a run: models, tools, errors, latency |
| Read a trace | What the execution graph is telling you |
| Audits | Find failure patterns across many sessions |
| Local dashboard | localhost:8020, no account needed |
| Enforce | |
|---|---|
| Built-in policies | All 39 policies with parameters |
| Custom policies | Write your own |
| Configuration | Config scopes and merge rules |
| Instrument your own agent | |
|---|---|
| Python SDK | Report runs from an agent with no harness |
| Policy SDK | allow / deny / instruct reference |
MIT with Commons Clause — free for internal and personal use; commercial resale of failproofai itself requires a separate agreement. See LICENSE for the full text.
See CONTRIBUTING.md. New policies, edge cases, and translations all welcome.
Build before you start. Run
bun install && bun run buildfirst. This repo runs failproofai's own hooks on itself, and they resolve thefailproofaiimport against the compileddist/bundle — without a build you'll hitCannot find package 'failproofai'hook errors. Rebuild after changingsrc/. See Build before the in-repo dev hooks will work.
Built with ❤️ by befailproof.ai in SF and Bengaluru.
