Security & Technology

How OvateChat protects your conversations — in enough detail for a technical reader to evaluate. For the friendly version, see What is end-to-end encryption?

The design principle

OvateChat is built so that its security does not depend on trusting us. Message content is encrypted on your device with keys only your devices hold; our servers relay ciphertext they cannot read and delete it once delivered. Even a full compromise of our servers would not expose the content of your conversations — that property is the architecture, not a policy.

End-to-end encryption: the Signal Protocol

OvateChat uses the Signal Protocol, the most widely studied messaging encryption design in the world, via the open-source libsignal implementation family.

Session establishment — X3DH

Every device generates its own identity key pair and publishes only public key material (identity key, a signed prekey, a batch of one-time prekeys). To start a conversation, the sender fetches the recipient's public key bundle and runs the Extended Triple Diffie–Hellman (X3DH) agreement — producing a shared secret without the server ever holding a private key.

Ongoing messages — Double Ratchet

Each message advances a Double Ratchet: fresh keys per message, giving forward secrecy (a stolen key can't decrypt past messages) and post-compromise recovery (security heals after a compromise ends). Group messages are encrypted pairwise for every member device — a group is many individually encrypted copies, not one shared key.

Everything users exchange rides this channel: texts, photos, videos, documents, voice notes, locations, stickers, reactions, edits and deletions. Media files are additionally encrypted under fresh random keys before upload; the file key travels only inside the encrypted message.

We deliberately do not restate the cryptographic specifications here — the authoritative documents are Signal's own: X3DH and Double Ratchet. Primitives involved include Curve25519, AES, and HMAC-SHA256 — standard, internationally recognized algorithms.

What our servers can — and cannot — see

Honesty matters more than marketing here. End-to-end encryption protects content; a relay server necessarily handles some metadata to do its job.

Our servers never seeOur servers do see
Message text · photos, videos, files, voice notes · shared locations · stickers & reactions · edits & deletions · your private keys · your chat backup contents (encrypted on-device before upload) Account data you provide (username, optional email/name/profile photo) · which accounts message each other, and when · delivery/read receipt events · friend connections and group membership · device and session records, including login IP addresses · push tokens

Delivered ciphertext is deleted. Encrypted message blobs exist on our servers only until every recipient device has fetched and acknowledged them, then they are erased. We do not keep an archive of your ciphertext. Undelivered messages expire after a limited period.

We collect no analytics, run no ads, use no trackers, and never sell data. The Privacy Policy is the binding description of data handling.

Keys, devices, and recovery

Abuse controls without content access

Because we cannot read messages, safety tooling works on consent and identifiers instead: verified-account gates on initiating contact, friend-request controls, blocking in both directions, and in-app reporting. Read receipts are reciprocal and optional.

Open source we build on

Honest limitations

Reporting security issues

Found a vulnerability? We genuinely want to hear it — email security@ovate.chat with details and steps to reproduce. Please give us reasonable time to fix before public disclosure; we'll credit researchers who report responsibly (unless you prefer otherwise). Machine-readable contact: /.well-known/security.txt.