Verify downloads¶
Every release on each release publishes three independent proofs. Any one is enough; belt-and-braces people use all three.
1. Checksums¶
SHA256SUMS lists every asset. Download it next to the file(s) you fetched and:
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS / BSD
sha256sum -c SHA256SUMS --ignore-missing # GNU
The one-line installer does this for you automatically.
2. Sigstore signature on the checksum file¶
SHA256SUMS is signed keylessly with cosign by the GitHub Actions release workflow. Verifying proves the checksum file was produced by this repository's workflow, not by someone with a stolen laptop:
cosign verify-blob \
--bundle SHA256SUMS.sigstore.json \
--certificate-identity-regexp 'https://github.com/adammatthewsteinberger/clippy-pet/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
SHA256SUMS
3. GitHub artifact attestation¶
Each release asset carries a build-provenance attestation you can check with the GitHub CLI:
Attestations are listed at github.com/adammatthewsteinberger/clippy-pet/attestations.
GPG and apk keys¶
Repository signing keys for the planned apt/rpm and Alpine repos are already published so you can pin them ahead of time:
| Key | Use | Where |
|---|---|---|
RSA-4096 OpenPGP, fingerprint 49B2 46A2 9CD4 0801 4D5C 1EEE 57F1 8C00 88A5 8920, expires 2028-08 | apt InRelease, rpm signatures | packaging/keys/clippy-pet-signing.gpg.asc, also served at /keys/ on this site |
RSA apk key adam@matthewsteinberger.com-6a834891 | Alpine .apk and repo index | packaging/keys/clippy-pet-signing.apk.rsa.pub |
Private keys live only in the release workflow's secrets and in the maintainer's offline backup; they are never in the repository.
macOS signing¶
Developer ID signing and Apple notarization of the .app/.pkg/.dmg are wired into the release workflow and activate when the credentials are present. Status: planned (see macOS). When live, spctl -a -vv -t install Clippy-Pet-<version>.pkg and xcrun stapler validate will pass.
Reporting a problem¶
If a checksum or signature doesn't verify, don't install, and please report it privately.