Safeguard
Developer Tools•

A scanner cutover runbook: freeze, export, import, verify, switch

A step by step cutover runbook for moving dependency scanning to a new tool: freeze edits, final export, import, verify, switch gates and rollback.

Safeguard Security Team
4 min read

A clean cutover has five phases: freeze triage edits in the old tool, take a final export, import into the new one, verify with a sample and counts, and then switch gates and notifications. Keep a rollback path open until the first full business week has passed without surprises.

Before the window

Cutover is the shortest part of a migration, but it fails when preparation is thin. Have these ready.

  • A mapping sheet for reasons, projects and owners
  • Import scripts tested on at least two projects
  • Counts from the old tool, saved: projects, open, closed and suppressed findings
  • A rollback decision written down, with the owner named
  • Communication sent to engineers about what will change and when

The runbook

PhaseActionDone when
1. FreezeAnnounce no new dismissals or ticket changes in the old toolNotice posted, edits stopped
2. ExportTake the final export, hash it, store itCounts match the UI
3. ImportRun the import for all projectsImport log shows no errors
4. VerifyReconcile counts, sample 20 decisions, read the orphan listPass rules met
5. SwitchMove gates, notifications and ticket creation to the new toolTest pull request behaves as expected
6. WatchMonitor for duplicate tickets and unexpected blocksA quiet first week

Freeze without freezing work

A freeze applies to decisions in the old tool, not to development. Engineers can still merge, and the old scanner can keep scanning. Anything dismissed during the window is recorded on a short list and applied by hand after the import, so no decision is lost.

Switching the gates

Gates are where a migration is felt. Run the new scanner in report only mode first, then move to blocking once the numbers look right. Compare what each tool would have blocked on the same pull requests for a week. Differences need explanations before blocking begins.

Do not enable ticket creation until the relink is complete, or you will create duplicates.

Keep the old tool running in parallel

Leave the old scanner active, read only if possible, for a defined period. It gives you something to compare when an engineer says "the old tool never complained about this". Set an end date and tell people.

Rollback criteria

Decide in advance what would send you back. Examples: a gate blocking more than an agreed share of pull requests without a clear reason, import errors affecting a large share of records, or a critical ecosystem the new tool cannot read. Write the thresholds in the plan. The decision is much easier when nobody has to improvise it.

After the switch

Record the date, the counts and the open issues in the migration record. Schedule a review at 30 days to look at suppressions that were re-triaged, orphans that remain and the first expiries coming due.

A note on Safeguard

Safeguard supports policies, gates and guardrails for pull requests, along with SBOM and dependency scanning. A free scan at gold.safeguard.sh/scan can serve as a second opinion before you switch.

Try it yourself

Open the demo and watch how a pull request gate decides whether to block a change. It is the surface your engineers will notice first after the switch.

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

Quick check

How long should the parallel run last?

Long enough to cover at least one full release cycle and one cycle of advisory updates. Many teams choose two to four weeks.

What if the export count does not match the UI?

Stop. Find the gap before importing, because you cannot reconcile later against a number you do not trust.

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.