Binary distribution is the root of trust — code signing / notarization story #63
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why (raised by the adversarial review on #61)
We are building signature verification for the server catalog (#61) on the premise that
CATALOG_PUBKEYScompiled into the binary is trustworthy. That premise is the whole thing.Polishing catalog security while the binary itself is unsigned is polishing the wrong surface. This doesn't block #61 (the catalog work is still correct and worth doing), but it caps how much the catalog controls are actually worth, and it should be understood and decided on rather than left implicit.
What to figure out
Note
Doing the free checksum+signature step alone is a meaningful improvement and should probably happen regardless of what's decided about paid certificates.
Related: #61 (signed catalog — depends on this being sound), #19 (update checker: notify-only, no self-replacement — that decision looks better and better in this light).
Decision (AJ, 2026-07-12): no paid certificates. Do the free half, document the limit honestly.
Investigated, all dead ends for a zero-budget project:
What we WILL do (free, and a real integrity guarantee):
SHA256SUMSfor every release artifact (macOS/Windows/Linux archives), generated inrelease.yml.SHA256SUMSwith the same Ed25519 key used for the catalog (#61) →SHA256SUMS.sig, attached to the release.CATALOG_PUBKEYS).Accepted risk, recorded: BCC binaries are unsigned. A user who downloads over TLS from git.avezzano.io and does not verify checksums is trusting the transport and the host. Signed checksums move that from assumed to verifiable, which is the most that can be done at zero cost. Revisit if the project ever has a budget.