Your project signs releases with a long-lived PGP key and a team proposes keyless signing. How do you decide?
answer
- decide on who verifies, not on tooling
- offline and durable versus no durable secret
- keyless adds services you do not run
- trust question moves to builder identity
- publish both through an overlap window
basics
~20 sDecide on who verifies. A long-lived key buys offline verification and universal tooling at the cost of decade-long key custody; keyless buys no durable secret and a public record, but depends on services you do not run.
solid answer
~50 sFrame it as a consumer question, not a tooling preference. A long-lived PGP release key gives verification that needs no online service at all, tooling every distribution packager already has, and artifacts that still verify in ten years — while making you custody a secret for a decade, and leaving key discovery and revocation unsolved. A keyless flow signs with an ephemeral key bound to a build identity, so there is no long-term secret to steal and the signature lands in a public transparency log that makes issuance auditable — while adding a dependency on an identity provider at signing time, a trust root you do not operate, and tooling your downstream may not run. Then measure: if nobody verifies today, migrating changes nothing, and raising verification coverage is the better spend. If you migrate, run both for an announced overlap window rather than cutting over.
go deeper
Recall the shape of the two models: one long-lived key held by the project, versus a short-lived key issued per build. Know that both produce something a consumer must check.
Explain the mechanics that differ: durable private key and keyring distribution on one side, ephemeral key, identity-bound certificate and a public log on the other, and what each needs at verification time.
Show the migration plan: dual publishing, an announced overlap window, adoption telemetry, and offline verification material bundled for consumers who cannot reach a service.
Own the call. Weigh consumer profiles, custody cost, contractual obligations and availability coupling, and be ready to argue that raising verification coverage may beat changing signature technology at all.
## Start by naming who verifies This decision is almost never settled by comparing cryptography. It is settled by asking who your consumers are and what they run at verification time, because a signature nobody checks has identical value in both models: zero. Three consumer profiles pull different ways: - **Distribution and enterprise packagers.** They have pinned keyrings, air-gapped or egress-restricted build hosts, and long-lived process. They want offline verification and they want the key not to change often. - **Container and platform consumers.** They verify at admission or at pull, on hosts with network access, and are comfortable with a policy that names a builder identity rather than a person. - **Individual developers.** Mostly verify nothing, in either model, unless the ecosystem's default tooling does it for them. ## What the long-lived key genuinely gives you - **Offline verification.** Artifact plus keyring is sufficient. No service must be reachable, at signing or at checking. This is the property that keeps the model alive in regulated, air-gapped and long-horizon environments. - **Longevity.** A ten-year-old artifact still verifies against the key you archived, which matters for forensic and reproducibility questions during an incident. - **Ubiquity.** Every packager already has the tooling and the habits. And what it costs: - **Custody for years.** A secret that must survive laptops, staff turnover and CI secret stores for the life of the project. - **Discovery unsolved.** The verifier still has to learn which key is yours, on a channel independent of your website. - **Revocation nobody sees.** Retiring the key does not reliably reach anyone who already imported it. - **Human ceremony.** Release signing depends on a person being available and doing it correctly. ## What the keyless model gives you - **No durable secret.** The signing key is generated per operation and discarded; there is nothing to steal from a laptop or read out of a secret store months later. - **Identity binding to a workload.** The signature is tied to a build identity issued at signing time rather than to whoever holds a file. That is a better match for automated releases than "the maintainer's key that CI happens to have". - **A public record.** Signing events land in an append-only transparency log, so issuance is auditable after the fact and unexpected signing activity is at least discoverable. And what it costs: - **New online dependencies.** An identity provider must be reachable at signing time, and the trust root — the material a verifier needs to check the certificate chain and the log — comes from a service you do not run. It can be bundled for offline verification, but bundling it is an operational task with its own freshness problem. - **A policy you must now write.** Trust moves from "is this the maintainer's key" to "is this the expected builder identity and workflow". That is a real improvement in expressiveness and a real new artifact to maintain, review and keep correct. - **Downstream tooling.** Consumers who verify today with standard PGP tooling need something new. Some of them are exactly the consumers you least want to break. - **Availability coupling.** Your release can now be blocked by an outage in something outside your control. ## The organisational layer, which is where the answer lives - **Measure verification before you invest.** A rough proxy exists: compare downloads of the signature files against downloads of the artifacts. If the ratio is a fraction of a percent, your bottleneck is not the signing technology, and the higher-leverage work is making verification the default in the paths your consumers actually use. - **Cost the custody honestly.** A decade of key custody has an owner, a rotation plan and an audit story. If nobody in the org can name that owner today, the long-lived key is already failing, and that is a strong argument to move. - **Contracts and compliance.** A customer or regulator may require a specific artifact. Check before choosing, and expect to owe *both* for a while. - **You will run both.** Sign with the existing key and with the new flow for an announced overlap window, publish both, tell consumers the retirement date, and keep the old key valid until adoption telemetry says it is safe. The failure mode to design against is a cutover that breaks pinned consumers, because their fastest workaround is to stop verifying, and that setting rarely gets reverted. ## The answer that lands "It depends on who verifies and what they can run at verification time. Keyless removes long-term key custody and gives me an auditable record; the long-lived key gives my air-gapped and packager consumers verification with no online dependency. So I would measure verification coverage first, publish both through an overlap window, and only retire the old key when the consumers I care about have moved."
- Your largest consumers are distribution packagers with pinned keyrings. Does that settle it?It weights the decision heavily toward keeping the long-lived key, because those consumers verify offline with tooling and process built around it, and breaking them is a real cost with a bad workaround. It does not forbid adding the keyless flow in parallel for platform consumers. Publishing both is usually cheaper than the argument about which single one to pick.
- What would you measure to know whether the migration is worth doing at all?Verification coverage. The download ratio of signature files to artifacts is a crude but honest proxy; better still, ask your top consumers what their verification step actually asserts. If almost nobody checks, neither signing model is doing security work, and the investment belongs in making verification the default path rather than in changing the signature format.
- Does keyless signing make the transparency log a single point of failure for verification?It is a dependency, not necessarily a live one. Verification material — the certificate, the log inclusion proof and the trust root — can be bundled with the artifact so checking works offline, which is how air-gapped consumers are supported. The residual dependencies are at signing time, and on obtaining fresh trust root material periodically, which is an operational task you must own rather than assume.
saying these in an interview costs you the question
- Says keyless removes the need for any trust root
- Assumes keyless verification cannot work offline at all
- Cuts over and revokes the old key on release day
- Argues from tooling fashion without naming who verifies
- Treats signing coverage as the metric instead of verification coverage