Safeguard
Developer Tools•

Should a security scan block the pull request or only comment?

Block on new, high-severity findings that the pull request introduces, and comment on everything else. Here is how to choose by team size and maturity.

Safeguard Security Team
3 min read

Block the pull request only for new findings the change itself introduces, at a severity your team has agreed is urgent. Comment on the rest. A gate that blocks on old, unrelated issues trains people to route around it. A gate that never blocks becomes background noise.

Two modes, two purposes

A blocking check stops the merge until it passes. A commenting check posts results and lets the merge proceed. Both are useful, but they answer different questions.

  • Commenting says: here is what we found, please look.
  • Blocking says: this must be fixed or formally excepted before it ships.

Start in commenting mode. Move specific rules to blocking once you trust their accuracy.

What to block on

Good candidates for blocking are narrow:

  1. A new dependency with a critical known vulnerability that your code actually reaches.
  2. A new use of a code pattern your team has already banned.
  3. A change that breaks a policy you wrote down, such as a disallowed license.

Everything on that list has a clear owner (the author) and a clear fix. If you cannot say who fixes it, do not block on it.

What to leave as a comment

Leave existing debt, low-severity issues, and anything with high false-positive rates as comments or tickets. Old findings are a backlog problem, not a pull request problem. Mixing the two means a developer fixing a typo has to resolve a three-year-old advisory.

How team size changes the answer

Team sizeSuggested starting mode
1 to 10Comment first, block only on critical new findings
10 to 50Block on new high and critical, comment on the rest
50 and upCentral policy with per-repo overrides, blocks tied to risk tiers

The bigger the team, the more you need the rule written down, because nobody can negotiate each case in chat.

Make blocking actually enforceable

A check that is not required can be merged around. In GitHub, branch protection offers a setting that requires status checks before merging, and the documentation says those checks must be successful, skipped, or neutral. Note that skipped counts as passing, so make sure your scan job cannot silently skip.

Add an exception path too. When a block is wrong, a developer needs a documented way to get a time-limited waiver with a named approver. Without it, people disable the check.

Try it yourself

Click through it at your own pace, or open it full screen.

Watch what changes between a pass, a comment, and a block, and which finding triggers each.

Where Safeguard fits

Safeguard supports policies and gates on pull requests, so you can set which findings block and which only comment. Try a scan first at https://gold.safeguard.sh/scan.

Quick check

Is it bad to block on everything?

It usually backfires. Developers disable or bypass a noisy gate. Block on a short, accurate list and comment on the rest.

Can a skipped check let a risky change merge?

In GitHub, a skipped status counts as passing for required checks. Configure the job so it runs on every pull request and fails loudly if it cannot scan.

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.