Choose a journal
Each journal keeps its own password. Choosing one does not change or delete any journal.
No journals yet. Create a new journal or restore an encrypted backup.
Create a separate journal
This creates an empty journal with its own name and password. Your current journal stays in the list as an encrypted archive, with its existing password.
This does not change an existing journal’s password. Save the new password under the journal name below. Browser archives can be lost if site data is cleared; keep independent encrypted backups.
Open journal:
Let it out
You don't have to make sense of it or choose an emotion.
Draft not started
Past entries
Backup & privacy
Encrypted device synchronization
Requires a separate Cloudflare Worker and D1 database. Use the same 64-character device sync code on both devices. This is separate from every journal password. If saving it in a password manager, use a separate item named “Room to Breathe device sync code”.
Biometric unlock (experimental)
Enable only on your own device. Uses a device passkey with WebAuthn PRF support to protect a local unlock secret. If unavailable, your passphrase remains required. Passphrase recovery remains essential.
Not configured.
Journal settings
Password changes affect only the currently open journal. Choose a different journal from the lock screen.
Change this journal’s password
A separate new journal
Start empty with a new name and password. The current journal will remain as an encrypted archive.
Delete this journal
Device deletion removes only the open journal from this browser. Cloud retirement cannot erase offline devices, archives, or exported backups. Switching or creating a journal never deletes an archive.
Export an encrypted file to Files or iCloud Drive. You can import that file on another device, but this is also useful as a separate backup even when cloud synchronization is enabled.
AES-GCM encryption, PBKDF2 passphrase derivation. Losing your passphrase means losing access. Browser storage may be cleared; export backups regularly. Cloud synchronization, when enabled, stores encrypted payloads on Cloudflare. Your journal text is not sent to AI.