Skip to content

SendBeam v2.1.0 - Nearby & Offline

Choose a tag to compare

@Akshay7273 Akshay7273 released this 20 Sep 13:15
· 52 commits to main since this release
1759496

SendBeam v2.1.0

Cryptographic Verification

All release binaries and installer packages are cryptographically signed and verifiable end-to-end:

  1. Minisign (Ed25519):
# Verify SHA256SUMS.txt using the official SendBeam public key:
minisign -Vm SHA256SUMS.txt -P RWTcyDWHWbxnuo3LVM5mWoZrx0HDwSQzAZvXK1lPRcdtJxshUDxJh+rE
  1. 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
  1. SHA-256 Checksums:
# Verify downloaded asset checksum against the signed manifest:
sha256sum -c SHA256SUMS.txt --ignore-missing

Changes

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 |