Your journal stays on your device
Journal is a private app. This page says what the page does with your data.
What happens to your data
- Your entries, moods and tags stay in this browser. The page sends them to a server only if you turn on sync. Then it sends them encrypted, and the server cannot read them.
- The page needs no account and has no ads. A sign-in is only for the optional sync.
- The page saves your entries in IndexedDB. Small settings, such as the reminder time and a note that you signed in, are in local storage. Anyone who can use this browser profile can read plain entries. The lock prevents that.
- With the lock on, each entry is encrypted in your browser. The key is in memory only. The page never saves your passphrase or your key.
- Cloudflare hosts this site. Cloudflare Web Analytics may count page views. These counts hold no data from your journal.
- If the page has an error, it sends an error report to the server. The report has no entry text.
- When you save an entry or an export, the page sends one anonymous count to our server. It has the tool, which job (for example "entry_saved"), the page type, and mobile or desktop. It has no entry, no mood and no tag. No cookie, no IP address.
Daily reminder (optional)
If you allow notifications, we keep the address of your browser's push service and two keys that let us send messages to your device. We use them only to send you notifications from this app. We do not share them. Push services (Apple, Google or Mozilla) carry the messages and see that a message was sent. You can stop at any time with the Stop notifications button. We then delete these data.
We keep only your time zone and the hour you chose. We never get your entries. We also keep the last day we sent you a message.
The data stay until you press Stop notifications, or until the push service tells us your device is gone. If you do not allow notifications, we keep nothing for reminders.
Sync between devices (optional)
Sync is off until you sign in and turn it on in Settings. It needs the passphrase lock. Your browser encrypts each entry with your vault key before it sends the entry. The vault key never leaves your browser.
If you turn sync on, the server keeps:
- Your email address, from the sign-in. It names your copy. Auth keeps your account.
- Your vault key wrapped twice: once by your passphrase and once by your recovery code. With the wraps come the salts and the number of rounds. A wrapped key is useless without the passphrase or the code.
- For each entry: its random id, the encrypted entry, the time of the last change, and whether you deleted it.
- The size and the number of your entries, and the times you made or changed your copy.
The server never keeps your passphrase, your recovery code, your vault key, or the text, mood, tags or date of an entry. The sizes and times can show how much you write and when. Someone who gets a copy of the server data can try to guess your passphrase offline, so use a long one. The data is in a Cloudflare D1 database.
If you lose the passphrase and the recovery code, nobody can read the copy. We cannot help.
Delete the copy or your account
- Turn sync off in Settings. The copy stays on the server until you delete it.
- Choose Delete the copy on the server in Settings. It erases the wrapped keys and all encrypted entries at once. Your entries on your devices stay.
- Choose Delete my account in the header when you are signed in. We erase your copy on the server, and then your sign-in account. Your sign-in is shared with Kevin's other apps. A request goes to Kevin to delete what those apps keep. Your entries on your devices stay.
Your copies and your choices
- Choose Download JSON or Download Markdown in Settings to save a copy. The file is plain text. It is not encrypted, even when the lock is on. It goes to your device only.
- You can import a JSON export on another device. Nothing goes through a server. Or you can turn on sync.
- Choose Delete all data in Settings to remove everything from this device. A copy on the server stays: delete it as written above. You can also clear the site data of your browser.
- If you clear the site data without a copy, your entries are gone. The app cannot get them back.