1. Source commit
Signedrepository, ref, commit SHA the run was triggered on
2. Build job
Signedworkflow file, run ID, hosted runner: that the job ran
Not attestedwhat each step did, dependency and cache contents, extra checkouts, every file the build generated
3. Tarball
Signeddigest of the exact bytes (statement subject)
4. Registry
Checked at publishdigest matches subject; package.json repository matches the certificate
5. Your install
Not checkednpm install never verifies attestations (npm 12.2.1)
Opt-innpm audit signatures checks chain and digest, not the signer identity
