In plain English "Zero-knowledge" means the company running beChat knows nothing about what you say. The server is like a post office that moves sealed envelopes between mailboxes but has no letter opener and no master key. Below, each property has a one-line plain-English summary. For definitions of any term, see the glossary.
Message encryption
Messages are protected with a Double Ratchet Double Ratchet The key-ratcheting construction beChat implements for end-to-end encryption, the same mechanism Signal and WhatsApp use. It generates a brand-new key for every message so a single compromised key does not expose past or future messages. Click for full glossary → construction and post-quantum cryptography. The server stores only encrypted message blobs.
In plain EnglishYour text is scrambled on your phone, sent as noise, and only unscrambled on your contact's phone. The server never sees readable text.
Attachment encryption
Attachments are encrypted with AES-256-GCM-SIV AES-256-GCM-SIV The encryption beChat uses to scramble message content and attachments. It is a hardened variant of AES-256-GCM, the standard the U.S. government approves for top-secret documents, designed to stay safe even if a nonce is accidentally reused. Click for full glossary → before upload. Plaintext Plaintext The readable, unscrambled version of a message or file. This is what encryption protects. beChat never sends plaintext over the network or stores it on the server. Click for full glossary → attachments are never sent to the server.
In plain EnglishPhotos and files are scrambled before they leave your phone, using a hardened variant of the encryption standard approved for U.S. top-secret documents.
Local storage
Local databases use SQLCipher SQLCipher An encrypted version of the database that stores your chat history on your phone. It is locked by your PIN, so without the PIN even someone holding your phone sees only scrambled noise. Click for full glossary → encryption keyed by the user's PIN PIN (in beChat) A random 8-character code your phone generates when you install beChat. It is your account identity, like a gym locker number. It is not a password you choose, and it says nothing about who you are. Click for full glossary →, protecting stored conversations on the device.
In plain EnglishYour chat history on your phone is locked behind your PIN. Without it, even someone holding your phone sees only scrambled noise.
Server data
The server stores the PIN PIN (in beChat) A random 8-character code your phone generates when you install beChat. It is your account identity, like a gym locker number. It is not a password you choose, and it says nothing about who you are. Click for full glossary →, device fingerprint Device fingerprint A unique identifier derived from your phone's hardware. beChat pairs it with your PIN so your account is bound to your physical device, without ever collecting your name, email, or phone number. Click for full glossary →, public keys, and encrypted message blobs needed to operate the service.
In plain EnglishThe server holds the bare minimum to keep running: your locker number, your phone's fingerprint, your public keys, and sealed envelopes. Nothing readable.
Transport security
Network requests use TLS TLS The encryption that protects the connection between your phone and a server, the same technology that puts the padlock in your browser. beChat uses it for every request. Click for full glossary →, certificate pinning Certificate pinning A rule where your phone only trusts one specific ID badge for the beChat server. So even if someone fakes a badge that looks officially issued, your phone refuses to talk to them. Click for full glossary →, and HMAC request signing HMAC request signing A tamper-proof seal on each network request that proves it really came from your account and was not modified on the way. Works alongside TLS for defense in depth. Click for full glossary → to reduce interception and tampering risks.
In plain EnglishThe connection between your phone and the server is tamper-proof. Your phone only trusts the real beChat server and refuses impostors.
Privacy posture
beChat does not run analytics, crash reporting, advertising, or third-party SDKs SDK A "software development kit," a bundle of third-party code an app can include. Many apps include analytics or advertising SDKs that quietly collect your behavior. beChat includes none of those. Click for full glossary → that collect user behavior. The only external service used is Google Firebase Cloud Messaging for Android push notifications, with encrypted payloads that contain no message content.
In plain EnglishThe app skips analytics, ads, crash reporters, and third-party data collectors entirely. The only external service it touches is Google push delivery, which never sees your message content.
Push notifications
Android push notifications are delivered via Google Firebase Cloud Messaging (FCM) Firebase Cloud Messaging (FCM) Google's service for delivering push notifications on Android. beChat uses it only to tap your phone and say "wake up, fetch something." The notification contains no message content, and the message itself never goes through Google. Click for full glossary →. The notification payload is encrypted and contains no message content. This is the only component that transits Google infrastructure.
In plain EnglishGoogle's push service only taps your phone to say "wake up, fetch something." The actual message never goes through Google.
Infrastructure
beChat runs on an independent European hosting provider, on infrastructure in Europe governed by Belgian law. The service does not use hyperscaler cloud.
In plain EnglishThe servers live in Europe, hosted by an independent provider rather than Amazon, Google, or Microsoft cloud.