Safeguard
Developer Tools•

Raise your Scorecard Branch-Protection score tier by tier

Scorecard's Branch-Protection check is tiered and truncates your score if a lower tier is missed. See what to enable on GitHub and in what order.

Safeguard Security Team
3 min read

Scorecard scores Branch-Protection in tiers. If a setting from a lower tier is missing, the score is capped at that tier's maximum, however many higher settings you meet. So enable the basics first: block force pushes and deletions, then require reviews and status checks, and apply the rules to administrators.

How the tiers behave

The Scorecard FAQ states that if a Tier 1 setting is not satisfied, it does not matter that all other settings are met, because the score is truncated up to the tier's maximum. It publishes a table mapping settings to tiers, and notes that some settings need an admin token to verify. An outside scan may therefore read lower than your real configuration.

The check is rated High, and it applies to the default branch and release branches.

What to enable

The checks documentation says the check wants branch protection or rulesets that block force pushes and deletion, require reviews and require status checks. GitHub's protected branch documentation describes the available settings.

  1. Force pushes and deletions: blocked by default on protected branches. Leave them blocked.
  2. Pull request reviews: require at least one approving review. You can dismiss stale approvals when new commits change the diff, and require that someone other than the last pusher approves.
  3. Status checks: require your test and scanning checks to pass. Strict mode also requires the branch to be up to date with the base.
  4. Conversation resolution: optional, but it keeps review comments from being ignored.
  5. Bypass control: by default, administrators and roles with the bypass permission are exempt. You can enforce the rules on them as well.

Rulesets versus classic rules

GitHub notes that for classic branch protection only a single rule can apply at a time, which makes overlapping patterns hard to predict. Rulesets do not have that limit, and existing rules can be converted. Scorecard's documentation mentions both rules and rulesets.

The related Code-Review check

Code-Review, also High risk, looks at about the last 30 commits and asks whether someone other than the committer approved or merged them. Bot reviews do not count. If you are the only maintainer, this check will stay low unless you recruit a second reviewer. That is a structural limit, not a configuration error.

Verify

Run the Scorecard CLI with the show-details flag and read the Branch-Protection reasons. If it reports that it could not read settings, run it with a token that has the needed repository permissions.

Safeguard policies and gates can add a further control on the pull request itself, checking findings before merge.

Quick check

Why does my score stay low with reviews enabled?

A missing lower tier setting, such as allowing force pushes, caps the score. Check the FAQ tier table and fix the lowest gap first.

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.