Guardrails for every builder and agent

The default guardrails for agents.

OpenGuardrails sits between an agent and everything it can reach. Open source, and it runs on your machine.

A real run

The model never saw the key. The tool still got it.

From the OpenGuardrails gateway in front of a scripted model, on a fake key. Your agent changes one setting, its base URL, and needs no plugin.

the same request, at each hop
# what the agent was told
deploy with sk-proj-LABFAKE0123…

# what the model provider received, and answered with
deploy --token OGRKP5000001

# what the tool call carries when it comes back to your machine
deploy --token sk-proj-LABFAKE0123…

# and when the model asks for your private key
terminal: cat ~/.ssh/id_rsa
refused reading a private key or cloud credential into the model's context

How it decides

Rules first. A model only for what rules cannot tell.

Most of what an agent does is safe, and a rule can tell, with no network and no model. A rule allows only what it fully understands and only what stays on the machine.

  1. Allowgit status, reading or changing a file in the workspace
  2. Refuserm -rf /, reading ~/.ssh/id_rsa, cloud metadata endpoints. The agent is told why and carries on.
  3. Cannot tellNetwork, installs, git push, unknown tools go to a model built to judge agent actions.
  4. Yours to decideSafe, but your call, like a purchase. The agent asks you. A security risk is never sent to you to approve.

Why believe us

Published, and open to check.

Real harness, through the gatewayRules and model enforcedAgent told whySecrets kept from the providerTool gets the real value
Hermes 0.20✓✓✓✓
OpenClaw 2026.6✓✓✓✓
DeepSeek Harness 0.2✓✓✓✓

Tested against the real harnesses with scripted models, in cli/experiments. Early, and honest about it: what it does not do yet.