Safeguard
Security Guides•

Should a deploy gate block, warn or ask for approval?

Pick the right deploy gate outcome by severity, reversibility and noise. A decision table for block, warn and approve, plus how to promote each rule.

Safeguard Security Team
4 min read

Block when a failure is clear, high impact and cheap to fix. Warn when a rule is new or noisy and you need data. Require approval when a person must weigh context a rule cannot see. Most mature gates use all three, and move each rule from warn to block as its false positives fall.

The three outcomes defined

A block stops the change. A warn lets it through and tells someone. An approval pauses the change until a named person or team agrees, and records who did.

Kubernetes shows the pattern in its own controls. The ValidatingAdmissionPolicy documentation lists Deny, Warn and Audit as validation actions, and Pod Security admission offers enforce, audit and warn modes per namespace. GitHub environments add required reviewers, with an option to prevent users from approving runs they triggered.

A decision table

Question about the ruleIf yesOutcome
Is it clearly wrong every time, such as a privileged container in production?Rarely has a legitimate exceptionBlock
Is the rule new or untested against your real workloads?You do not know the false positive rateWarn and audit
Does the right answer depend on business context, such as a one off exception?A human must decideApproval
Is the fix hard or slow for most teams?Blocking will create a pile of exceptionsWarn with a deadline
Is the change easily reversible?Cheap to undoLean toward warn
Is the change hard to undo, such as data deletion or public exposure?Costly mistakeLean toward block or approval

How to promote a rule

Every rule should follow the same path, so developers know what to expect.

  1. Start in warn and audit mode on one team or environment.
  2. Count how often it fires, and how often the firing was wrong.
  3. Fix the rule for common false positives, and fix workloads for the true ones.
  4. Announce a date when it becomes a block.
  5. Switch it, and keep the audit trail.

Skipping step 2 is the usual cause of blocked releases on a Friday and a gate that is switched off by Monday.

Design the approval path properly

An approval is only useful if it is more than a click. Decide who can approve, make the approver different from the person who triggered the change, and show them the evidence, such as the finding, the affected component and the reason for the exception. Time limit it. GitHub's documentation shows both a wait timer and a prevent self review option, which map onto those habits.

Avoid a design where approval is the default path for everything. People stop reading, and the approval becomes a rubber stamp.

Record the outcome

Whichever outcome fires, write it down: rule, version, decision, who, when. That record is also your evidence when an auditor or customer asks how releases are controlled.

Where Safeguard fits

Safeguard's policies, gates and guardrails let you set the outcome per rule, so a new check can start informational and tighten later. Compliance and evidence automation keeps the record of those decisions.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how a failing check changes what a reviewer can do.

Quick check

Is warn mode just a weaker block?

No. It is a measuring step. Its job is to tell you the false positive rate before a rule can stop work.

When is approval better than a block?

When the right answer depends on context a rule cannot see, such as a time limited exception that someone must own.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.