Your writing is encrypted on your device

Entries, page titles and bodies, page authors and tags, quoted entry text, and Future Me notes are encrypted with AES-256-GCM before they are sent to Nook. A fresh random initialization vector is used for each encryption.

The content key belongs to one Nook identity

Ave creates a separate app-key context for each Nook identity and returns the plaintext key through the browser URL fragment after authorization. Nook removes that fragment and imports the key into Web Crypto. On the web, the session bundle and serialized key are kept in session storage; mobile uses the operating system's secure storage.

Nook's servers still see metadata

End-to-end encryption does not hide everything. The service stores your Ave identity ID, profile details, billing state, entry dates, creation and update times, Future Me selection offsets, encrypted payload sizes, and request metadata needed to operate and protect the service.

What Nook cannot do

Nook cannot read or search the plaintext of your diary on the server. It also cannot recover the diary if you permanently lose both access to the correct Ave identity and its app key. A logged-in device, browser extension, or script running with access to your page can see content after your device decrypts it; E2EE does not make a compromised device safe.

Storage and transport

Encrypted application data and account metadata are stored in Cloudflare D1. Requests travel over HTTPS, and realtime clients receive only small invalidation messages before refetching their own authenticated data. Stripe receives billing data, but never diary content.

Found a security issue?

Please send a clear report to security@kaleid.al. Do not include another person's diary content or personal information in a report.