Repository navigation
SendBeam v2.1.0 - Nearby & Offline
SendBeam v2.1.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 v2.1 — Release Gate
The v2.1 milestone (Nearby & Offline) gates release on the checks below, each verified against merged main.
Theme: pair and transfer between supported native clients on a reachable local network without public rendezvous, STUN or relay services. Native CLI and desktop are the mandatory offline clients. Browser/PWA retains its v2.0 capabilities; no browser offline promise is made.
Network policies (separate from the padding policy): online (default), prefer-local (try the LAN route first, fall back online explicitly), and local-only (never touch the public path). Local-only means no public rendezvous, STUN, TURN, relay, update check, telemetry, or other app-initiated internet request while that mode is active. OS traffic outside SendBeam is outside the claim.
1. Gate Checks
| # | Requirement | Result | Evidence |
|---|---|---|---|
| 1 | Local-only architecture & threat model (V21-PR01) Reviewed ADR specifying the no-public-service route: bounded local bootstrap/signaling, corrected trusted authentication, first-pair ceremony, policy/egress matrix, listener exposure and interface-selection rules. |
PASS | docs/adr/ local-only design. Merged via PR #210 (632f3c48). |
| 2 | Bounded native local rendezvous service (V21-PR02) Explicit interface binding, limited connections/message sizes, deadlines, cancellation, clean shutdown. Unpaired sessions admitted only through a user-opened short-lived pairing window. No file listing, path serving, or remote administration. |
PASS | packages/engine/localrendezvous/. Merged via PR #211 (dddeed2d). |
| 3 | Nearby discovery → validated route candidates (V21-PR03) Bounded candidate tables with expiry and endpoint validation; explicit manual local connection for blocked-multicast networks. A beacon is never authentication; only the selected identity becomes the connected peer. |
PASS | packages/engine/discovery/. Merged via PR #212 (6226d48c). |
| 4 | Local-only direct transfer over native local rendezvous (V21-PR04) Authenticated local sessions drive the existing encrypted transfer machinery and durable sinks. Policy enforced on candidate gathering and actual connections, not just a UI flag. Prohibited egress fails the transfer even if bytes would move. |
PASS | packages/engine/localtransfer/. Merged via PR #213 (fe22b57b — merged without the automatic (#213) suffix; recorded incident, see §6). |
| 5 | First-time offline pairing over local rendezvous (V21-PR05) Fresh native profiles pair and send with internet unavailable, using the reviewed ceremony. Wrong/expired/reused invitations, substituted endpoints, and declined fingerprints leave no usable partial trust. |
PASS | packages/engine/localpairing/, CLI pairing commands, desktop ceremony. Merged via PR #214 (9bd2d1d6). |
| 6 | Truthful offline workflows in CLI and desktop (V21-PR06) Persistent user-selected network policy with visible per-job route. sendbeam send --network-policy, local-only receive, desktop settings/policy UI, offline listener controls. Updater and optional network operations deferred in local-only. |
PASS | CLI send/receive/outbox flags; desktop TransferService + frontend. Merged via PR #215 (2968b6ef). |
| 7 | Interruption recovery and policy-change handling (V21-PR07) Per-job network policies bound at enqueue ( online default, prefer-local, local-only); DispatchableUnder matrix; outbox holds unsatisfiable jobs without leasing, sending, or spending retry budget. Interrupted local sends resume with an authenticated resume context (offerer role, decoded credential) via the shared resume contract; local-only never falls back online; changed sources fail before bytes move. Desktop settings save via SaveConfigPatch so partial saves preserve unrelated settings. |
PASS | packages/engine/{jobs,netpolicy,outbox,transfercenter,localtransfer}, CLI outbox/dispatch, desktop SendToDevicePreferLocal. Merged via PR #216 (7c094ad3). |
| 8 | Release evidence, regressions, artifacts (V21-PR08) This document. Final-commit CI green, measured evidence below, artifact checksums, regression suites re-run, honest limitations recorded. |
PASS | This PR. Evidence in §5. |
2. Release Artifacts Matrix
The standard SendBeam distribution artifact set is produced and cryptographically signed on release tags (v*):
| Category | Artifact Name / Path | Platform / Target | Packaging / Format |