Repository navigation
SendBeam 1.6.0
SendBeam v1.6.0
Cryptographic Verification
All release binaries and installer packages are cryptographically signed and verifiable end-to-end:
- Minisign (Ed25519):
# Verify SHA256SUMS.txt using the official SendBeam public key:
minisign -Vm SHA256SUMS.txt -P RWTcyDWHWbxnuo3LVM5mWoZrx0HDwSQzAZvXK1lPRcdtJxshUDxJh+rE- Sigstore Cosign (Keyless OIDC):
# Verify the GitHub Actions OIDC identity attestation:
cosign verify-blob --bundle SHA256SUMS.txt.sigstore.json --certificate-identity-regexp 'github.com/Akshay7273/sendbeam' --certificate-oidc-issuer https://token.actions.githubusercontent.com SHA256SUMS.txt- SHA-256 Checksums:
# Verify downloaded asset checksum against the signed manifest:
sha256sum -c SHA256SUMS.txt --ignore-missingChanges
SendBeam v1.6 — Release Gate
The v1.6 milestone (Public Release Readiness: formal signed distribution pipelines, zero-cost Minisign & Sigstore cryptographic verification, signed update manifests with downgrade prevention, desktop & CLI self-update engine with atomic rollback, mobile web PWA with responsive transfer UX and Playwright mobile CI, and hardened signaling server with per-IP rate limiting, anti-brute-force room enumeration defense, trusted reverse-proxy resolution, health/readiness endpoints, and zero-PII Prometheus metrics) gates release on the checks below, each verified against merged main.
Evidence is a deterministic unit/integration test, a verified cross-platform build fixture, or a cryptographic testbed; every binary, manifest, and transfer across the matrix satisfies strict verification standards.
1. Gate Checks
| # | Requirement | Result | Evidence |
|---|---|---|---|
| 1 | Formal GitHub Releases Pipeline & Multi-Platform Packaging Produce deterministic release packages across 6 CLI targets ( linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, windows/amd64, windows/arm64) and 4 desktop packaging formats (Windows NSIS + portable ZIP, macOS Universal DMG + ZIP, Linux Debian .deb + AppImage) with canonical SHA256SUMS.txt, in-toto build provenance attestations (actions/attest-build-provenance@v2), and SPDX 2.3 SBOMs (sendbeam-cli.spdx.json, sendbeam-desktop.spdx.json). Staged safely via draft releases. |
PASS | Workflow .github/workflows/release.yml, version metadata engine in scripts/version-metadata.sh, and unit test suite scripts/version-metadata_test.sh (10/10 test cases passing). Packaging build verified in .github/workflows/distribution.yml and documented in docs/distribution.md. |
| 2 | Zero-Cost Binary Signing & Supply-Chain Verification Dual cryptographic signature generation on all release manifests using Minisign Ed25519 ( BA67BC598735C8DC in minisign.pub) and Sigstore Cosign keyless OIDC identity tokens (SHA256SUMS.txt.sigstore.json). Provide standalone verification script scripts/verify-release.sh and assert strict tamper rejection across all failure modes. |
PASS | Pure Go Minisign tool in scripts/minisign.go, release workflow in .github/workflows/release.yml, automated verification tool scripts/verify-release.sh, and unit test suite scripts/verify-release_test.sh (8/8 test cases passing asserting tamper rejection for corrupted payloads, tampered manifests, forged signatures, and mismatched keys). Documented in docs/supply-chain.md and docs/install.md. |
| 3 | Signed Update Manifest & Release Channels Publish canonical update channel manifests ( stable.json, beta.json) signed with Minisign Ed25519. Client updater strictly verifies cryptographic signature before parsing manifest contents or trusting hashes/download URLs, and enforces monotonic version advancement with strict downgrade rejection. |
PASS | Manifest generator in scripts/generate-update-manifest.go with test suite scripts/generate-update-manifest_test.sh (3/3 test cases passing). Pinned release public key in apps/cli/internal/updater/verify.go (RWTcyDWHWbxnuo3LVM5mWoZrx0HDwSQzAZvXK1lPRcdtJxshUDxJh+rE). Signature verification in verify.go and downgrade prevention in updater.go (TestVerifyMinisignSignature, TestUpdater_CheckForUpdate_DowngradeIgnored). Documented in docs/updater.md. |
| 4 | Desktop & CLI Self-Update Engine with Rollback Safety Shared engine updater package ( packages/engine/updater) providing platform-specific atomic apply strategies: Linux AppImage in-place replacement, macOS .app bundle staged swap, Windows NSIS installer relaunch flow. All update paths enforce same-filesystem atomic staging (.tmp-*), .old backup, automatic rollback on failure, and package manager detection (DetectPackageManager) preventing destructive self-update when managed by apt/deb, Homebrew, or WinGet. |
PASS | Shared updater core in packages/engine/updater/updater.go and apply.go. Unit test suite packages/engine/updater/updater_test.go (TestUpdater_Apply_Success, TestUpdater_Apply_RollbackOnFailure, TestDetectPackageManager). Desktop UpdateService in apps/desktop/internal/engine/update_service.go and update_service_test.go (TestUpdateService_CheckForUpdates, TestUpdateService_ApplyUpdate). Desktop web UI integration in apps/web/src/lib/settings/UpdateSettings.svelte and apps/web/src/lib/components/UpdateBanner.svelte. |
| 5 | Mobile Web PWA & Responsive Transfer UX Installable Progressive Web App (PWA) on mobile (Android Chrome & iOS Safari) with Web App Manifest ( manifest.webmanifest), maskable icons, Screen Wake Lock integration, native Web Share API (navigator.share), 1-tap invite link sharing, deep-link parameter parsing (?code=...), min 44px touch targets, mobile notch safe-area insets, and storage capability probing. Strict online-only transfer semantics in Service Worker (sw.js). |
PASS | Web App Manifest apps/web/public/manifest.webmanifest, touch icons in apps/web/public/icons/, service worker in apps/web/public/sw.js with online-only invariant. Capability probing in packages/protocol/src/capability.ts and capability.test.ts. Mobile responsive UI in apps/web/src/App.svelte and TransferView.svelte. Playwright mobile e2e test suite in apps/web/e2e/mobile-transfer.spec.ts executed under CI mobile-chrome profile. Documented in docs/compat-matrix.md. |
| 6 | Server Hardening for Public Operation Multi-dimensional per-IP rate limiting ( ConnBurst/ConnPerSec, RoomCreateBurst/RoomCreatePerSec), connection concurrency caps (MaxConnsPerIP, MaxConnections, MaxRooms), anti-brute-force room code guessing penalty bucket (JoinFailBurst, JoinFailPerSec), trusted reverse-proxy CIDR filtering (SENDBEAM_TRUSTED_PROXIES), multi-hop X-Forwarded-For/CF-Connecting-IP client IP extraction, health/readiness endpoints (/healthz, /readyz), graceful drain (hub.Drain), and zero-PII Prometheus metrics (/metrics). |
PASS | Server rate limiting and anti-brute-force engine in apps/server/internal/signal/ratelimit.go, proxy parsing in proxy.go and proxy_test.go, hub operations and churn/reaper storm tests in hub.go, hub_test.go, and churn_test.go, HTTP server probes and graceful shutdown in apps/server/internal/httpserver/server.go and server_test.go, Prometheus metrics and zero-PII invariant in signal/metrics.go and metrics_test.go. Full suite passing under go test -race ./.... Documented in docs/HOSTING.md and docs/threat-model.md. |
2. Release Artifacts Matrix
The following artifacts are produced and cryptographically signed on release tags (v*):
| Category | Artifact Name | Platform / Target | Packaging / Format |
|---|---|---|---|
| CLI Binaries | sendbeam-cli-linux-amd64.tar.gz |
Linux (x86_64) |
Standalone tarball with license & readme |
sendbeam-cli-linux-arm64.tar.gz |
Linux (aarch64) |
Standalone tarball with license & readme | |
sendbeam-cli-darwin-amd64.tar.gz |
macOS (x86_64) |
Standalone tarball with license & readme |