Cloud Sync without trusting the cloud
Syncing database credentials to somebody else’s server is a strange thing to ask people to do. So the server is yours, and it never sees the plaintext.
Sync is genuinely useful. Set up a connection on the desktop, have it on the laptop. Write a query at work, open it at home.
But look at what is actually being synced: database hosts, usernames, passwords, SSH keys, saved queries against production. Asking someone to upload that to a server run by whoever wrote their database client is a large request, and "we take security seriously" is not an answer to it.
Two decisions
The server belongs to you. Cloud Sync is self-hosted. There is no ProTools account, no ProTools server, no free tier collecting data on the side. You point the app at a URL you control — a VPS, a NAS, a box under a desk — and that is where everything lives.
The server never sees plaintext. Encryption happens on the device before anything is transmitted. The passphrase never leaves the machine. What the server stores is a blob it cannot read. If someone dumps that database, they get ciphertext.
That is what "zero-knowledge" means here, and it is the reason the first decision is not enough on its own — your own server can still be compromised.
What travels
Seven kinds of data: connection profiles, saved queries, REST requests, quick commands, notes, snippets, and app preferences. Each can be turned off individually. Syncing queries but not credentials is a perfectly reasonable setup, and a common one.
The honest trade-off
Zero-knowledge means the server cannot help you recover anything.
Lose the passphrase and the data is gone. Not "contact support" gone — mathematically gone. There is no reset link, because a reset link would prove the server could decrypt your data, which would defeat the entire design.
Write the passphrase down. Put it in a password manager. This is the cost of the guarantee, and it is worth being explicit about rather than discovering later.
Running it
The server is a single PHP file plus a database table. It runs on the cheapest shared hosting you can find, because all it does is store and return opaque blobs. No queue, no worker, no Redis. The reference implementation ships with the app.
ProTools

