Skip to content

Sync across devices

Pellet can sync between your devices without needing any Pellet cloud — the sync relay runs on a computer of your own, or you don’t sync at all.

That’s an unusual answer, so it’s worth being plain about the trade: nobody else holds your notes, and nobody can read them. In exchange, one of your own computers has to be the one the others reach.

How sync works with the built-in relay
Transcript

Here's how sync works with the relay built into Pellet. On a computer you leave on, open Settings, Sync relay, and turn it on. Set a secret, so nobody else can create groups on your relay. In Device sync, choose Create sync group, and pick This computer. The group is your vault's place on the relay. This computer is its first device. Every file is encrypted on the device, with keys only your devices hold. The relay stores what it can't read. It can't change your notes, or slip anything in. Pair a new device shows a one-time code. It lasts fifteen minutes. Scan it from Pellet on your phone. The code carries the keys, straight from screen to camera. The phone joins and downloads the vault, then decrypts it on the phone itself. Edit on any device. The change goes up encrypted, and every other device pulls it down. Devices don't have to be online together. One that was asleep catches up when it's back. Full copy keeps every file on the relay. Save space drops the relay's copy once every device has it. When a new device joins, Full copy serves it from the relay. With Save space, your devices send those files again. Either way, Pellet cleans up about once a day. Old versions and deleted files go, once every device has caught up.

The sync relay is a small server the desktop app can host for you — Settings → Sync relay, one switch. It’s best on a computer you already leave on, because your other devices can only reach it while it’s awake and Pellet is running.

Everything it stores is encrypted with keys that only your devices have. Your devices exchange those keys directly with each other when you pair them, and remember them — so the sync relay is never asked to vouch for anybody.

The practical upshot: a sync relay can refuse to hand your data over. It can’t read it, change it, or slip anything in.

  1. Turn the sync relay on. Settings → Sync relay, in the desktop app. One switch, on the computer you want to be the one the others reach.

  2. Set a secret. This stops strangers creating vaults on your sync relay. Do it before you expose the port, not after.

  3. Point your first device at it — Settings → Device sync.

  4. Pair the second device. The device you already set up shows a one-time code, as a QR and as text.

    On a phone or tablet, tap Settings → Device sync → Scan or enter a code → Scan QR code, and point it at the other screen. That’s the whole thing — it joins as soon as it reads the code. Anywhere else, copy the text across however you like: AirDrop, a message to yourself, typing it out.

    There’s nothing to confirm back on the first device; the code itself is what establishes trust. Codes last 15 minutes and the screen showing one counts it down, so generate a fresh one rather than reusing an old one.

    Bringing a device back after restoring it? Backups deliberately leave your sync keys out, so a restored device arrives as a stranger and its old name is still taken — by its own previous entry. Pellet spots this and asks on the device showing the code whether to remove the old entry. Say yes and join again; your files aren’t touched and no key changes.

Your other devices can only reach the relay while that computer is awake, on the same network, and running Pellet — so “not there” is an ordinary state, not a fault.

Settings → Device sync tells you which it is. Trying to connect… means a sync round is reaching for the relay; nothing is being sent or received yet. Sync relay offline means it asked and got no answer, and the row beneath names the address so you can see which relay it means. Pellet keeps retrying on its own, and picks up where it left off when the relay comes back — there is nothing to press.

A moment of bad wifi won’t flip it: Pellet asks twice before calling a relay offline, so a phone roaming between access points stays quiet.

If it stays offline, the usual causes are the obvious ones — the computer is asleep, the two devices are on different networks, or a firewall is blocking the port. The message names the port for that reason.

Pairing checks the same thing before it starts. If the relay can’t be reached, the join stops within a few seconds and says so, rather than sitting on “Contacting the other device…” while nothing is listening.

The sync relay keeps an encrypted copy of a file until every device has it, so a device that has been away can catch up. Each edit and each deletion also leaves the earlier version behind on the relay until it’s cleaned up.

Save space on the relay is on by default. Once every device has a file, the relay drops its own copy, since one is already on the computer running it. When a new device joins, or a device brings back a folder it had left out, the devices that have those files send them again. If none of them is online, the files arrive once one is, and Settings → Device sync says how many it’s waiting for.

Pellet cleans up the sync relay on its own, about once a day. Old versions and files you’ve deleted are removed once every device has caught up with them. Settings → Device sync shows how much the relay stores for your group and when it was last cleaned up. Clean up now does it straight away.

A clean-up waits while any device is still catching up or still downloading its first copy of the vault. The daily one also waits until every device in the group has updated Pellet, and Settings names the device it’s waiting for.

Leave sync group in Settings → Device sync removes this device from the group and forgets its keys. Your files stay exactly where they are — leaving copies nothing and deletes nothing.

From that moment the device is on its own: what you do to its files is local, and the group never hears about it. That includes deleting them, which is worth knowing if you left in order to clear a device out.

Rejoining later downloads the group’s contents again, which is the point of rejoining — so wipe a device before pairing it back, not after. A rejoin also merges in the other direction: files that exist only on the returning device are sent up to the group. Anything already present with the same contents is matched up rather than re-downloaded, and anything that differs is kept as a conflict copy rather than overwritten.

Say you edit the same note on a laptop and a phone while both are offline. Both versions are kept. The one that loses becomes a clearly-named conflict copy right next to the original, so you can look at them side by side.

Sync never deletes something because it couldn’t work out what you meant.

When there are any, a count appears at the bottom of the window. Click it and you get the list — every conflict copy in the vault, wherever it lives. Open one and Pellet shows you what differs from the note it came from, and offers to keep either version or merge them; whichever you don’t keep goes to the trash. The same list sits at the bottom of the folder tree while any exist, and Settings → Device sync has a Show in Library button next to the option that deletes them all at once.

Remove it from Settings → Device sync. The vault key rotates, the sync relay’s copy is purged, and the missing device is holding something that no longer opens anything.

Because that clears the relay’s copies, Pellet won’t let you do it while another of your devices is still catching up — it’ll tell you which one and ask you to let it finish. Otherwise it would be left half-way through a download it could never complete.

Occasionally Settings will list files it couldn’t bring across. The usual cause is that they were still in transit when a device was removed, which clears the sync relay’s copies for good.

Nothing on your device is changed, and nothing is lost: the devices that still have those files send them again the next time they change. If you want them sooner, open one on the device that has it and save it.

A folder that is a symbolic link or junction is left out of sync entirely — nothing inside it goes to your other devices, and nothing they send lands in it. If the folder was synced before it became a link, the other devices keep what they have. Settings lists it with the files that can’t sync. See Linked folders.

While Pellet is unlicensed — trial run out, no key entered — device sync stops, and a sync relay hosted on that computer stops serving your other devices. The relay stays down across relaunches rather than quietly coming back.

Turning sync off, leaving a group and canceling a join all still work while unlicensed; it’s only the routes back into syncing that are closed. Entering a key restarts both immediately, with no relaunch. See Trial and license.

Note this is about the computer running unlicensed, not the devices it syncs with. Mobile is free, so a phone never holds up a group on its own account.

You don’t have to sync at all. A vault in a cloud-drive folder works, with the usual caveat that two devices editing the same file at once can produce that service’s own conflict files rather than Pellet’s tidier ones.