What changed
On September 9, GitHub added a new repository ruleset rule, `require_secret_scanning_alert_resolution`, for customers with GitHub Secret Protection or GitHub Advanced Security. When enabled, a pull request cannot merge until a secret scan has completed on the head commit and no open secret-scanning alerts introduced by the pull request remain unresolved. Provider-pattern secrets are included by default, with optional blocking for custom or generic patterns. The rule can be configured at repository, organization or enterprise level and through REST or GraphQL APIs. It is currently in public preview.
Why it matters
Secret scanning has traditionally warned or blocked earlier in the workflow, but real repositories still receive pull requests through paths where a secret can reach review. Making unresolved alerts a merge-policy condition gives security teams an enforceable final gate and lets large organizations roll that control across repositories centrally. It also changes CI/review expectations: a merge can now remain blocked because scanning has not completed, not only because a secret was confirmed.
The merge gate checks both scan completion and alert state
GitHub requires the head commit to finish secret scanning before the rule passes. It then checks whether the pull request introduced any still-open secret alerts. Developers without bypass rights must resolve those alerts before merging.
This complements rather than replaces push protection
Push protection tries to stop a secret before it enters the repository. The new ruleset acts later at pull-request merge time, covering a different workflow boundary and giving organizations a final enforcement point.
Central rollout is part of the value
The rule can live in repository, organization or enterprise rulesets and can be managed through REST or GraphQL. That makes it suitable for policy-as-code and fleet-wide governance rather than one-off repository configuration.