Rampart sits between your agent and your system. It evaluates commands, file access, and network requests against your YAML policy before they run. Local-first. No cloud dependency.
Claude Code’s --dangerously-skip-permissions. Codex’s --full-auto. That is not a theoretical problem. It means your agent can quietly read secrets, exfiltrate them, or trash a machine while trying to finish the task.
No guardrail in the execution path. No approval gate. No tamper-evident audit trail after the fact.
LD_PRELOAD, wrappers, hooks, and file/network policy enforcement are the happy path.
DYLD_INSERT_LIBRARIES has SIP boundaries. Homebrew and user-installed binaries work best.
Use Claude/Cline/API/MCP-style integrations. Codex preload and OpenClaw plugin setup are not the Windows story.
It sits in the execution path. Every command, file read, network request, and MCP call is evaluated before it runs. Safe work stays fast. Risky work is denied, held for approval, or redacted before secrets ever reach the model.
npm install, go test ./..., and git status stay fast because common safe actions are pattern matched locally.
Rules with action: ask hold commands like kubectl apply until a human decides.
If a file read would put credentials into the agent’s context window, the response is blocked before the model ever sees it.
This is the point where most “guardrails” stop being trustworthy. Rampart starts there instead.
Pattern matching handles the boring 95% instantly. The common case should feel invisible.
Secrets, exfiltration, destructive commands, and approval-gated actions get enforced before execution.
Hash-chained JSONL gives you a tamper-evident record you can search, verify, and use to generate better policy.
Use the native setup where Rampart knows the agent. Use wrapping or the MCP proxy everywhere else.
No SDK. No cloud console. No proprietary rule builder. Use the built-in profile, or write the exact rule you want reviewed before a tool call runs.
~/.rampart/policies/standard.yaml with 47 rules.version: "1"
policies:
- name: block-credential-leak
match:
tool: file.read
rules:
- when:
path_matches:
- "**/.env"
- "**/.ssh/*"
- "**/id_rsa"
action: deny
message: "Credential access blocked"
- name: ask-before-production
match:
tool: exec
rules:
- when:
command_matches: ["kubectl apply *"]
action: ask
Stops unsafe agent actions before they run. It protects the execution path: commands, file reads, network calls, and MCP tools.
Plants credential canaries so you know when something escaped anyway. It tells you when your assumptions failed.
One blocks the action. The other proves when a secret was used.
Install locally. No account, no API key, no cloud dependency.
Installs to ~/.local/bin by default. Usually no sudo required.
Installs to ~\.rampart\bin. No admin rights required.
Then connect your agent:
$ rampart setup # auto-detects all your agents # or target one: rampart setup claude-code / codex / cline / openclaw --plugin