For implementers and security reviewers: the normative wire formats and security rules. How the pieces fit together is explained in architecture.md. This reference defines the current authenticated application protocol over Classic RFCOMM, LE L2CAP CoC and LE GATT. All integers are network byte order. Plaintext compatibility and silent transport fallback are rejected.
- Identity and handshakes: who a phone is, how two phones authenticate and encrypt a link, and the security boundaries.
- Security layers and participants
- Identity and key agreement
- Identity verification
- Build tag in the link hello and update verification (updater, default on; wire change 2026-10-11)
- Experimental BMH3 identity-hiding link handshake (on by default for user sessions since 0.2.0-beta)
- Emergency wipe
- Confidentiality and failure boundaries
- Verification
- Links and framing: the records carried on every hop, the GATT byte stream and the compact-header and video-codec drafts.
- Discovery and advertising: what a phone broadcasts, how it is found, and the names it shows.
- Peer labels: handles, names, call subjects and stream titles
- Naming v2: generated names, label timing, name pages and verification codes (design 2026-10-12, not built)
- Experimental iPhone compact discovery (on by default since 2026-10-17)
- Experimental PC announcement (Find PCs, off by default; kinds 1 and 2 are a draft, not built)
- Experimental rotating discovery IDs (on by default for user sessions since 0.2.0-beta)
- Calls: private-call signalling and in-call link renewal.
- Streams: audio-only live streams and the live media state.
- Relays: relayed calls, multi-hop discovery, liveness and route withdrawal.
- Messaging: store-and-forward messages and Messaging v2.
- Experimental transports: dual listening, the Classic address exchange draft and the Wi-Fi transport draft.