We can't read
your journal.
Most wellness apps treat journal text the same as any other data — synced, backed up, indexed, sometimes used for AI training. Morrow Self does not. Your entries are encrypted on your phone and never transmitted. Not for sync, not for backup, not for anything.
A wellness app that can't read your journal.
Your entries are encrypted on-device with MMKV. They never leave your phone. Not for sync, not for backup, not for AI training. The only thing that touches our servers is anonymized session metadata: enough to keep your streak consistent, nothing more.
- Journal entriesNever syncSynced to their cloud
- Voice recordingsNever collectedOften collected
- AI trainingNever. Period.Frequently used
- Session metadataType + duration onlyFull content + context
- Account requiredOptionalRequired
What stays. What syncs. What never leaves.
- Journal textOn your phone onlyMMKV encrypted storage. No backup to our servers, no iCloud upload, no Google Drive.
- Voice journal recordingsOn your phone onlyProcessed via on-device speech-to-text (expo-speech-recognition). Audio file lives in app sandbox. Never transmitted.
- Session metadataSynced to SupabaseSession id, type (morning / evening / deep dive), duration, completed_at. Used only to keep your streak consistent across devices.
- AI prompts (Pro, opt-in)On your phone onlyLocal LLM via llama.rn. Journal content goes to the on-device model, never to a cloud API. You can disable AI prompts entirely.
- Account emailSynced to SupabaseOptional. Apple Sign-In supports private relay. Account is only needed for cross-device streak sync.
The AI runs on your phone.
The optional AI prompts use a local model that lives inside the app. Your reflection text is read by the model on the device and never leaves the phone. There is no cloud API call, no server log, nothing to leak.
The honest version of a wellness app.
Privacy-first only works if the free tier actually works. The 18 wins, the three journal sessions, and the streaks are all free, forever. No trial. No paywall behind the value.