Risks of using Lickety-Sync

Lickety-Sync is in development, and there is nothing to download yet. This page lists the risks of its design, as its specifications state them today, so that you can judge them before you trust it with your files. Each risk says what it means for you, why the design accepts it, and what you can do about it. Some of these are choices the project’s owner made on purpose; each one gives the reason and the cost. These are the main risks the design knows of; the threat model, linked at the end, lists every one.

Words used on this page. A version is a file’s content, or its deletion, as one device saved it. A record is the signed entry that describes one version in a folder’s index, the list of records each device keeps. A fingerprint is a short hash that identifies one record. A storage device is a device that holds only a folder’s sealed key. A cleanup is a signed list, sent by a device with the write key, of records that storage devices should forget. A relay is a device that passes encrypted traffic between two devices that cannot reach each other. Your own devices may relay for each other; no other relay is used unless you turn it on. The archive is where a device keeps the files that other devices’ changes replaced or deleted.

Holding a key is the access

Every folder has three keys: a write key (read and change the folder), a read key (only read it) and a sealed key (store it without being able to read it). Whoever has a key has that access, on as many devices as they like, for as long as the folder exists.

There is no way to take a key back (the owner’s decision, 2026-10-18). To remove someone, or a lost or stolen device, the people who stay move to a new folder with new keys (the owner’s answer of 2026-10-22):

  1. Pause the folder on every device that stays, so that nothing more arrives from the person being removed. If they are leaving on good terms, you can first let every device finish syncing, so that their copies match.
  2. Nothing shows which changes were theirs. On the device that will share the new folder (step 4), check what changed since you last trusted them, and restore from its archive what they changed or deleted.
  3. On every device that stays, stop syncing the folder and keep its files.
  4. On one of them, share that copy as a new folder. Give its new key to the others yourself, outside the app.
  5. Each of the others joins the new folder. Joining over its own copy keeps the files that match; any file that differs becomes a conflict copy, and a file the shared copy no longer has comes back on every device. To avoid that, join into an empty directory instead and let the files download.

For a lost device, do this for every folder it held. What it means for you:

The reason: it is the model Resilio Sync uses, and it replaced an earlier design in which keys were issued to each person and could be revoked. In the owner’s words, “Simpler is better”, and someone who had access to the files “could still cause a plethora of problems” even if their key were revoked: revoking a key would not take back the files a person already has. The cost is that you cannot cut someone off from what they already have, and removing them takes the steps above on every device.

What to do: give a key only to people and devices you would trust with that folder for good.

A key sent by email or chat is a leaked key

A key is all an invite is. Whoever reads a key, in an email, a chat or a photo of a screen, can join at that key’s level, from any number of devices, for as long as the folder exists. There is no expiry, no use count and no approval step. With the folder’s ID, which any of its keys gives, they can also check whether the folder is on any local network they join and, if you use the opt-in internet discovery (the DHT), watch which addresses announce it.

The reason: the key is the access, with nothing in between (above). The program cannot protect a key after a person sends it.

What to do: pass keys by QR code in person, or over a channel you already trust. If a key leaks, move to a new folder as above.

What each key holder can see and do

The write key

A write key holder sees everything in the folder: every file, every name, every directory. It also sees when each version was written, to the microsecond, and by which device (see “Write times are recorded to the microsecond”).

It can change or delete anything. Deletions that arrive from other devices are applied without the deletion brake (the pause that asks you first when many files vanish at once from your own disk), however many there are. So one write key holder can delete the whole folder on every device. The reason is the owner’s answer of 2026-10-22: the archive is what keeps such files. The design keeps them there for 30 days by default.

It can also sign a record under any device ID, its own or another’s. So the device a record names does not prove which device wrote it.

What to do: keep the archive on, and give the write key only to people you would trust with every file in the folder.

The read key

A read key holder sees everything a write key holder sees, write times and device IDs included: it can read everything in the folder, now and later, until you move to a new folder. It cannot change anything: every device rejects a record that the write key did not sign. Edits made on a read-only device are not sent to anyone; what the app shows for them is still being designed.

The reason: the read key carries the folder’s data key, which stays the same for the folder’s whole life, so there is nothing to take back short of a new folder.

What write and read key holders also see

Holders of the write or read key also see every other device’s ID, name, the key level it reports and its clock, to the day; which files each device keeps locally; and they can test whether a file they guess at is in the folder.

What to do: treat a read key like the folder itself. Anyone who has it can read everything in the folder, now and later, until you move to a new folder.

The sealed key

A sealed key is for a storage device: a NAS or a friend’s server that holds a full encrypted copy, checks it and serves it to others without being able to read it. It cannot read file contents, names, the folder’s layout, dates or exact sizes. By the owner’s decision (2026-10-25), storage devices see almost nothing; this is everything they can see:

Known files. Pieces are cut at places only key holders can work out. But someone who knows a few of the folder’s files, or can get you to save one, can work out where pieces are cut, and from then on test, from the sizes of the pieces, whether any file they have is in the folder, for as long as the folder exists. Which way of cutting pieces to use is still an open design question.

What a storage device can do. Anyone with the sealed key can:

It cannot read anything, sign anything, or make a device that can read the folder drop a version on its own say-so.

