A private journal
Menu

No fine print

Security,
explained plainly.

What protects your words, what does not, and where the honest limits are. We would rather you know exactly what you are getting than trust a padlock icon.

XChaCha20Poly1305 authenticated encryption for text and files
0advertising trackers, analytics scripts or external fonts
30 minidle sign-out, 12 hours absolute
310,000PBKDF2 iterations protecting offline drafts

The layers

Five things standing between
your journal and everyone else.

Encrypted at rest

Entry titles, body text, attachment names and uploaded files are encrypted with XChaCha20-Poly1305 using a fresh random nonce each time. Each ciphertext is bound to your account, so it cannot be swapped between users.

TextPhotosAudio

Careful sign-in

Passwords are stored only as salted hashes. Sign-in attempts are throttled in the database, sessions rotate on login, and changing your password or PIN signs your other devices out immediately.

HashedThrottledRotating

An optional PIN

A six-digit PIN adds a second lock after sign-in and whenever you lock the journal on purpose. It is built for shared laptops, tablets and a curious housemate.

Second lockManual lock

Hardened requests

Every write carries a CSRF token and an origin check. A strict content security policy allows only our own scripts and styles, so nothing from elsewhere can run on your journal pages.

CSRFCSPHTTPS

Private offline drafts

If you opt in, offline drafts are encrypted in your browser with AES-256-GCM, using a key derived from a passphrase only you know. Signing out clears them from the device.

AES-256Your passphrase

No private caching

Private pages are served with no-store headers and the service worker never caches your journal, your attachments or any signed-in response. Only the public marketing shell is cached.

No-storePublic cache only

The honest part

What this is not.

Security claims are only useful if they include their own limits. Here are ours.

Protected

  • Entry titles and text at rest in the database
  • Attachment filenames and file contents on disk
  • Offline drafts on your device, under your own passphrase
  • Your session, against forged requests and injected scripts

Not hidden

  • It is server-side, not end-to-end, encryption: whoever operates the server and holds the key could technically decrypt content
  • Dates, notebook names, mood scores, word counts and file sizes are stored as ordinary metadata
  • Plain text exists briefly in server memory while a request is processed
  • Search works on the entries you have loaded, not a plaintext index of everything

Read the full privacy policy

What you can do

Simple habits that protect you most.

  1. Use a long, unique password. Twelve characters is the minimum; a short sentence you have never used elsewhere is better than a clever jumble.
  2. Set a PIN if the device is shared. It takes under a minute and stops casual snooping.
  3. Lock or sign out when you leave. A screen that is already open cannot be un-seen, so lock the journal before you walk away.
  4. Choose a separate offline passphrase. If you use offline drafts, make it different from your account password. It cannot be recovered if forgotten.
  5. Export now and then. A PDF of your journal is a calm insurance policy that lives entirely in your hands.

Found a security problem? Please write to support@your-domain.com with the details. We will take it seriously.

Private by design

A quiet room
with a good lock.

Try it for fourteen days. No card needed.

Start your journal