Release Signing Keys

Every Cloud Fellows product release is published with a checksum file and a detached OpenPGP signature over it. This page holds the public keys used to make those signatures, so you can confirm that a download really came from us and arrived unmodified.

Where trust starts

An OpenPGP signature proves that a release was made by the holder of a particular signing key. It cannot, by itself, prove who owns the first copy of that key. The complete fingerprint published on this page is the canonical trust anchor for Cloud Fellows release artifacts. Establish trust in it independently of the release you are checking; never accept a key or fingerprint supplied only with the download.

Start at the exact canonical address https://www.cloudfellows.de/signing-key.html. This website deliberately uses an Extended Validation (EV) TLS certificate to bind that address to our verified legal identity. Current versions of Safari and Chrome go beyond reporting that the certificate is valid: their first security view identifies its verified owner or subject as Cloud Fellows GmbH. Before trusting this public key for the first time, open your browser's certificate details and check that it reports a valid certificate for cloudfellows.de or www.cloudfellows.de and identifies the organization as:

Organization:      Cloud Fellows GmbH
Registration:      HRB 16592
Jurisdiction:      DE
State:             Nordrhein-Westfalen
Business category: Private Organization

The certificate in service when this guidance was published chains through Sectigo Public Server Authentication CA EV R36 and carries the CA/Browser Forum EV policy identifier 2.23.140.1.1. EV identity is not displayed directly in the address bar, and its exact presentation varies between browsers. The ordinary lock or a successful HTTPS connection alone is not this identity check: an attacker can obtain a valid Domain Validation certificate for a lookalike domain without proving that the domain belongs to Cloud Fellows GmbH.

The trust path is therefore:

browser or operating-system CA trust store
  -> EV-validated Cloud Fellows GmbH identity for this domain
  -> this page and its canonical OpenPGP fingerprint
  -> signatures on Cloud Fellows release checksums

HRB 16592 is not globally unique on its own because German register numbers are assigned by individual registry courts; the certificate does not name Amtsgericht Paderborn. Treat the organization, jurisdiction and registration number together as the verified identity. TLS certificates and their keys are renewed regularly and the issuing chain may change, so do not pin the fingerprint of the short-lived TLS certificate.

Current key

This is the key in use for all current releases:

File cloudfellows-release-signing-key-2026.asc
Fingerprint 693B 1CBA 1C9E 275A 43F1  C759 E6A3 E0D1 6416 302E
User ID Cloud Fellows GmbH
Type Ed25519, signing only
Valid 2026-08-22 – 2028-08-21

The full forty-hex-digit fingerprint above — not the User ID or a shortened key ID — is the value to record and trust.

The Installation Notes published with each release name the key that release was signed with and repeat its fingerprint, so you can confirm the two agree.

Retired keys

None. This is the first Cloud Fellows release signing key. When a key is retired it stays listed here, with the period it was valid for, so that older releases remain verifiable. For a planned rollover, the previously trusted key will certify its successor. If you already trust the old key, that certification preserves continuity without requiring a new manual trust bootstrap. If the old key may have been compromised, do not rely on that certification; return to the EV identity check above and follow the incident guidance published here.

Importing the key

Download the key, look at it, and only then import it. --show-keys reads the file without importing anything, so you can compare the fingerprint before you commit to it:

curl -O https://www.cloudfellows.de/cloudfellows-release-signing-key-2026.asc
gpg --show-keys cloudfellows-release-signing-key-2026.asc
gpg --import cloudfellows-release-signing-key-2026.asc

The fingerprint that --show-keys prints must be the same forty hex digits as the one in the table above. It prints them as one unbroken run rather than in the spaced groups shown here — that is only formatting; the digits and their order are what must agree. If they do not, stop — do not import the key, and please tell us.

This is a one-time step. The same key verifies every release until it is retired.

Verifying a download

Each release publishes two files alongside the product archives: a .SHA256SUMS file listing the checksums, and a .SHA256SUMS.asc detached signature over it. Check the signature first, then the checksums — verifying a checksum file before establishing that it is authentic proves nothing:

gpg --verify <product-version-date>.SHA256SUMS.asc <product-version-date>.SHA256SUMS
shasum -a 256 --ignore-missing -c <product-version-date>.SHA256SUMS

<product-version-date> stands for the prefix the release you downloaded actually carries — product name, version and build date — and is the same on all four filenames. If your system has no shasum, use sha256sum --ignore-missing -c instead. Keep --ignore-missing either way: the checksum file covers every architecture we publish and you downloaded one of them, and without the flag the tool reports the ones you do not have as failures.

Reading the result

A successful check looks like this:

gpg: Good signature from "Cloud Fellows GmbH" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
<product-version-date>-linux-x86_64.tar.gz: OK

That warning is normal and is not a problem. It and the [unknown] marker mean only that you have not personally certified our key in your own OpenPGP web of trust — something almost nobody does for a vendor key. Neither says anything about whether the signature is good. What matters is the Good signature line together with a fingerprint you checked against the table above.

Anything else deserves attention:

What you seeWhat it means
BAD signature The checksum file does not match the signature. Treat the download as untrustworthy: discard it and fetch it again from this site. If it happens a second time, please tell us.
Can't check signature: No public key The key is not in your keyring yet. This says nothing about the download — import the key as described above and run the check again.
Good signature, but a checksum FAILED The checksum file is authentic and an archive does not match it. Almost always a truncated or corrupted download; fetch that archive again. If a clean download fails the same way, stop and contact us.
expired or revoked key Check this page for the current key. A signature made while a key was valid stays verifiable, but a key we have revoked should not be trusted for anything.

Do not install a package that does not verify.