{
 "metric": "pkg-provenance",
 "segment": "ecosystem-npm",
 "anchor": "package",
 "label": "npm (packages)",
 "population": "packages on npm",
 "states": [
  "attested",
  "signed_only",
  "unsigned"
 ],
 "quiet_failure_states": [
  "signed_only",
  "unsigned"
 ],
 "measurement": "Bulk npm metadata: attestations and signatures on the latest release.",
 "why_it_matters": "A signature proves the registry served what the publisher uploaded; only *provenance* links the artefact to the source commit and build that produced it. Without it, a compromised publisher account or build step is undetectable. ~85% lack provenance.",
 "limits": "**npm only.** PyPI is *excluded* rather than counted as unsigned, because its JSON API does not surface PEP 740 attestations — absence of evidence is not evidence of absence. The earlier framing (counting only `unsigned`) read 0% because npm signs everything; the real gap is build provenance, which is why `signed_only` is a failure state.",
 "data_tier": "package",
 "population_predicate": "any",
 "entity_type": "package",
 "kind": "failure",
 "latest": {
  "day": "2026-08-09",
  "n": 679,
  "qf_pct": 84.68,
  "ci": [
   81.78,
   87.2
  ],
  "dist": {
   "unsigned": 0,
   "signed_only": 84.68,
   "attested": 15.32
  },
  "snapshot": "packages-top400"
 },
 "series": [
  {
   "day": "2026-08-01",
   "n": 400,
   "qf_pct": 74.75,
   "ci": [
    70.27,
    78.76
   ],
   "dist": {
    "attested": 25.25,
    "signed_only": 74.75,
    "unsigned": 0
   },
   "snapshot": "packages-top400"
  },
  {
   "day": "2026-08-02",
   "n": 679,
   "qf_pct": 84.68,
   "ci": [
    81.78,
    87.2
   ],
   "dist": {
    "unsigned": 0,
    "signed_only": 84.68,
    "attested": 15.32
   },
   "snapshot": "packages-top400"
  },
  {
   "day": "2026-08-04",
   "n": 679,
   "qf_pct": 84.98,
   "ci": [
    82.09,
    87.47
   ],
   "dist": {
    "attested": 15.02,
    "signed_only": 84.98,
    "unsigned": 0
   },
   "snapshot": "packages-top400"
  },
  {
   "day": "2026-08-05",
   "n": 679,
   "qf_pct": 84.83,
   "ci": [
    81.94,
    87.33
   ],
   "dist": {
    "unsigned": 0,
    "signed_only": 84.83,
    "attested": 15.17
   },
   "snapshot": "packages-top400"
  },
  {
   "day": "2026-08-09",
   "n": 679,
   "qf_pct": 84.68,
   "ci": [
    81.78,
    87.2
   ],
   "dist": {
    "unsigned": 0,
    "signed_only": 84.68,
    "attested": 15.32
   },
   "snapshot": "packages-top400"
  }
 ],
 "license": "CC BY 4.0",
 "source": "https://quietfailures.com/datasets/pkg-provenance/ecosystem-npm"
}