Safeguard
Compliance•

Which dependency metrics should you track for a SOC 2 audit?

Track five dependency numbers monthly: coverage, open findings by age, time to fix, exceptions and update lag. Each ties to a control an auditor tests.

Safeguard Security Team
4 min read

Track five numbers monthly: scanner coverage of in-scope repositories, open findings by severity and age, median time to fix, count and age of exceptions, and how far behind your direct dependencies are. Each maps to a control an auditor tests, and each is easy to export with a date.

Why a few metrics beat a dashboard full of charts

Auditors do not grade your dashboard. They test controls, and a metric helps when it answers a question they already ask: is scanning complete, are issues handled on time, are exceptions controlled? A small set, reviewed on a calendar, is better evidence than twenty charts nobody reads.

The five

MetricQuestion it answersHow to compute
CoverageIs every in-scope repo scanned?Scanned repos divided by in-scope repos
Open findings by ageAre we keeping up?Count in buckets, such as under 30 days, 30 to 90, over 90
Time to fixDo we meet our own policy?Median and worst case, by severity
ExceptionsAre we controlling misses?Count open, oldest age, overdue reviews
Update lagAre we drifting?Direct dependencies more than one major version behind

Coverage comes first because a perfect time to fix means little if a third of the repositories are never scanned. GitHub documents that its dependency graph is built from manifest and lock files in a repository, so repositories without them may show an incomplete picture. Reconcile the list.

Read the numbers honestly

  • A shrinking backlog and a growing exception list can mean you are closing issues by excusing them. Look at both together.
  • A median hides slow outliers, so also report the longest open item.
  • Severity labels are a starting point. Add whether the issue is in the CISA Known Exploited Vulnerabilities catalog, since CISA recommends using it as an input to prioritization, and whether the vulnerable code is reachable.

Set thresholds that trigger action

A metric with no threshold is trivia. Pick triggers in advance:

  1. Coverage below 100 percent of in-scope repos opens a ticket to fix the gap.
  2. Any item past its policy deadline requires an exception record within a day.
  3. Any exception older than its review date goes on the next monthly agenda.

Record the discussion. The minutes are part of the evidence that the control operates.

Keep the history

Metrics only help if you can show past values. Save a dated export each month, because many tools display only the current state. A year later, those snapshots are how you prove what the backlog looked like during the window.

Avoid vanity numbers

"Vulnerabilities fixed this quarter" rewards churn. "Percentage of dependencies updated" can be inflated by trivial bumps. Prefer measures tied to risk and to your written policy.

Try it yourself

Open the demo and look at how findings are grouped and aged in a vulnerability management view. Think about which counts you would export each month.

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

Where Safeguard fits

Safeguard's dependency scanning, reachability analysis and compliance and evidence automation produce the underlying data for these counts. Free scan: https://gold.safeguard.sh/scan.

Quick check

Do auditors require specific metrics?

No. They test your controls. Metrics are useful when they show a control operating.

How often should I review them?

Monthly works for most small teams. Save the numbers and the meeting notes each time.

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.