Safeguard
Developer Tools•

What should you check in an SCA report before a release?

A release go or no-go checklist for SCA results: fresh scan, no exploited findings, reachable items decided, exceptions recorded, lockfile matched.

Safeguard Security Team
3 min read

Before a release, check seven things in the SCA report: the scan is fresh and matches the release lockfile, no known exploited findings are open, reachable runtime findings have a fix or a recorded decision, exceptions have owners and dates, and the report covers every service in the release. Anything else is a note, not a blocker.

Why a short checklist

Release time is the worst moment to read 200 findings. A checklist replaces judgment under pressure with decisions made earlier. The aim is to block on a small, defensible set of conditions and to record everything else.

The checklist

  1. Fresh scan. The scan ran against the exact commit and lockfile being released. The npm documentation notes that without a lockfile, results may differ on every run because the tree is rebuilt each time, so a scan not tied to a lockfile is weak evidence.
  2. Full coverage. Every service in the release appears in the report.
  3. No open known exploited findings. CISA's catalog lists vulnerabilities with reliable evidence of active exploitation and a clear remediation action. If one is present in released code, fix it or document the mitigation.
  4. Reachable runtime findings handled. Each has a fix, a mitigation or a recorded acceptance.
  5. Exceptions recorded. Every accepted finding has an owner, a reason and a review date.
  6. No new findings from the change. Compare to the previous release report and explain each new finding.
  7. Container images scanned. The image that ships was scanned, not just the source.

Go and no-go rules

ConditionDecision
Known exploited and reachable, no mitigationNo-go
Reachable runtime, fix available and low riskFix before release
Reachable runtime, no fix, mitigation in placeGo with record
Not reachable or development onlyGo, schedule the fix
Scan older than the release commitRescan first

Adapt the table to your own risk tolerance and write it down so it is applied the same way each time.

Automate what you can

A gate in the pull request or pipeline can enforce items 1, 3 and 6 without a meeting. The npm documentation notes its audit command can use an audit level setting so that a failure threshold applies in continuous integration, and that this option changes the failure threshold without filtering the report output. Whatever tool you use, keep the threshold visible and the exceptions logged.

After the release

Keep the report with the release record. If an advisory lands next week for something you shipped, the saved report tells you immediately whether you are affected.

Try it yourself

Click through it at your own pace, or open it full screen. See how a gate decides to pass or block based on scan results.

Where Safeguard fits

Safeguard's policies, gates and guardrails can enforce these checks in the pipeline, with evidence retained for later review.

Quick check

Should every high severity finding block a release?

Not automatically. Block on exploited and reachable conditions, and record the rest with owners and dates.

Is a scan from last week acceptable?

Only if the lockfile and code have not changed. Otherwise rescan against the release commit.

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.