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. lit
  2. gatsbyjs, netlify
  3. atproto
  4. nuxt
  5. cloudflare
  6. … 13 more

Configuration

testing-library

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 testing-library | reports: trust
→ scope: ALL org packages
[trust] listing packages in: testing-library
[trust] 19 packages; checking latest release metadata...
[trust] resolved 19/19
[trust] in scope (ALL org packages): 19 packages
[trust] checking trust status (19)...
[trust] trust 19/19
[trust] fetching weekly downloads (19 scoped)...
[trust] downloads 19/19
[trust] provenance=8 trustedPublisher=8 stagedPublish=0 deprecated=1 of 19
Done.

Live log shows audit progress and warnings.

Report ready 19 package trust rows

Progress over time

Strong trust
42.1% (8) staged or trusted
Any trust
42.1% (8) incl. provenance
No trust signal
57.9% (11) no trust metadata detected
Strong trust Any trust No trust signal
0%50%100%8/259/1310/16
  1. ...
    8/19 any trust
  2. 8/19 any trust
  3. ...
    8/19 any trust
  4. 8/19 any trust
  5. 8/19 any trust
  6. ...
    8/19 any trust
  7. ...
    8/19 any trust
  8. ...
    8/19 any trust
  9. 8/19 any trust
  10. ...
    8/19 any trust
  11. 8/19 any trust
  12. 8/19 any trust
  13. 8/19 any trust
  14. 8/19 any trust
  15. 8/19 any trust
  16. ...
    8/19 any trust
  17. ...
    7/19 any trust
  18. ...
    7/19 any trust
  19. 7/19 any trust
  20. 7/19 any trust
  21. ...
    7/19 any trust
  22. ...
    7/19 any trust
  23. ...
    7/19 any trust
  24. 7/19 any trust
  25. ...
    7/19 any trust
  26. ...
    7/19 any trust
  27. ...
    7/19 any trust
  28. 7/19 any trust
  29. 7/19 any trust
  30. 7/19 any trust
  31. 7/19 any trust
  32. 7/19 any trust

Audit results

In scope
19
Staged publish
0
Trusted publisher
8
Provenance only
0
No trust signal
11
Deprecated latest
1
19 packages · click a column to sort
Package trust level report
@testing-library/user-event14.6.8trusted publisherGitHub Actions58,829,442—
@testing-library/react-native14.1.0nonemdjastrzebski4,390,151—
@testing-library/dom10.4.2trusted publisherGitHub Actions85,373,769—
@testing-library/angular19.5.0trusted publisherGitHub Actions287,657—
@testing-library/react16.3.3trusted publisherGitHub Actions70,309,317—
@testing-library/jest-dom7.0.1trusted publisherGitHub Actions73,843,594—
@testing-library/svelte5.4.2trusted publisherGitHub Actions956,368—
@testing-library/svelte-core1.1.3trusted publisherGitHub Actions1,084,198—
@testing-library/cypress10.1.3trusted publisherGitHub Actions1,173,205—
@testing-library/react-render-stream2.0.2nonetesting-library-bot9,802—
@testing-library/preact3.2.4nonetesting-library-bot332,984—
@testing-library/vue8.1.0nonetesting-library-bot826,377—
@testing-library/testcafe5.0.1nonetesting-library-bot79,280—
@testing-library/jest-native5.4.3nonetesting-library-bot667,992DEPRECATED
@testing-library/jasmine-dom1.3.3nonetesting-library-bot16,479—
@testing-library/webdriverio3.2.1nonetesting-library-bot19,127—
@testing-library/react-hooks8.0.1nonetesting-library-bot2,367,972—
@testing-library/preact-hooks1.1.0nonecmckinstry12,702—
@testing-library/nightwatch2.0.0nonebenmonro49—

“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.