Your notes are yours
Not even I can read them

Sync is end-to-end encrypted. What you write is encrypted before it's sent, and my server only ever stores data it can't read.

Encrypted before it's sent to the server

Notes, images, boards and settings are encrypted on your device before they are sent. The sync server only stores information that's encrypted and will refuse the data otherwise.

Stored using a passphrase

Your notes are locked with it. I never see it, never store it and can't reset it.

Without sync, nothing leaves your device

Currently there's no analytics in the app, so what you do stays with you. Information is sent only when you activate sync.

How it works

Your passphrase and your key
When you turn on sync, your device makes a random key that encrypts everything you sync. That key is then locked with your passphrase and a second time with a recovery key that's shown to you once. The server keeps only these locked copies. Changing your passphrase just locks the key again, without sending your notes again.
Hard to guess, even offline
Turning a passphrase into a key is made deliberately slow and memory-hungry, about a second on a phone, so anyone who gets hold of the locked key can't try passphrases quickly. The app also won't accept a passphrase that's easy to guess.
Sealed rows and images
Each note, property and image is encrypted on its own and bound to where it belongs, so the server can't swap or move data without the app noticing. Images are stored under an id derived from your key, so the server can't tell whether you have some well-known picture.
Shared workspaces
A shared workspace has a key of its own. The owner's device locks it separately for each person invited, with a key that only that person's devices can open. The server passes these along but can't open them. When someone is removed, the workspace rotates the key.
Editing together
When you and others write in the same document, each change travels encrypted with the workspace's key.
The key on your devices
On your device, the key is kept in the system's own secure storage (the Keychain, or Windows Credential Manager), not in the app's database. A copy of the database or a backup doesn't include the key. On phones, it stays out of backups, so a restored phone will ask for your passphrase again.

What our server can see

Never the content of your notes, their titles, your images or your settings. It does need a few things to sign you in and keep your devices in step:

  • Your email address, so I can send you a sign-in code
  • The names of your signed-in devices, so you can tell them apart
  • How many notes and images you have stored, how big they are, and when they change
  • Who is in a shared workspace, and who has which document open (by a random id, not its title)
  • Whether you subscribe. Payments go through Stripe, so I never see your card

What it can't protect against

If you forget both your passphrase and your recovery key, I can't unlock anything for you. Sync stops, but your notes are still on your devices and you can set up sync again from scratch. If someone ever broke into my server, they could try guessing your passphrase on their own computer. The slow key and the strength check make that really hard, but a long, odd passphrase is still your best bet. My server can also see how much you store and when it changes, just not what it is. And if your device is unlocked and has malware on it, encryption won't help you there, same as with any other app.

Under the hood

Everything is encrypted with XChaCha20-Poly1305, a modern and widely trusted cipher that also spots any tampering, using a random 256-bit key that's far too long to ever be guessed. Your passphrase goes through Argon2id, which makes every guess slow and costly, and the app uses zxcvbn to say no to passphrases that are easy to guess. The recovery key is a random 160 bits, just as hard to guess as your key. For sharing, everyone has an X25519 key, a lock only their own devices can open. And if you delete your account in the app, everything on our server is gone.

The app and this website

The app
donote has no analytics or tracking. Besides sync, it only goes online to check for updates and to show a preview of a link you paste, which it fetches from that site.
This website
If you accept cookies, the site counts visits and sees which parts get used, with PostHog in the EU. If you don't, nothing is sent and the only thing stored is your choice. No ads, and nothing that follows you to other sites.