Your security policy, as a check on every pull request.
Every pull request, checked against your policy and the Context Engine's view of where the code runs. Developers see what broke the rule and fix it on the PR.
Write the rules your business already has. Heeler enforces them on every pull request.
Each guardrail pairs what to catch with where it matters, not everything that looks bad.
Measure a guardrail before it blocks anyone.
Start in Observe, where only AppSec sees hits. Then Warn developers. Then Block the merge.
Fix the violation on the same pull request.
- 1A guardrail firesBlock or Warn
- 2Auto-fix availableMarked Auto-fixable on the PR
- 3Developer clicks Fix w/ HeelerGitLab: /heeler fix
- 4Heeler fixes only what firedIn that module, on the PR branch
- 5Build checkedBefore anything is pushed
- 6Fix pushed to the PROr a new PR if pushes are blocked
- 7Check re‑runs and passesViolation resolved
If the build fails: nothing is pushed. Heeler comments on the PR, and the violation stays open for manual review.
A standard check in the tools your developers already use.
A normal check on the PR. Make it required and Block holds the merge.
Block holds the merge
With branch protection on, until fixed or excepted.
Every violation explained
Package, file or secret, the rule broken, the fix.
Errors never block
A guardrail that cannot run passes. The PR says what did not run.
Check the diff for new risk, or the whole repository for existing risk.
Most guardrails check only the diff, so no one is blocked by debt they did not add. Live secrets and fixes past SLO are checked across the whole repository.
A check on every pull request, before it merges into the branches you choose.
Earlier layers guide the agent and check each commit. Every change, from a developer or an agent, meets here. Scope it to the default branch, other branches or all. Hover a layer to explore.
