Your words stay yours.
A private journal starts with a simple boundary: journal content is encrypted on the device before it leaves for sync.

The device does the reading and writing
The web app reads and writes its working journal in browser local storage. Search runs there too, over titles, bodies, tags, and place names. Writing and searching do not require a server connection.
Local-first does not mean that the browser’s stored copy is encrypted. The working copy and any downloaded plaintext export need protection on the device.
Content crosses the boundary as ciphertext
Before an entry becomes a sync operation, WebCrypto encrypts its complete record with AES-GCM. A key is derived on the device with PBKDF2 and SHA-256, using a random salt. Each encrypted payload has a random nonce.
The sync server stores the opaque encrypted payload. Its models have no journal title, body, tag, place, weather, or journal-name columns. Tests check that a canary phrase stays out of the outgoing operation and that the server preserves ciphertext unchanged.
Be precise about what is visible
Encryption protects journal content. The server still handles account and device identifiers, operation identifiers and types, revision numbers, timestamps, and ciphertext sizes. It is not an anonymous transport.
Daybook includes no telemetry client, analytics, or crash reporting. Its own access logger records request method, path, and status. No claim here treats those operational records as journal content.
A private journal has no agent door
Daybook exposes no MCP tools. Agents can help build and test the software without being given a route into the journal. This is a deliberate boundary, consistent with a journal for one person.
Keep a readable copy when you choose
The app exports JSON and Markdown and warns that those exports are plaintext. Bring an existing journal in from its JSON export; import reports describe skipped entries. The archive remains useful outside the editor.
Questions about this tool?
Write to Renkara Media Group and a person will answer.