MCP server · REST API

Know when a security override can safely go away.

Backpatch checks whether an upstream dependency update now includes the safe transitive version — so your team can remove stale npm overrides, Yarn resolutions, and pnpm.overrides with confidence.

Read the docs →
POST /analyze_overrides200 OK
[
  {
    "packageName": "tough-cookie",
    "overriddenVersion": "4.1.3",
    "status": "SafeToRemove",
    "suggestedParentUpgrade": "upgrade request to 2.89.0",
    "advisoryId": "GHSA-72xf-g2v4-qvf3",
    "reason": "[email protected] already ships [email protected]"
  }
]
How it works
01

Scan

Reads every overrides, resolutions, and pnpm.overrides entry in one pass — no config.

02

Probe

Checks npm to see whether the parent dependency has already moved past the patched version on its own.

03

Explain

Cross-references the OSV database for the advisory that prompted each override in the first place.

Works with what you run

Dependabot, Renovate, Snyk, and OSV find the problem.

They tell you a transitive dependency is vulnerable and propose an upgrade. When no parent release exists yet, you pin the safe version yourself — and from that moment nothing is watching the pin. Backpatch is the other end of that incident.

How it fits alongside them →

One override, before and after

Added during the incident

"overrides": {
  "tough-cookie": "4.1.3"
}

GHSA-72xf-g2v4-qvf3. request had no fixed release yet.

Eight months later

[email protected] ships [email protected] on its own.

Upgrade the parent, delete the override.

Nothing in your toolchain told you this. That is the gap.

Pay for the limits, not the tool.

Choose the capacity your team needs. Move between plans or cancel any time from the dashboard.

Most popular
Pro

For individual maintainers.

$15/mo
  • 200 overrides / request
  • 120 requests / min
  • Cancel any time
Team

For shared codebases.

$50/mo
  • 1,000 overrides / request
  • 600 requests / min
  • Shared team key
Enterprise

For everything else.

Custom
  • Unlimited overrides
  • Custom rate limits
  • Dedicated support & SLA
Contact sales
What we do with your data

What is transmitted

The package.json you send, and a lockfile only if you choose to include one. No repository access, no credentials, no source code — the analysis only needs dependency names and version ranges.

What is retained

Not the file. We hold it for the length of the request and drop it. What persists is a per-day count of requests per key and which endpoint was called — that is what your usage dashboard reads.

We never store recoverable API keys, so we cannot read yours back. Full detail in the privacy policy.