Obsidian ← Home

Privacy policy

Plain-English statement of what Obsidian does and does not collect. Obsidian is a privacy-first, end-to-end-encrypted messenger for a handful of close friends (max 5). This describes the current behaviour of the app + relay — not aspirations. The precise, skeptic-facing version, including what we cannot hide, is the threat model.

This is a self-authored policy for a personal project, distributed as a sideloaded APK (no app stores). It is not legal advice.

The short version

Your messages and media are end-to-end encrypted — only you and your friend can read them. The cloud relay stores ciphertext only and deletes everything after 24 hours. Your private keys never leave your device. What the relay does see is the bare minimum needed to deliver a message: an opaque delivery token (not your identity) and roughly when — and even that is wiped within 24 hours. It does not see who sent a message, or who it is for.

What is stored, and where

On the relay — your account

These profile fields live on the relay so friends can find and message you. They are not end-to-end encrypted — the relay can read them:

FieldWhyOptional?
EmailLogin identifierRequired
Username + codeYour username#1234 handle, so friends can find youSet at signup
Display nameThe name friends seeOptional
Phone numberOnly if you enter oneOptional
Public keyShared by design so friends can encrypt to youSet at signup
Push tokenSo the relay can send a "new message" pushOptional
Theme preferenceYour colour theme (cosmetic)Optional
AvatarProfile imageOptional

On the relay — messages & media (ephemeral, ≤24h)

On your device only — never sent to the relay

What Obsidian never collects

Push notifications

A push contains no message content — only a generic title/body ("New message" / "You have a new encrypted message") plus the message's ID, so the app can fetch and decrypt it on-device.

Third parties

Fly.io runs the relay container and Cloudflare R2 stores encrypted media blobs — both receive only ciphertext + the routing metadata above. Expo's push service delivers the content-free notification described above. No data is sold or shared with advertisers.

This website

obsidianchat.in serves static files. It sets no cookies, runs no JavaScript, embeds no analytics, and makes no third-party requests. The host (GitHub Pages) may keep standard server logs (IP, user agent) like any web host; we add nothing on top.

Your control

Contact

Questions about this policy: contact@obsidianchat.in.