Security is critical when installing software that handles your Bitcoin. Every KaleidoSwap release binary is individually GPG-signed by the developer using a hardware security key (YubiKey). The private key never leaves the hardware token. macOS builds additionally carry an Apple Developer ID signature and Apple notarization, so they install without any security warnings.Documentation Index
Fetch the complete documentation index at: https://docs.kaleidoswap.com/llms.txt
Use this file to discover all available pages before exploring further.
Why Verify Downloads?
Verifying a binary before installing ensures:- The file was produced and signed by the KaleidoSwap developers
- The file was not tampered with or corrupted in transit
- No malicious code was injected after the build
How It Works
After each release the CI publishes the binaries to the GitHub Releases page. The developer then runsscripts/sign-release.sh locally (with a YubiKey inserted), which:
- Downloads every release asset from GitHub
- Creates a detached GPG signature (
<binary>.asc) for each one - Verifies all signatures locally
- Uploads the
.ascfiles back to the same release
.asc signatures on the Releases page.
Prerequisites
- GPG (GNU Privacy Guard) installed on your system
- The KaleidoSwap binary you want to verify
- The corresponding
.ascsignature file from the same release
Verification Steps
1. Import the Developer’s Public Key
This is a one-time step. Import the KaleidoSwap developer’s public GPG key directly from GitHub:9EE396C0452755F0.
2. Download the Binary and Its Signature
From the Releases page, download your platform binary and the matching.asc file — both must be in the same directory.
| Platform | Binary | Signature |
|---|---|---|
| macOS Apple Silicon | KaleidoSwap_<version>_aarch64.dmg | KaleidoSwap_<version>_aarch64.dmg.asc |
| macOS Intel | KaleidoSwap_<version>_x64.dmg | KaleidoSwap_<version>_x64.dmg.asc |
| Linux (AppImage) | KaleidoSwap_<version>_amd64.AppImage | KaleidoSwap_<version>_amd64.AppImage.asc |
| Linux (DEB) | KaleidoSwap_<version>_amd64.deb | KaleidoSwap_<version>_amd64.deb.asc |
| Windows | KaleidoSwap_<version>_x64-setup.msi | KaleidoSwap_<version>_x64-setup.msi.asc |
3. Verify the Signature
Rungpg --verify with the signature file first, then the binary:
4. Read the Output
A good verification looks like this:gpg warning “This key is not certified with a trusted signature!” is expected unless you have explicitly set the trust level for this key. The Good signature line is what matters.
macOS: Additional Platform Verification
macOS builds are also code-signed with an Apple Developer ID certificate and notarized by Apple. You can verify this independently after installation:accepted from spctl and no errors from codesign.
Optional: SHA256 Checksum
For a quick integrity check without GPG, you can compare checksums. The SHA256 hash for each artifact is listed in themanifest.txt file available as a build artifact on each CI run.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
No public key | Developer key not imported | Run the curl … | gpg --import command |
BAD signature | File was modified or corrupted | Re-download from GitHub Releases |
Can't check signature: No public key | Key mismatch | Confirm you imported from github.com/bitwalt.gpg |
| Checksum mismatch | Partial download or corruption | Delete and re-download the binary |