← Docs

The dependency gate

Last updated .

What is the dependency gate?

It is a check, mergesafe-dependency-gate, on every repository's pull requests. It lists each risky package a pull request adds until someone signs off on it with I confirm name@version.

It is free at every level. On every pull request, MergeSafe flags pinned versions with known vulnerabilities or malware: with or without a review, so also with no balance, with reviews set to manual or on open, and on commits no review covers (in review scope: not drafts, and not branches your rules exclude). A full check of new or changed packages comes with a review. Every review still reports these packages as findings, whatever the gate's setting.

Advisory or blocking

The gate is on, and advisory, for every repository unless you change it. An organization Admin chooses in the app, under Settings, Dependency gate, or during setup, which offers the same three choices.

What it flags

A package the pull request adds, or moves to a new version, that is:

With a review, also:

It reads package-lock.json, npm-shrinkwrap.json, yarn.lock, uv.lock, poetry.lock, pdm.lock and requirements*.txt. It checks exact versions: a requirement written as a range (jinja2>=3.0) is not evaluated yet. When a pull request deletes a lockfile or requirements file, it checks the exact pins the same directory's files of the same ecosystem still hold for the packages that file listed. A file renamed away is not checked this way yet.

The gate matches versions against our own copy of the public vulnerability database. No AI model runs, and there is no charge.

How to sign off

The check lists each flagged package with its risk. Read it, then comment on the pull request:

I confirm left-pad@1.3.0

Who can sign off

Any repository owner, member or collaborator, the pull request’s author included. Comments from anyone else are not counted, and MergeSafe replies to say why.

Commits no review covered

The audit log

Each sign-off is recorded once and never changed: the package, the risk shown, who signed off, when, and the commit. An organization Admin downloads it as CSV or JSON in the app, under Settings, Dependency confirmations.

Next: Advisory check →