Memory and writing style

Facts worth carrying between conversations, plus an optional writing-style profile so replies sound the way you want.

What memory stores and what reaches the modelWhen memory is on for a chat, entries from your memory are added to each turn in plain text and sent to the model provider, with a notice in the chat. Entries live in one of two stores, both yours alone: normal memory, encrypted per account with a key the server holds, or optional encrypted memory, encrypted in your browser with a key that stays on your device. New facts are only proposed and are kept after you confirm.Two stores, both yours aloneMemory: encryptedper account on the server,server holds the keyEncrypted memory (optional):your browser encrypts,key stays on your deviceMemory switched onfor this chatMatching entries are addedto the turn in plain text,the chat shows a noticeModel providerreceives the textZeroLog proposes new facts,kept only after youconfirm each one
Neither store is end-to-end encrypted: whatever is added to a turn reaches the model provider in plain text.
Diagram as text
  1. Memory is off by default and is switched on per chat. It is never available in anonymous chats.
  2. Normal memory is stored encrypted per account on the ZeroLog server in Switzerland. The server holds the key.
  3. Encrypted memory is optional. Your browser encrypts each entry, so the server stores only ciphertext and the key stays on your device.
  4. On each turn, matching entries (and writing samples, if style is on) are added in plain text, and the chat shows a short notice. In encrypted memory the entries are decrypted in your browser first.
  5. The model provider receives that text.
  6. ZeroLog proposes new facts to remember. An entry is kept only after you confirm it, and it records the chat it came from.

What carries over

one conversationthe next one

carried across

Off until you switch it on

Memory is off by default. You switch it on per chat, and it is never available in anonymous chats. When it is on, ZeroLog proposes facts to remember; an entry is kept only after you confirm it, and it records the chat it came from. The switch is in the chat's settings, or type /memory on or /memory off.

Encrypted per account

Entries are stored encrypted per account on the ZeroLog server in Switzerland (AES-256-GCM, one key per account). This is not end-to-end: the server holds the key, and the model receives the text in plain form when it is added to a chat. When memory is on for a chat, your entries go into every turn and the chat says so. The agent memory your coding agents keep is stored the same way.

The optional encrypted memory (Settings, Memory, Encrypted memory) is separate. Your browser encrypts each entry before upload, so the server stores only ciphertext and the key stays on your device. This protects storage only and is not end-to-end: while it is unlocked, matching entries (up to about 1,500 characters) are decrypted in your browser and sent in plain text with the message, through the server to the model provider, but only when memory is on for that chat. The chat shows how many entries went along, and a switch in the same settings panel (kept per browser, on by default) stops the sending without locking. “Suggest memories from a recent chat” sends the last 30 messages to a model. The server sees how many entries you have, when they changed and how large they are. Lose both passphrase and recovery code and the entries are gone. Setup never overwrites an existing key (replacing it is an explicit reset that deletes all entries), the passphrase needs at least 12 characters, and the key is cleared when you sign out.

Never between accounts

your account

any other account

Memory is yours alone. It is never shared between accounts.

Read, edit, delete

You can read, edit and delete every entry under Settings, Memory, Memory & Writing Style. An entry is a fact or a standing instruction; you can also add one by hand or with /remember. Nothing is stored that you cannot see. Limits: 200 entries and 20 writing samples (each at least 40 characters) in the normal memory, 2,000 entries in the encrypted one.