npmreport

npm gives maintainers mechanisms to verifiably establish how a package was published.

Staged publishing
Published through npm's staged flow, prepared and reviewed before it goes live. npm docs ↗
Trusted publisher
Published from CI over OIDC, with no long-lived npm token to leak or steal. npm docs ↗
Provenance
A signed link from the published package back to the exact source commit and build. npm docs ↗
None
No verifiable signal. The release rests on the maintainer's account and token alone, so a compromise there can ship malware unnoticed.

In the summary, staged publishing and trusted publisher both count as strong trust; provenance is a weaker positive; none is the one to check.

Supply-chain trust signals for npm orgs. Audit, visualize, share, track over time.

Recent reports

Latest saved audits
  1. netlify
  2. react-router, remix
  3. vitest
  4. vue
  5. nuxt
  6. … 13 more

Configuration

fast-check

One or more npm org slugs (up to 5).

Reports
GitHub+Actions

Publishers to treat as automation. Note: npm cannot distinguish a human from that human’s CI token, so “manual” is a proxy, not proof.

audit · stream
→ audit fast-check | reports: trust,manual
→ scope: ALL org packages
[trust] listing packages in: fast-check
[trust] 11 packages; checking latest release metadata...
[trust] resolved 11/11
[trust] in scope (ALL org packages): 11 packages
[trust] checking trust status (11)...
[trust] trust 11/11
[trust] fetching weekly downloads (7 scoped)...
[trust] downloads 11/11
[trust] provenance=9 trustedPublisher=8 stagedPublish=6 deprecated=2 of 11
[manual] scanning 11 packages for publishes in last 12 months...
[manual] scanned 11/11
[manual] 35 manual publishes (of 35 scanned)
Done.

Live log shows audit progress and warnings.

Report ready 11 package trust rows · 35 manual publishes

Progress over time

Strong trust
72.7% (8) staged or trusted
Any trust
81.8% (9) incl. provenance
No trust signal
18.2% (2) no trust metadata detected
Strong trust Any trust No trust signal
0%50%100%8/2410/18
  1. ...
    9/11 any trust
  2. ...
    9/11 any trust
  3. ...
    9/11 any trust
  4. ...
    9/11 any trust
  5. ...
    9/11 any trust
  6. ...
    9/11 any trust
  7. ...
    9/11 any trust
  8. ...
    9/11 any trust
  9. ...
    9/11 any trust
  10. ...
    9/11 any trust
  11. 9/11 any trust
  12. 9/11 any trust
  13. 9/11 any trust
  14. ...
    9/11 any trust
  15. ...
    9/11 any trust
  16. ...
    9/11 any trust
  17. ...
    9/11 any trust
  18. ...
    9/11 any trust
  19. ...
    9/11 any trust
  20. 9/11 any trust
  21. 9/11 any trust
  22. 9/11 any trust
  23. 9/11 any trust
  24. ...
    9/11 any trust

Audit results

In scope
11
Staged publish
6
Trusted publisher
2
Provenance only
1
No trust signal
2
Deprecated latest
2
11 packages · click a column to sort
Package trust level report
fast-check4.10.2staged publishGitHub Actions42,558,407—
@fast-check/poisoning0.3.1staged publishGitHub Actions207—
@fast-check/vitest0.5.0staged publishGitHub Actions284,758—
@fast-check/jest2.3.0staged publishGitHub Actions290,550—
pure-rand8.4.2staged publishGitHub Actions61,827,664—
@fast-check/packaged0.7.1staged publishGitHub Actions32—
@fast-check/ava3.0.1trusted publisherGitHub Actions3,060—
@fast-check/worker0.6.0trusted publisherGitHub Actions32—
@fast-check/expect-type0.2.1provenancendubien30DEPRECATED
ava-fast-check6.0.0nonendubien245DEPRECATED
jsverify-to-fast-check0.0.3nonendubien5—

“Recency” is the latest dist-tag’s publish time. “Manual” means the publisher isn’t in your bot-exclusion list — npm can’t tell a human session from that account’s automation token.

User publish history

standalone — by npm account

Versions attributed to a specific npm publisher within the window. This scans that account’s maintained packages, optionally combined with packages from the last audit run.