oliminal
Privacy by design

Our on-device and E2EE promise

Dreams are unguarded in a way most writing isn't. We designed Oliminal so that your entries are unreadable to us — not as a policy we promise to follow, but as a property of how the system is built.

On-device, where it matters most

On the Android app, transcription of your spoken dream happens entirely on your device — the audio never has to leave your phone to become text. There's no server in the loop for the most sensitive step: turning your half-asleep voice into words.

End-to-end encrypted, always

Every dream, journal entry, and interpretation is encrypted on your device before it's sent anywhere, using a key derived from your password. That key is never transmitted or stored in a form we could read. Our servers hold ciphertext and a wrapped copy of your encryption key — wrapped in a lock only your password (or your recovery code) can open.

This means:

  • We can't read your entries, even if we wanted to.
  • A breach of our database exposes encrypted content, not your words.
  • Changing your password re-wraps your key — it never requires re-encrypting your entries.

AI readings without a copy

When you request an AI interpretation, your device decrypts the relevant text and sends it straight from your browser to the AI provider — using your own API key, stored only on your device. It never touches our servers, and the response is re-encrypted before it's stored.

Pairing a second device

Linking your phone and your home hub uses a short-lived QR code to transfer your encryption key directly between your devices — never through a channel we can observe.

If any part of this is unclear or you'd like more technical detail, we're happy to talk — reach out via our contact page.