Safari-only foreground demo
BLE E2E Chat
One Safari page becomes discoverable, another uses requestDevice() to connect, and both exchange shared-secret encrypted chat messages over a fixed BLE GATT contract while both pages stay in the foreground.
Enter the same shared secret on both phones before you host or connect. Encryption happens in the page layer; the native BLE runtime only transports opaque bytes.
Live transcript
Foreground session
On one phone, tap Make Discoverable. On the other, tap Tap To Connect.
The client side always starts with a user tap because beacio mirrors Web Bluetooth transient activation rules.
Compose
Send a message
Fixed GATT contract
- Service
- Browser writes
- Browser notifies
The discoverable Safari page hosts this exact service. The connecting Safari page sends encrypted messages with uplink writes, and the host page sends its encrypted messages back over downlink notifications.
Diagnostics