Check Your React Native Dependencies for Known Advisories

Upload your lockfile to see which installed packages match published security advisories. Free, no account.

1 2 3

Upload Your Lockfile

Supported: package-lock.json (lockfileVersion 1, 2, or 3) and yarn.lock (Yarn Classic v1 or Yarn Berry). Not supported: package.json, pnpm-lock.yaml, Bun lockfiles, and native lockfiles such as Podfile.lock.

+

Drag & drop your package-lock.json or yarn.lock here

or

Before you upload: viewing the report requires your work email.

Your lockfile is parsed in your browser and the file is never uploaded. Only package names and versions are sent: to our lookup service, which checks the npm registry's advisory database, and to OSV.dev if that lookup fails. What is sent and stored · See a sample report

1 2 3

Checking 0 package versions against published advisories...

1 2 3

Your Dependency Report

Book a Free Call — 30 Minutes

Walk through your results with a senior React Native engineer and decide what needs fixing first.

Not ready for a call? Read the React Native security checklist for areas this scan does not cover.

What Does the Scanner Check?

Every Installed Package Version

We read the exact versions your lockfile installed, direct and transitive. Packages installed from git, local folders, or workspaces are not on the npm registry, so they are counted and listed as not checked.

Published Security Advisories

Versions are matched against the npm registry's advisory database, the same bulk advisory endpoint npm audit uses, whose entries link to the GitHub Advisory Database. If that lookup fails, we query OSV.dev instead.

A Status You Can Trust

Every report says whether the scan was complete, partial, or failed. If a lookup fails, you see an incomplete or failed scan, never a clean result.

React Native Context

We detect your React Native and Expo versions, tag React Native ecosystem packages, and, for lockfileVersion 2 and 3, show whether an affected package is a direct or transitive dependency.

Senior Engineers working with React Native since 2016. North America-based. No outsourcing.

What Happens After the Scan?

1

Review Your Report

See exactly which packages have known vulnerabilities and their severity levels.

2

Book a Consultation

Walk through your results with a React Native engineer. 30 minutes, no pitch.

3

Get It Fixed

We handle the upgrades while your team stays focused on building features.

Frequently Asked Questions

Which files does the scanner support?

package-lock.json with lockfileVersion 1, 2, or 3, and yarn.lock from Yarn Classic (v1) or Yarn Berry. It does not read package.json, because that file lists version ranges rather than installed versions. It also does not read pnpm-lock.yaml, Bun lockfiles, or native lockfiles such as Podfile.lock. For pnpm or Bun projects, npm install --package-lock-only creates a package-lock.json, though its resolved versions can differ slightly from what pnpm or Bun installed.

Is my lockfile uploaded?

No. The file is parsed in your browser. Package names and versions, plus the detected React Native version, are sent to our Cloudflare Worker, which checks them against the npm registry's advisory database. If that fails, your browser sends the names and versions to OSV.dev. When you open the report, your email and a scan summary are sent to us so we can follow up. The lockfile itself and your full package list are not stored. When scan storage is enabled on our Worker, a scan that matched advisories is saved at lookup time, before you enter an email: its matched advisories, counts, React Native version, and basic request details (country, browser user agent, referring page), kept for up to 90 days. See how the scanner works.

How does this compare to npm audit?

The primary lookup uses the same npm registry bulk advisory endpoint as npm audit, so matches should agree. The differences: you only need the lockfile, each advisory is listed once per package instead of once per install path, and the scanner does not compute fixes, flag packages that depend on vulnerable versions, or separate dev-only dependencies. Run npm audit in the project for those.

What does "No published advisories matched" mean?

It means every registry package version in your lockfile was checked and none matched a published security advisory at the time of the scan. It does not mean the app is secure. Advisories only cover publicly reported vulnerabilities in npm packages, and the scan does not look at your source code, native iOS or Android dependencies, configuration, secrets, or whether your app uses the affected code.

What if the scan is incomplete or fails?

A partial scan means some lookups failed. The report says how many package versions were checked and shows matches for those only. A failed scan means nothing could be checked, so no results are shown and no email is requested. Neither is a clean result. Try again later, or run npm audit locally.

Can I scan an Expo project?

Yes, if the project has a package-lock.json or yarn.lock. The scanner checks the JavaScript packages in it, including Expo packages, and shows the Expo and React Native versions it finds. Native code generated by prebuild and config plugins is not checked.

Ready to Fix What You Found?

Book a free 30-minute call with a senior React Native engineer. We'll walk through your results and tell you exactly what it takes to remediate them.

Book a Free Call →