Sync
Private peer-to-peer sync between your devices — no server, no account, nothing in a cloud.
Sync runs on iroh: devices connect directly to each other over an end-to-end encrypted channel. Data is merged with CRDTs, so two machines can edit offline and reconcile without conflicts when they next see each other. If a task changed on both sides, the merge keeps both edits field-by-field instead of asking you to pick a winner.
Enable sync
- Open Settings (⌘,) → Sync.
- Click Enable sync. The device generates an identity and shows its pairing ticket — as text and as a QR code.
Pair a device
Pairing is mutual — each device must add the other's ticket:
- On device A, copy the ticket (or show the QR).
- On device B, paste it into Paste peer ticket and add it.
- Repeat in the other direction: hand B's ticket to A.
Once both sides trust each other, they sync — on demand with Sync now, and automatically in the background when auto-sync is on.
The trust list
Only devices on your Trusted devices list can connect. There is no discovery, no open port for strangers — a peer that isn't in the allow-list is refused before any data flows. Remove a device from the list and it's cut off.
What syncs
- Tasks, statuses, labels, priorities, time blocks, notes, and time sessions.
- Tracker credentials don't sync — they stay in each machine's Keychain.
Encryption at rest
Independent of transport encryption, the local database itself can be encrypted — envelope encryption over a passphrase-derived key stored in the macOS Keychain, with key slots and rotation. Enable it in Settings → Security.