Safeguard
Security Guides•

Suppress a finding or remove the dependency you plan to drop?

If a vulnerable dependency leaves soon, a short suppression tied to the removal ticket is fine. If removal is vague, suppression turns permanent.

Safeguard Security Team
4 min read

If a vulnerable dependency is already scheduled for removal, a short suppression tied to that removal ticket is reasonable. If the plan is vague, remove it now or fix it, because the suppression will outlive the intention. Date, owner and ticket turn "we will drop it" into something checkable.

The common trap

"We are replacing that library next quarter" is one of the most renewed sentences in security. Roadmaps slip. The suppression stays. A year later the library is still there and the original author has changed teams.

Decide with four questions

  1. Is a removal ticket in a real backlog, with an owner and a target date?
  2. Is the vulnerable code reachable in the meantime?
  3. Can you apply a compensating control, or a quick upgrade, today?
  4. Is removal smaller than the suppression's paperwork?

If the answer to the last is yes, just remove it. Many unused or lightly used dependencies take under an hour to drop. Our article on finding unused dependencies with an SBOM helps you check.

A decision table

SituationAction
Not imported anywhereRemove now
Used in one place, easy replacementReplace this sprint
Used widely, replacement planned with a dateSuppress to the date, with ticket and mitigation
Used widely, no planTreat as normal remediation, not removal
Reachable and exploitedFix or mitigate immediately, do not wait

Writing the tied suppression

Make the record say:

  • The removal ticket ID and the planned date.
  • The reason, typically a time limited deferral.
  • The mitigation in place until then.
  • An end date a little after the planned removal, not months after.
  • An owner who is on the removal work.

Add a check: when the ticket closes, the suppression should be deleted in the same pull request. Some teams automate this by failing CI if a suppression refers to a closed ticket.

What if the date slips

A slip is a new decision. Require a reason for the delay and a fresh look at reachability. Count it as a renewal. After two slips, escalate to whoever owns the roadmap, because the real issue is priority, not security.

Do not suppress, then forget the cleanup

Removal has leftovers: lockfile entries, configuration, imports in comments, documentation and any exceptions in other tools. Search for the package name across the repository and delete the suppression last.

A worked example

A team finds a vulnerable date parsing library used in one report job. A replacement takes two days. They schedule it for next sprint, suppress for 30 days with the ticket linked and a note that the report job reads only internal files, and delete the entry in the same pull request that removes the package. Nothing lingers.

Where Safeguard fits

Safeguard's dependency scanning and SBOM data show where a package is used across projects, which helps size the removal. The free scan at gold.safeguard.sh/scan gives a quick inventory.

Make removal the default

When in doubt, drop the package. Every dependency you keep is a standing cost of scanning, triage and updates, so the cheapest suppression is the one you never need.

Quick check

How long should a suppression for a pending removal last?

Until a little after the planned removal date, usually 30 to 90 days, with the ticket linked.

What if the removal keeps slipping?

Treat each slip as a renewal with fresh evidence, and escalate after the second one.

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.