Safeguard
Security Guides•

Who should approve a new dependency? A decision guide

Not every dependency needs a committee. A tiered approval guide shows which additions a developer can make alone and which need a named second reviewer.

Safeguard Security Team
4 min read

Match the approval to the risk. A well-known library already used elsewhere in the company can be approved by the pull request reviewer. A new package with install scripts, network access or a single maintainer should get a named second reviewer, ideally from security or platform. Write the tiers down so new hires do not guess.

Why a tiered rule beats "ask someone"

Without a rule, new developers either add anything to avoid friction or ask everyone and slow down. A simple tier table gives a fast path for low risk and a slower path for high risk, and it makes the decision auditable later.

A sample tier table

TierExampleWho approves
1: Already approvedA package already in the shared allow listNormal code reviewer
2: New but ordinaryNew utility library, active maintainers, no install scriptsReviewer plus a short note in the pull request
3: ElevatedInstall scripts, native code, network or file access, one maintainer, recent ownership changeNamed security or platform reviewer
4: Sensitive areaAuth, crypto, build tooling, CI actionsSecurity reviewer and the code owner

Adjust the lines for your company. The point is that the tier is decided by what the dependency does, not by who is adding it.

What the approver should see

Ask the author to put these in the pull request:

  1. The problem the package solves and why writing it in-house is worse.
  2. Alternatives considered, including the standard library.
  3. Maintainer and repository link, with recent activity.
  4. What it pulls in. A package that adds forty transitive packages is a larger decision than its name suggests. See direct versus transitive dependencies.
  5. Known advisories at the time of adding.
  6. Whether it runs code at install time.
  7. License category, handed to whoever owns license policy. This post is not legal advice.

Automate the boring half

Some checks do not need a human: a dependency review step on the pull request, an advisory lookup, a diff of the lockfile. GitHub describes dependency review as a way to catch insecure dependencies before you introduce them, showing what was added, removed or updated and any known vulnerabilities. Let tooling surface the facts so the reviewer spends time on judgment.

Keep a record

Log approvals somewhere searchable. When an advisory lands six months later, you want to know who approved the package and why. A short entry per decision is enough.

Where Safeguard fits

Safeguard can do the inventory and watching for you. Its SBOM and dependency scanning lists what a repository actually pulls in, reachability analysis helps separate reachable findings from noise, and policies can gate a pull request. You can try a free scan on a repository to see the output.

Try it yourself

Click through it at your own pace, or open it full screen. Look at how direct and transitive packages appear in one inventory, which is what an approver needs to see.

Quick check

Do dev dependencies need approval too?

Yes, with the same tiers. Test and build tooling runs on developer machines and in CI, where credentials often live.

Who owns the allow list?

Name one team, usually platform or security, and give them a short turnaround target so the list does not become a bottleneck.

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.