Safeguard
Security Guides•

How do you measure whether an ASPM program is working?

Track time to fix, share of findings with owners, duplicates removed, and policy violations caught before merge. Metrics that show ASPM is working.

Safeguard Security Team
6 min read

Measure ASPM by outcomes, not by finding counts: time from detection to fix, the share of findings with a named owner, how many duplicates were removed, and how many policy violations were caught before merge. If those improve over a quarter, the program is working.

Why finding counts mislead

A total that goes up can mean you see more, which is good. A total that goes down can mean a scanner broke. Raw counts move for reasons unrelated to risk, so they make a poor headline number.

Better metrics describe how work flows, because that is what the platform is meant to improve.

Six metrics worth tracking

MetricPlain definitionDirection you want
Time to remediateDays from first detection to verified fixDown
Owned findingsShare of open findings with a named teamUp
Dedup ratioRaw findings divided by unique issuesShows consolidation
Aging exploited itemsOpen items known to be exploited, past your target dateDown to zero
Pre merge catchesPolicy violations stopped in a pull requestUp, then stable
Reopen rateFixes that came backDown

Time to remediate should be split by priority tier. A single average hides the fact that critical items may be fixed fast while the rest rot.

How to set targets

Take a baseline over the last 30 to 90 days, before the platform changes anything. Then set targets as a change from that baseline. Avoid industry numbers you cannot trace to a source, because your codebases, team sizes and release cadence are different.

For the aging item, CISA maintains the Known Exploited Vulnerabilities catalog, described as the authoritative source of vulnerabilities exploited in the wild. Many teams use membership in that catalog as a trigger for a shorter deadline. Check CISA's current guidance for the details rather than copying a number from a blog.

How to collect them without extra work

  1. Export ticket data weekly from your tracker, including created and closed dates.
  2. Take ownership share from the platform's own report.
  3. Record dedup ratio once per month, since it changes slowly.
  4. Pull pre merge catches from your pull request checks.
  5. Put all of it in one page that fits on a single screen.

Watch for gaming

Any metric can be gamed. If time to fix is rewarded, teams may close tickets without fixing. Pair it with the reopen rate. If owned findings is rewarded, teams may assign everything to a default group. Sample a few assignments by hand each month.

Reviewing with leadership

Show the trend over three or four months, and one sentence per metric on what you changed. Leaders rarely need the full table, but they do need to see that the direction is steady.

A worked example with made up numbers

The figures below are invented to show how to read the metrics. They are not benchmarks.

MetricQuarter 1Quarter 2Reading
Median days to fix, top tier3018Faster, good
Median days to fix, lower tiers7080Slower, worth a look
Findings with an owner55 percent85 percentRouting is working
Exploited items past due92Urgent work is getting done
Reopen rate4 percent9 percentRising, check quality of fixes

Read as a whole, this quarter tells a clear story: urgent items improved, ownership improved, but lower tier work slowed and more fixes are coming back. A one line summary could be "We fixed urgent items faster and now need to check fix quality and lower priority backlog."

Notice what the summary does not say. It does not claim success because one number went up.

Step by step: building the first scorecard

  1. Choose four metrics from the table earlier in this post. More than six becomes noise.
  2. Write a one sentence definition for each, and who owns the number.
  3. Pull a baseline for the last quarter, even if the data is rough, and label it as rough.
  4. Decide the review cadence and put it on calendars.
  5. After the first review, drop any metric nobody used in a decision.

Pitfalls in definitions

Time to fix needs a clear start and end. Start at first detection, not when a ticket was created, otherwise delays in triage vanish from the number. End at verified fix, not at ticket closure, otherwise closing without fixing looks like success.

Ownership share needs a clear rule too. A default group name should not count as an owner. Decide this up front and apply it consistently.

Qualitative signals

Numbers miss some things. Ask developers once a quarter whether findings are clearer, whether duplicates have decreased, and whether the tool helps or gets in the way. A short survey with three questions is enough, and the answers often explain a metric that moved unexpectedly.

Where Safeguard fits

Safeguard provides policies, gates and guardrails, plus compliance and evidence automation, which can supply the pre merge and reporting data above. A free scan is at gold.safeguard.sh/scan.

Try it yourself

Click through it at your own pace, or open it full screen. Notice how status and priority sit side by side.

Quick check

Is there one metric to rely on?

There is no single one. If you must pick one, use time to remediate by priority tier, and pair it with the reopen rate.

How often should we review the metrics?

Weekly for operations, monthly for trends, quarterly for leadership.

What if the baseline data is poor?

Label it as rough, start recording properly now, and compare against your own improved data after one quarter. A rough baseline is still better than none.

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.