A dream journal is the most private thing most people will ever write. Putting an AI anywhere near it deserves a plain explanation, not a line in a policy. This is that explanation: what happens, what it costs you in privacy, what you get for it, and where we think it is going.

The short version

What happens, step by step

Two providers do the work, each through a paid API that we use as a processor, the same way a mail app uses a mail server. OpenAI’s models handle everything that is text: tagging, titles, interpretations, and Luna. Google’s Gemini models handle the two jobs that are not text: turning a voice recording into words, and painting a dream’s header image. When you use one of the features, the relevant content is sent to the one that does that job and processed:

You doWhat is sentToWhat comes back
Record a dream by voiceThe audioGoogleA verbatim transcript, plus the names of people and places it heard
Save a dream (automatic tagging on)The dream’s textOpenAI, and Google for the imageIts emotions, its symbols, links to the people and places it mentions, a title, and a painted header
Ask for an interpretationThe dream, and the parts of your journal it draws onOpenAIThe reading
Talk to LunaYour message, and the dreams it needs to answerOpenAIThe reply

Under the API terms we use, neither OpenAI nor Google uses this content to train its models, and neither keeps it to build a profile of you. We do not train anything on your journal either, ever. The privacy policy carries the exact wording.

Nothing runs before you have an account, because there is no server involved without one. And the one part that runs on its own, the tagging after a dream is saved, is three switches in Settings: details, titles, images. Turn them off and the AI does nothing until you ask it to. Interpretations and Luna never run unasked.

The trade-off, stated plainly

Sending a dream to a model is a real cost. A dream can contain the names of people you love, things you would not say out loud, and things you do not yet understand about yourself. For the seconds it is being processed, it is on a computer that is not yours.

What you get for it is a journal that reads back. Not a dictionary look-up, which any website can do, but a second reader who has read your journal: who knows this is the fourth time the house has flooded, that your mother appears when you are about to change jobs, that the dreams you tag with dread cluster on Sunday nights. That reading is only possible because the model can see the entries.

We have tried to make the trade honest rather than invisible. Nothing runs without an account. Nothing runs without Pro, which means you have chosen it. The only automatic step has switches. The journal, the voice recordings, the search, the insights, and the export are all complete without any of it. And if the answer for you is no, then no account is a full answer, not a demo mode.

More than a dream dictionary

Most “AI dream apps” use the model for one thing: to tell you what your dream means. We think that is the least interesting job it can do, and the one most likely to be wrong.

The jobs that matter happen before anyone asks about meaning.

It takes dictation properly. At 3 a.m. you are not going to type. You mumble into the phone with your eyes shut, in fragments, in whatever order the dream comes back. The transcription is instructed to be a stenographer, not an editor: verbatim, in the language you spoke, no invented words for the parts it could not hear. It is given the names of the people and places already in your journal, so Rūta is spelled Rūta and not “Ruta” or “router”. The recording stays either way, because half-asleep mumbling never transcribes perfectly and your own voice pulls a dream back in a way text does not. That is voice journaling.

It does the filing. Write the dream and it links the people and places you mentioned in passing, names the emotions that ran through it, picks out the symbols, and gives the entry a title so the journal is readable at a glance. Six months later the people, places and symbols each have their own history, and none of it was homework.

It reads across the journal. This is where a model earns its keep: not one dream in isolation, but the fortieth dream of the beach, read against the thirty-nine before it. An interpretation grounded in your own entries, and Luna, who can be asked what a person has meant across every dream they were in.

In your language

Dreams happen in whatever language you dream in, and the AI works in it. Speak Lithuanian and the transcript is Lithuanian. Write in Portuguese and the title is Portuguese, capitalized the way Portuguese titles are, never translated. Ask Luna a question in German and the answer comes back in German. A dream written in English that mentions people with Lithuanian names still gets an English title, because the language of the sentences is what counts, not the names in them.

For a lot of people this is the difference between a journal they keep and one they abandon: being able to mumble in your first language at 3 a.m. and read it back in the morning.

Where this is going: models that live on your phone

Everything above is about making a necessary trade honest. The better answer is to remove the trade.

Phones are getting models of their own. Apple ships on-device language models with Apple Intelligence, Google does the same on Android, and every year they can do more without a byte leaving the device. Today they are good at short tasks: summarizing a message, cleaning up a paragraph. Transcribing a slurred recording of a dream in Lithuanian, tagging its symbols, and reading it against a year of entries is still beyond them.

It will not be for long. And when it isn’t, a dream journal is close to the ideal case for a local model: one user, one private corpus, tasks that do not need the whole internet, and a very strong reason for nothing to leave.

We are building toward that on purpose. Lunar Log is already local-first: the journal lives on your phone, the server only holds a synced copy, and the AI is a layer on top rather than the foundation. That means moving the AI on-device does not require rebuilding the app. It requires the models on your phone to become good enough at these specific jobs, and us to route the work to them instead of to a server. The moment the model in your phone, the one behind Siri or its Android equivalent, can transcribe, tag, and read a dream well, Lunar Log will use it, and the AI layer will stop sending anything anywhere.

We expect to be first to do this, because we have been waiting for it.

What you can do today

Whatever you choose, the choice is visible, reversible, and yours.


Lunar Log is a private, local-first dream journal for iOS and Android, with a web version on the way. Capture dreams by voice or text, connect recurring people, places and symbols, and build a searchable history that becomes more useful the longer you keep it. It’s free to journal, forever. Get the app.