The reason: a storage device must check, deduplicate and serve your data without reading it, and to do that it has to see the list above.

What to do: give a sealed key only to storage you are content to let see the list above, and let a device with the write key meet each storage device now and then.

Anyone who connects, or watches

The reason: a system with no servers cannot hide that it runs, or who it talks to.

What to do: leave internet discovery off unless you need it; it is off by default.

Write times are recorded to the microsecond

Each version of a file records when it was written, to the millionth of a second, and which device wrote it. Every holder of the read or write key can see this for every version, including edits made offline, and which devices wrote the file before. Storage devices cannot read these times, though they see when records arrive.

This is the owner’s choice (2026-10-25). In the owner’s words: “I chose this because I can work on files in multiple locations nearly simultaneously and the per-minute version resolution is not accurate enough.” And: “Make sure this is documented - do not hide this detail.”

What it means for you: the contents of your files stay private to key holders, but when you work on them, and on which device, does not. A person you give a read key to can see, for example, that you edit files late at night, and from which of your devices.

What to do: keep files whose timing you want private in a folder of their own, and give its keys only to devices of yours.

The one-year clock rule

The owner’s rule (2026-10-25), in the owner’s words: “Refuse to sync with clients that are more than a year out of date. Document this decision as it has real impact for people’s deleted files and for trying to settle the sync’d copies. A solution would be to stop synchronizing a folder, fix the time, and then start synchronizing again.”

What the rule does:

If the clock was only behind, set it right. The folder opens by itself, and nothing below applies.

If the clock was ahead, and the device wrote while it was, the remedy is on that device: stop syncing the folder there (remove it and keep its files), set the clock right, then add the folder again with the same key.

What adding the folder again costs. Added again over its old copy, the device starts its index afresh and treats every file there that differs from what the other devices hold as a new version beside theirs:

Nothing is overwritten then. Later, versions that device wrote while its clock was ahead, and that other devices kept, can come back once the real date reaches them. One of them can even replace a later edit of the same file, which then goes to the archive.

What to do instead: let the other devices finish syncing, move the old copy aside, and add the folder again into an empty directory, so that it syncs fresh from the others. Then compare with the old copy by hand: copy back any edit of yours that the others never received, and check what reappears. This does not stop the later return of versions the device wrote while its clock was ahead.

What the rule lets through:

Why the rule exists: a version dated far in the future would make every device forget every deletion at once.

What to do: let every device set its clock from the network. If you see the clock message, find out which clock is wrong and follow the steps above for it.

Deleted files can come back after a year

A deletion is remembered for 365 days, or less if a clock was off. The year is counted in the folder’s own time: the latest time stamped on any record a device holds, not any one device’s clock. So every device that holds the same records forgets the same deletions. A folder nobody writes to forgets nothing.

After that year:

This is the owner’s decision (2026-10-25): the horizon is fixed at a year, the same on every device, and old files come back rather than being treated as deleted. The reasons: the index must not grow for ever, and in the owner’s words, “I can’t let indexes grow indefinitely”; a deletion that is never forgotten would stay in it for good. A horizon that each device set for itself would leave devices disagreeing about which deletions exist. And treating returning files as deleted would need to know when each pair of devices last met, and could send live files to the archive by mistake. The cost is a file you deleted reappearing. It is never a loss.

What to do: delete it again. Do not leave a device or a backup of a folder unsynced for more than a year and then bring it back without checking what reappears.

Concurrent edits become conflict copies

When two devices change the same file before either has seen the other’s version, both versions are kept. The file shows one of them, and the other appears beside it as a conflict copy. In the current design a copy is named like report.txt (conflict 1a2b3c4d). Contents are never merged (the owner’s decision, 2026-10-25), so each version stays exactly as it was saved.

The reasons: keeping only the latest versions, and at most 32 devices for each, keeps the index from growing for ever. The owner chose a count over a time window. The smaller count considered, 16, would already fill up with two people’s devices and a small team; 32 entries take at most about 1.5 KB.

What to do: delete conflict copies once you have settled them. Give each machine its own file to write rather than one file that many write at once.

Rare cases where a version is replaced by mistake

In a few cases one version can replace another as if it were newer. The replaced file goes to the archive.

The reason: the rename case is the price of one record per deleted folder rather than one per file, and the others break what the design assumes about a device: one machine per device ID, and a clock that never reads earlier than the device’s last write. The threat model states each one.

What to do: never run two machines from one copy of a device’s Lickety-Sync data. Check a restored device’s clock, and let it sync with the others before anyone edits files on it. Keep the archive on.

Files that belong together sync one by one

A git repository, a database such as SQLite, a password manager’s vault, or any set of files that must change together syncs file by file. Another device can see a mix of old and new files that no device ever had on its disk.

The reason: Lickety-Sync syncs files, and nothing ties several files’ changes together.

What to do: do not use such a set on two devices at once. Close the program on one device, and open it on another only once that device shows the folder up to date, having synced with the device you closed it on.

Smaller things you might notice

Where this comes from

The points above are stated, with more detail, in the threat model and the protocol specification (its last section explains the index in plain words). The limits and open questions of the current engine marked above are in the project’s changelog. This page changes when the design does.