Multi-Device Support
Users can be logged in from multiple devices simultaneously. Each device maintains its own E2EE keypair. Messages are encrypted per-device so every active session can decrypt independently.
How it works
Per-Device Keys
Each device generates its own X25519 keypair on first login and registers it with your key directory.
Device Payloads
The SDK encrypts a separate payload for each recipient device, bundled in one protobuf envelope.
Fan-Out Delivery
The server routes each device-specific payload to the correct connection (or offline queue).
Key directory response
Your key directory endpoint returns an array of device keys. The SDK handles this automatically.
// GET /api/droponair/keys/{userId} returns:
{
"keys": [
{ "deviceId": "abc-123", "publicKey": "BASE64..." },
{ "deviceId": "def-456", "publicKey": "BASE64..." }
]
}No client code changes: Multi-device is transparent. If the key directory returns multiple keys, the SDK encrypts for all devices automatically.