How FerryTerm Sync keeps your data private

Sync is a free preview and works today; this page describes how it is built. Without Sync, FerryTerm stores nothing on our servers.

Encrypted on your Mac

Every synced item is encrypted on your Mac before it leaves it. A random data key encrypts each record with XChaCha20-Poly1305, and the record’s id is bound into the encryption so a record cannot be moved to another one. The server never sees your data, your passphrase or your recovery key.

What the server stores

The server stores your account, and for each record a random-looking record id, a revision number, the encrypted bytes and the times of writes. It also stores your data key in wrapped form (see below), including the Argon2id cost and salt. It cannot read, search or merge the content.

Passphrase and recovery key

What syncs

DataSynced?
Favourite hosts: destination, port, display name, colour, group labelYes
The theme setting. Other settings are added only after a review.Yes
Your tab groups and tabs, published per Mac: names, colours, order, SSH destination and port, and the name of the tmux session an SSH tab runs in. You can hide a window or a tab.Yes, unless you hide it
SSH private keysNo. The sync format has no place for them.
Passwords you type into sshNever; a destination containing a password is refused
Your ~/.ssh/configNever; it is only read
Terminal content and shell historyNever
The local cache of files you editNever
Transfer historyNever

Delete your data

Settings has “Delete my sync data”, which removes every record from the server for every Mac. It touches nothing on any Mac.

Copying from a remote server

Text you copy inside tmux on a server reaches your Mac clipboard. This works only in that direction: a program on the server cannot read your clipboard.