Skip to content
HandLivePublic

About

Documentation hub of HandLive, the open source project that brings ecosystem-native features such as Apple Handoff to Android: specification, plan and design system (English and Vietnamese)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

English | Tiếng Việt

HandLive

HandLive. Never miss a signal. Clipboard, SMS and calls from your Android phone, on your Mac, iPhone and iPad.

Never miss a signal. Your Android phone's clipboard, SMS, and call notifications, on your Mac, iPhone, and iPad.

ci-docs License: Apache-2.0 Release

HandLive connects Android devices with macOS, iOS, and iPadOS. It syncs your clipboard, bridges SMS conversations, and delivers call notifications with action controls—without cloud lock-in. End-to-end encryption is always on, and the entire project is open source under Apache-2.0.

Get the beta

Download the latest release v0.2.0 (2026-10-30):

  • macOS: Ad-hoc signed DMG (choose Open Anyway on first run).
  • Android: Signed foss APK. Its application id is new (com.handlive.android): remove a beta install first, then pair again.
  • iOS / iPadOS: Unsigned IPA for sideloading. A beta install updated to this build must pair again (new App Group).

Beta builds are intended for early testers and are not yet on the App Store or Google Play. See the Deployment Guide for installation and packaging details.

Hub docs are bilingual, English and Vietnamese. The WordPress site and blog in website/ run locally and are not deployed yet (guide).

Features

Feature macOS iOS / iPadOS
Two-way clipboard (text keeps its HTML, one image at a time) Yes Yes
Send and receive SMS Yes Yes
Call details and actions (answer, decline, end) Yes Details and decline only (no audio)
Call audio on the computer Not planned (Phase 4 stopped, owner decision 2026-10-12) No (Apple has no HF-side HFP API)
Virtual camera and mic Planned (Phase 5) No
Continue Browsing (open page follows you) Planned (Phase 6) Planned (from the phone only)

End-to-end encryption is always on and cannot be disabled.

Screenshots

Android: paired Mac over Wi-Fi iPhone: SMS from the phone Mac: incoming-call panel
Android: paired Mac over Wi-Fi iPhone: SMS from the phone Mac: incoming-call panel

Full screenshot gallery (English and Vietnamese): docs/screenshots/README.md.

How it works

  • Local WebSocket and mDNS: Clipboard, SMS, call details, and notifications move over Wi-Fi. Android runs an embedded Ktor server; peers find each other with mDNS.
  • Call audio: Bluetooth HFP would have carried call audio, with Opus over WebSocket as the fallback. The owner stopped Phase 4 (2026-10-12), so calls on the computer stay notification and answer, decline, or end only.
  • End-to-end encryption: XChaCha20-Poly1305 payloads, X25519 + HKDF session keys, and QR pairing.
  • Zero-knowledge relay: A stateless Rust relay forwards encrypted envelopes across networks without inspecting content.

For full technical details, see docs/system-architecture.md.

Status

Phases ship in order, each as a usable slice. One exception (owner, 2026-09-28): Phases 5 and 6 start before Phase 4. Phase 4 is stopped (owner decision, 2026-10-12): gate G4 is closed unless the owner decides to revisit call audio.

Phase / gate Goal Status
0 Foundation Protocol, shared test vectors, green CI Done
1 Clipboard sync (MVP) Android ↔ Mac, LAN WebSocket, QR pairing Code done · Gate G1 open · text clips keep their HTML (text/html); copied images open only from other apps' content providers, other URIs rejected (2026-10-12, android #13)
2 SMS bridge and iOS Conversations, Rust relay, APNs/FCM Code done · Gate G2 open · the iPhone keeps its session up to 25 s in the background · Liquid Glass app icon on iPhone, iPad and Mac
3 Call info and control Telecom APIs, Mac panel, call history Code done · Real-device checks open · calls from other apps keep the app's name and survive a swiped in-call notification
4 Call audio Bluetooth HFP/SCO and Opus fallback Stopped (owner decision, 2026-10-12) · G4 closed: only macOS 27 is available, so calls stay notification + answer/decline/end, no audio
5 Virtual camera / mic CMIOExtension and AudioServerPlugin Spike on main (CameraSpike) · G5 needs a paid Apple Developer team
6 Continue Browsing Foreground URL handover across devices Spike on main · Chrome and Samsung Internet measured; browser go/no-go pending
7 Connect anywhere Auto link without a shared Wi-Fi network In progress · SP1+SP2 (Bluetooth control channel; QR flow B, PIN flow C via CPace-X25519-SHA512) released in v0.2.0 (2026-10-30) on main; SP3 (per-connection bulk lane, K_bulk) and SP4 (Wi-Fi Direct) are specced but not yet implemented; only bulk-over-relay is dropped from scope
G0 Vectors Shared cross-platform crypto test vectors Done
G1 Real devices Real-device Phase 1 matrix validation Open (before 1.0) · App Store Connect screenshots recaptured at native 1320×2868 (2026-10-12)
G2 Play Console SMS and call log permissions declaration Open (before 1.0; Plan B: F-Droid/APK) · Play Console screenshots recaptured at 1080×1920 (2026-10-12)

Full roadmap and history: docs/project-roadmap.md. Task cards: plans/20260925-implementation/plan.md.

Rule: keep this roadmap current

Whenever a concrete task completes (phase card merged, gate closed, spike resolved, or real-device fix on main), the same change set must update this table, the snapshot in docs/project-roadmap.md, and hub CHANGELOG.md for user-visible changes.

Repositories

Repository Description
handlive Documentation hub, plans, and workspace tools
handlive-android Android service and client application (Kotlin)
handlive-apple macOS menu bar app, iOS, and iPadOS apps (Swift)
handlive-relay Zero-knowledge encrypted relay server (Rust)
handlive-shared Shared protocol schemas, crypto test vectors, and UI strings
HandLive/                 # hub: handlive
├── docs/  plans/  tools/
├── android/              # handlive-android
├── apple/                # handlive-apple
├── relay/                # handlive-relay
├── shared/               # handlive-shared
└── .github-org/          # HandLive/.github (CONTRIBUTING, SECURITY, …)

Documentation

Contributing and community

  • CONTRIBUTING — Developer Certificate of Origin (git commit -s), PR workflow, and standards
  • CODE_OF_CONDUCT — Community standards and expectations
  • SECURITY — Vulnerability reporting and disclosure policy

License

Apache License 2.0 — LICENSE. Applies to all repositories under HandLive.

Website and blog content in website/ are licensed under GPL-2.0-or-later.

About

Documentation hub of HandLive, the open source project that brings ecosystem-native features such as Apple Handoff to Android: specification, plan and design system (English and Vietnamese)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages