Skip to content
WARDEN DOCS Get Warden free
02RULES

Rule sets and protections

Open, Guarded and Hardened, every ready-made protection they switch on, suggestions from your repo, and how Global and project settings combine.

View .md

You don't have to write rules to be protected. Warden ships protections: ready-made rules for one kind of risk each, such as reading .env files, force-pushing or piping a script from the internet into a shell. A rule set is a starting position for all of them at once.

Pick a rule set#

Open Policies (for all projects, or in a project) and pick a Profile:

Rule setIn the appFor
Openruns what you don't blockExploring. Only the basics are enforced.
Guardedasks before risky stepsDay-to-day work. Secrets, destructive commands and force-pushes are blocked; risky steps ask you. The default.
Hardenedblocks risky stepsSensitive repositories. Risky steps are blocked rather than asked about.

Then change any single protection to Allow, Ask or Block. The Policies header tells you when a scope differs from Guarded, and by how many protections.

Every protection#

GroupProtectionOpenGuardedHardened
Basic securityKeep file access inside the projectBLOCKEDBLOCKEDBLOCKED
System temp folderRUNSRUNSASKS YOU
Protect Warden's own guardrailsBLOCKEDBLOCKEDBLOCKED
Secrets & credentialsEnvironment & secret filesRUNSBLOCKEDBLOCKED
Private keysRUNSBLOCKEDBLOCKED
Cloud credential readsRUNSBLOCKEDBLOCKED
Secrets written into filesRUNSASKS YOUBLOCKED
Shell & processesDestructive commandsRUNSBLOCKEDBLOCKED
Bulk deletionRUNSASKS YOUBLOCKED
Remote code pipingRUNSBLOCKEDBLOCKED
Unverifiable commandsRUNSASKS YOUBLOCKED
Privilege escalationRUNSBLOCKEDBLOCKED
Package installationRUNSASKS YOUBLOCKED
Cloud & SaaS config changesASKS YOUASKS YOUBLOCKED
Git & version controlForce pushRUNSBLOCKEDBLOCKED
Push to protected branchesRUNSASKS YOUBLOCKED
History rewritingRUNSASKS YOUBLOCKED
Identity changesRUNSBLOCKEDBLOCKED
CI/CD pipeline changesRUNSASKS YOUBLOCKED
NetworkPaste-site destinationsRUNSBLOCKEDBLOCKED
Network fetch commandsRUNSRUNSASKS YOU
Scripts in the Browser paneASKS YOUASKS YOUBLOCKED

The basics (staying inside the project, and protecting Warden's own settings and rule files) stay on under every rule set, so an agent can't switch its own guardrails off.

Global and project#

  • Global applies to every project. A fresh install starts Global on Guarded.
  • A project can set its own rule set and protections, but can only be stricter than Global. Policies says so: Global enforces Guarded - a project can only tighten it.

Suggestions from your repository#

On a project's Policies tab, Warden may suggest protections based on what is in the repository: secret files, key files, a git remote, CI configuration, dependency manifests, infrastructure-as-code, deploy configs and database migrations. Each suggestion shows the evidence it found, and can only tighten. This runs on your Mac with no model and sends nothing anywhere.

Beyond protections#

  • Custom rules cover anything the protections don't. See Writing rules.
  • Automated runs can have stricter settings than your chats. See Automated runs.
  • Protect data by model adds rules that keep some data on models you trust. See Rule recipes.