Syncing mobile with desktop
The workspaces, vocabulary, and preferences you build on the InkSpoke desktop app don't have to stay there. Pair your phone to your desktop and they travel with you — so an email you dictate on your phone comes out in the same voice as one you dictate at your desk. This page covers how that pairing works, how to set it up on each device, and what to do when your phone and desktop aren't on the same network.
Two ways to keep devices in sync
InkSpoke can share your setup two different ways, and you can think of them as "same room" versus "anywhere":
| Path | When to use it | Where your data goes |
|---|---|---|
| Local network sync | Your phone and desktop are on the same Wi-Fi / LAN. | Straight between the two devices — it never touches InkSpoke's servers. |
| Cloud sync (E2EE) | Your devices are apart, or on different networks. | Through the InkSpoke Platform, end-to-end encrypted so the servers can't read it. |
Most of this page is about local network sync, because it's the fast, private default for getting your desktop workspaces onto your phone. Cloud sync is covered at the end.
How local network pairing works
Local sync has three moving parts: your desktop runs a small sync server, your phone discovers it on the network, and the two pair by scanning a QR code. That QR scan does more than identify the desktop — it performs a key exchange that locks the connection.
When you scan the pairing QR code, your phone and desktop run an Elliptic-Curve Diffie–Hellman (ECDH) exchange. Each device keeps its own private key and they compute a shared secret that only the two of them know — it's never sent across the network. Every sync payload between them is encrypted with a key derived from that secret. And because local sync runs directly over your LAN, your workspaces never reach InkSpoke's servers at all.
The shared secret is stored securely on each device (in the paired-device store on the phone) and reused for later syncs, so you only scan once. On Android the handshake uses ECDH on the P-256 curve with an HKDF-derived AES key.
Step 1 — Turn on the sync server (desktop)
Local sync is off by default. Enable it once on the desktop app so your phone has something to find.
- Open the desktop Settings window (from the tray icon), then go to Configuration → Intranet Sync.
- Turn on Enable server. The Server status badge flips to Running and shows the port it's listening on.
- (Optional) Turn on Auto-start on launch so the server comes up every time InkSpoke starts — handy if you sync often.
┌─ Configuration ──────────────────────────────────────────────┐
│ General · Hotkeys · Audio · [ Intranet Sync ] · … │
├──────────────────────────────────────────────────────────────┤
│ Enable server [ ●─ ] │
│ Auto-start on launch [ ─○ ] │
│ │
│ Server status: ● Running · port ▪▪▪▪▪ │
│ │
│ [ Pair New Device ] │
│ │
│ Paired devices │
│ • (no devices yet) │
└──────────────────────────────────────────────────────────────┘
Your desktop now advertises itself on the local network (via mDNS / Bonjour) so phones can discover it automatically — no typing in IP addresses.
Show the pairing QR code
Click Pair New Device. A panel opens with a QR code — this is what your phone scans in Step 2. Leave it up while you pair, then Dismiss it.
┌─ Pair New Device ──────────────────┐
│ ▛▀▚▙▖▜▘▚▞ ▙▟▘▚▞▛▀▚ │
│ ▞▚▙▟▘▚▞▛▀ ▚▙▖▜▘▚ ← scan │
│ ▙▟▘▚▞▛▀▚▙▖▜▘▚▞▛▀ with │
│ ▚▞▛▀▚▙▖▜▘▚▞ ▙▟▘▚ your │
│ ▛▀▚▙▟▘▚▞▛▀▚▙▖▜▘▚ phone │
│ [ Dismiss ] │
└─────────────────────────────────────┘
Step 2 — Pair your phone
This is where iOS and Android differ today. On iOS the full pairing flow works; on Android discovery works but the QR scanner isn't wired up yet, so pairing can't be completed.
On iOS — pair and sync (works today)
- In the iOS app, open Settings → Desktop Sync.
- Tap Scan QR Code and point the camera at the QR panel on your desktop. (iOS will ask for camera and local network permission the first time — both are required.)
- Once the ECDH handshake completes, your desktop appears as a paired device, and the phone connects to it over the local network to sync.
┌─ Settings › Desktop Sync ──────────────────┐
│ [ Scan QR Code ] ← camera │
│ │
│ Nearby desktops │
│ • My PC Windows [ Pair ] │
│ │
│ Paired: My PC · connected · 2m ago │
│ [ Sync Now ] [ Force Re-sync ] │
│ [ Push All ] [ Unpair ] │
└─────────────────────────────────────────────┘
Desktops found on your network show up under Nearby desktops with a Pair button — a quick alternative to scanning when you can see your machine in the list.
On Android — discovery works, pairing is coming soon
The Android app can already find your desktop on the network, but the Scan QR Code to Pair button doesn't open a camera scanner yet — so you can't finish pairing from the Android UI in the current build.
┌─ Settings › Intranet Sync ─────────────────┐
│ [ Scan QR Code to Pair ] ← coming soon │
│ │
│ Nearby desktops (discovered) │
│ • My PC Windows · v1.x host:port │
└─────────────────────────────────────────────┘
On Android, Settings → Intranet Sync discovers nearby desktops, but completing the QR pairing is coming soon — the camera scanner is still being wired in. Until then, manage workspaces directly in the Android app. (Cloud sync isn't an alternative on Android yet either — it needs account sign-in, which isn't wired into the current Android build.) Everything else on Android — voice-keyboard dictation, in-app recording, workspaces, and history — works today.
Syncing after you're paired
Once your phone and desktop are paired (iOS today), syncing happens automatically, and you also get manual controls from the mobile sync screen:
| Action | What it does |
|---|---|
| Sync Now | Runs a sync immediately instead of waiting for the next automatic one. |
| Force Re-sync (Force Full Re-sync on iOS) | Re-syncs everything from scratch, ignoring incremental state — use it if the two devices look out of step. |
| Push All (Push All to Desktop on iOS · Force Push on Android) | Sends this phone's data up to the desktop — handy when you've made changes on the phone you want to win. |
| Unpair | Forgets the desktop on this phone and stops syncing with it. |
The mobile screen also shows the paired desktop's name, its connection status, and when it last synced, with quick toast feedback each time a sync runs.
On the desktop, Configuration → Intranet Sync → Paired devices lists every phone you've paired, each with a Revoke button. Revoking removes that device's access from the desktop — the counterpart to Unpair on the phone. Use it if you lose a device or want to re-pair cleanly.
Not on the same network? Use cloud sync
Local network sync needs both devices on the same LAN. When they aren't — you're travelling, or your phone is on cellular — cloud sync is the alternative. It syncs your workspaces and settings through the InkSpoke Platform to any device signed into your account, and like the encrypted-viewer on the web, it's end-to-end encrypted: the servers store your data but can't read it.
Cloud sync is a privacy-first opt-in you enable on the desktop:
- On the desktop, go to Account and turn on Cloud Sync.
- You'll need to be signed in — cloud sync only turns on for an authenticated account, so your data always has a recovery path.
You can review or delete everything that's been synced from the web account's encrypted data viewer. See Synced data and privacy.
Cloud sync follows your account, so it needs the device signed in. On iOS you can sign in from Settings → General → Account. On Android, account sign-in isn't wired into the current build yet, so for now the practical way to move desktop workspaces to Android is to wait for QR pairing, or manage workspaces on the device directly.
Permissions and platform notes
- iOS pairing needs two permissions: Camera (to scan the QR code) and Local Network (to discover and reach your desktop). The app requests both the first time you pair.
- Both devices must be reachable on the same network for local sync — the same Wi-Fi, and a network that doesn't block device-to-device (mDNS) traffic.
- The desktop sync server is cross-platform (Windows, macOS, Linux) — the phone doesn't care which OS your desktop runs.
- Workspaces are built on the desktop. Sync is how those rich, tuned workspaces reach your phone; see What are workspaces for what actually travels across.
Next steps
- Desktop account, sync, and updates — the desktop side of pairing, cloud sync, and your account.
- Dictation and features on iOS — recording, workspaces, and history on your iPhone.
- Dictation and features on Android — what works today on Android, including the voice keyboard.
- Synced data and privacy — view or delete your end-to-end-encrypted synced data.