setup 默认不装任何策略,必须再执行 policies add 才有拦截效果;block-failproofai-commands 始终开启且无法关闭或暂停;无终端环境(CI、容器)下 config 会直接应用而不询问,可用 FAILPROOFAI_NO_FIRST_RUN=1 关闭首次运行向导
failproofai
FailproofAI活跃维护给 AI Agent 运行框架加上可观测与策略执行层,记录每次运行轨迹,并实时拦截违规行为,提升运行时可靠性。
Observability and enforcement for AI agent harnesses. Capture every run and runtime reliability with policy enforcement.
npm install -g failproofai
failproofai config
failproofai policies add FailproofAI/policies
failproofaiREADME 未说明;工具本地运行,未提及 GPU 或显存要求
给 AI 编码代理做运行观测和策略拦截的本地工具,记录每次运行并在工具调用执行前拦截危险操作
给 AI Agent 运行框架加上可观测与策略执行层,记录每次运行轨迹,并实时拦截违规行为,提升运行时可靠性。
核心能力
- 接入 Claude Code、Codex 等 12 种代理 harness,统一策略 API 和会话历史
- 在工具调用执行前拦截,内置 40 条策略如禁读 .env、禁 sudo、禁 rm -rf
- 支持在 .failproofai/policies/ 写自定义策略,返回 allow/deny/instruct 三种决策
- 本地仪表盘在 localhost:8020 展示会话、模型调用、工具调用和拦截记录
- failproofai audit 离线扫描历史,找出风险模式并推荐策略
容易踩的坑
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
- v1.0.13FailproofAI v1.0.13最新正式版2026-11-02 · 2026-11-02 10:27 UTC
failproofai 1.0.13
This release restores policy enforcement on OpenClaw 2026.9.6+ and on Antigravity's current file tools, and makes daemon setup work on Fedora, RHEL, Rocky and Alma.
Fixes
Antigravity
- Path policies enforce again. Antigravity's
read_file,write_fileandedit_filetools were not recognized, so path-based policies and the guard protecting failproofai's own config saw no path and allowed the call. An agent could read and overwrite.env, createid_rsa, and overwrite.failproofai/policies-config.json. These calls are now denied. (#961) - A file call with no recognizable path is now denied. If Antigravity renames these arguments again, the tools stop with a message saying why, rather than every path policy silently allowing them.
OpenClaw
- Enforcement works again on OpenClaw 2026.9.6 and later. Those releases load plugins from a copy that broke the plugin's path to the CLI, and the plugin read that failure as an allow, so every tool call ran unchecked. The plugin now asks
failproofaidfor each verdict over its socket. (#956)
Daemon setup and uninstall
failproofai configworks on Fedora, RHEL, Rocky and Alma. SELinux doesn't let systemd run files from a home directory, so the daemon failed with203/EXEC. The binary now runs from a root-owned copy under/opt/failproofai/<user>/bin/. (#957)- Manual root commands quote every path, so a home directory with a space no longer breaks the install commands, and the removal command's
rm -rfcan't be pointed at the wrong path. uninstallanduninstall --purgeremove the/optcopy even if the service unit is already gone. They used to leave it behind and report success.
Dependencies
minimatchis overridden to 11.0.3 for GHSA-g3hv-75wg-m249. It is ESLint tooling only and ships in neither package.nltkis bumped to 3.10.4 in the Python SDK's dev/test lockfile for GHSA-j456-xh4h-cpf2. The SDK itself has no runtime dependencies.
Upgrading
- Run
npm i -g failproofai@latest. - Run
failproofai config. This moves an existing Linux daemon to the/optpath and restarts it. - If you use OpenClaw, restart the gateway so it loads the new plugin.
Behaviour changes
- OpenClaw now requires the daemon. Install refuses without it. If no verdict comes back, tool calls and prompts are blocked rather than allowed.
- Antigravity file tools can now stop outright. If a future Antigravity version renames its path arguments,
read_file,write_fileandedit_filecalls are denied until failproofai is updated. A session pause lifts this, unless an enforcing Cloud policy is deployed.
- Path policies enforce again. Antigravity's
- v1.0.13-beta.3pre-release2026-11-02 · 2026-11-02 07:01 UTC
查看更新说明
Automated build of
v1.0.13-beta.3from164a975c6fac568266fee357f6412a353e079dad(run 41402808782). - v1.0.13-beta.2pre-release2026-10-28 · 2026-10-28 11:47 UTC
查看更新说明
Automated build of
v1.0.13-beta.2fromc15b64e35bbc651ef4230d0face4863ac8f508e7(run 40681901125). - v1.0.13-beta.1pre-release2026-10-28 · 2026-10-28 10:52 UTC
查看更新说明
Automated build of
v1.0.13-beta.1from42d3daf72ab71763900fca82b29f0b87bf1b8539(run 40674383346). - v1.0.12FailproofAI 1.0.122026-10-25 · 2026-10-25 01:25 UTC
查看更新说明
FailproofAI 1.0.12
Log in to FailproofAI Cloud from your browser, and run Jev policies on FailproofAI Cloud, scoped to the agents you choose.
New
-
Log in from
failproofai config. On a machine that isn't connected,configopens a browser login straight away. Sign up or sign in, pick or create an organization, and authorize the machine; the terminal notices by itself and shows who approved it and for which organization.- Over SSH or with no display, it prints the link to open on any device.
- The machine's key is created only when setup finishes, so an abandoned run leaves no key behind.
- A machine that's already connected gets a menu with "keep" first, so running setup again never opens a browser on its own.
- Prefer a key? Press Tab to paste an API key, or to use open source.
-
Every agent on the machine knows FailproofAI.
configadds a smallfailproofaiskill to each agent it finds: Claude Code, Codex, Copilot, Cursor, OpenCode, Pi, every Hermes and OpenClaw profile, droid, Devin, Antigravity and Goose. It points the agent at the FailproofAI skills on GitHub, so what it reads is always current. Afailproofaiskill you installed yourself is left alone, andfailproofai uninstallremoves only the onesconfigwrote. -
Jev policies from FailproofAI Cloud. A Cloud policy now has a kind:
regex: JavaScript, as before;jev: Jev checks only;both: JavaScript that its own Jev checks can review.
Jev checks run on FailproofAI Cloud, so nothing Jev-related is installed on the machine. FailproofAI Cloud sets each machine's Jev mode: enforce while a Jev policy is deployed, off when none is. A policy you set to watch (observe) records what it would have done and never blocks.
-
Policies scoped to agents. Deploy a Cloud policy to one integration or to a single agent profile instead of the whole machine. The daemon keeps a roster of the agent profiles it has seen (up to 256) and reports it to FailproofAI Cloud.
-
Machines report the Cloud policies they couldn't apply. A policy that failed to load, a Jev mode the machine can't act on, or a pack check dropped for the question budget shows up on the fleet page and in
fp fleet show. -
fp, for Cloud policies:fp policies publish --kind regex|jev|both;- per-assignment block / watch;
fp fleet deploy --target POLICY=INTEGRATION[/agent]and--all-agents POLICY;fp fleet historyandfp fleet rollbackinclude each deployment's Jev mode.
Fixed
- A FailproofAI Cloud Jev reply that contradicts itself can't clear a
bothpolicy's regex denial. A malformed reply is ignored, and the regex decides alone. - Redacting secrets can't make FailproofAI Cloud clear a check the machine wouldn't. Where redaction changes what a check sees, the machine marks the scan incomplete, which clears nothing.
- A failing or rate-limited FailproofAI Cloud Jev is no longer silent and no longer slows every tool call. After 3 failures in a row, the machine decides by regex alone for 60 seconds, then tries again. Outages and rate limits are reported on the fleet page.
config --disconnectsticks. Before, the old organization's policies and Jev mode could come back within minutes.- Reconnecting the same organization on a new address is a reconnect, not an organization switch. One example is moving from http to https with the same key.
- Keys refused earlier are retried with the current key without stalling new uploads, and nothing in a refused batch is lost.
- Browser login handles the edge cases:
- an approved login whose key couldn't be claimed;
- a saved key that stopped working;
- an expired link, which is taken off the screen when a new one prints;
- a FailproofAI Cloud without browser login, where you paste a key instead.
configasks for your sudo password again before installing the daemon if the first
-
Translations: 简体中文 · 日本語 · 한국어 · Español · Português · Deutsch · Français · Русский · हिन्दी · Türkçe · Tiếng Việt · Italiano · العربية · עברית
Observability and enforcement for every harness your agents run in. Wherever your agents run, we see it — and we can say no. Failproof hooks 12 agent harnesses — coding CLIs like Claude Code and Codex, chat gateways like Hermes, self-hosted assistants like OpenClaw — capturing every run and blocking dangerous tool calls before they execute. 40 built-in policies. Zero latency. Runs locally.
Supported harnesses
Twelve harnesses in two classes — ten coding CLIs, and two chat and assistant gateways (Hermes, OpenClaw). One policy API and one session history across all of them. What a policy can block is per-harness: stopping a tool call before it runs is verified on all twelve, turn-end gates on eight. The per-harness matrix lists the events each one honours.
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.
Install
npm install -g failproofai
failproofai config # wire up your agents and the daemon
failproofai policies add FailproofAI/policies # choose what to enforce
failproofai # dashboard on localhost:8020
Setup wires the hooks and picks no policies — that second command is what
puts guardrails on the machine, and any pack is typed the same way
(failproofai policies add <owner>/<repo>; policies show <owner>/<repo> reads
one first). Run failproofai config with no terminal — CI, a container, an
agent driving it — and it applies rather than asking. On a machine that has
never been set up, any other command runs the same wizard first; disable that
with FAILPROOFAI_NO_FIRST_RUN=1.
Until a pack arrives, the only thing enforcing is block-failproofai-commands,
which is always on and cannot be switched off or paused: an agent that can pause
enforcement can switch off every other policy.
What it stops
| Policy | What it blocks |
|---|---|
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 |
Every one of these gates the call before it runs, so they hold on all twelve
harnesses. The first four apply to any agent that can call a tool; the last
three are the developer favourites — coding CLIs are the harness class we cover
deepest. The sanitize-* family is separate: it runs after a tool returns, so
it reports a secret in tool output rather than keeping it out of the context.
Your own policies
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 |
Observability
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
Documentation
| 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 | |
|---|---|
| Policy packs | The Failproof AI policies, and packs from the policy hub |
| Write a policy | From an audit, or in code |
| Configuration | Config scopes, merge rules and policy parameters |
| Instrument your own agent | |
|---|---|
| Python SDK | Report runs from an agent with no harness |
| Policy SDK | allow / deny / instruct reference |
License
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.
Contributing
See CONTRIBUTING.md. New policies, edge cases, and translations all welcome.
Built with ❤️ by befailproof.ai in SF and Bengaluru.