What end-to-end encryption means
When you send a message in KolChat, your device locks it before it leaves. Only the devices of the people in that chat hold the keys to open and read it. Our servers pass the locked data along without the key.
End-to-end encryption is on by default for private chats, group chats, voice notes, photos, files, and normal calls. Suppose Maya Chen on an iPhone in Chicago sends a contract PDF to Daniel Wright in Toronto. Neither KolHive nor anyone on the network can read her message or open the file.
Public channel posts work differently. Because anyone can read a public channel, those posts are stored on our server and are not end-to-end encrypted.
What our servers see and never see
To deliver messages and run groups, our servers need routing information. They never have access to the content inside your encrypted chats or calls.
| What our server sees | What our server never sees |
|---|---|
| Who talks to whom and when | Message text |
| Group names, group photos, and member lists | Photos, files, and voice notes |
| Device IP addresses | Call audio, call video, and meeting transcripts |
| Encrypted ciphertext in transit | Your encryption keys or search queries |
How the encryption is built
KolChat follows the Signal protocol design. It uses X3DH to start a session, the Double Ratchet for each message, and Sender Keys for group chats. We wrote this implementation from the public specifications in pure Dart rather than using the libsignal library.
The cryptography uses standard primitives: X25519, Ed25519, HKDF-SHA256, HMAC-SHA256, AES-256-GCM, and SHA-256/512. Each of your devices has its own keys, and an account key signs each device certificate.
When you attach a photo or document, your device encrypts it in chunks with AES-256-GCM before upload. Every file gets its own random key that our server never holds, and encrypted relay copies expire after 30 days. For files stored outside of chat, read how KolHive protects your files.
On your device, chats stay in a per-account encrypted database that locks each row with AES-256-GCM. The key stays in your platform's secure store, or in a non-extractable Web Crypto key on the web. Message search, both by keyword and by meaning, runs only on your device after downloading the meaning model once. No search index, vector, or query ever reaches our servers.
Verify your contacts and devices
When you add a new phone or computer, you approve it from a device you already have. You enter a code shown on the new device to confirm it belongs to you. You can see the full steps in our guide to moving KolChat to a new phone.
You can also check that no one is between you and a contact by comparing safety numbers. For example, Priya Shah in Manchester and Tom Baker in Sydney can read their safety numbers aloud on a call. If the numbers match, no one is in between.
If a contact reinstalls the app or changes phones, the chat shows a security code changed notice. If you previously verified that contact's safety number, KolChat blocks messages to them until you accept the new code.
How calls and meeting links stay private
Voice calls, video calls, and screen sharing from a computer are end-to-end encrypted. On a phone, you can also call someone back directly from your recent calls list.
Calls travel directly between devices when the network allows it. When a direct link is not possible, a relay server passes the encrypted media stream without being able to open it. Because media is end-to-end encrypted, there is no phone dial-in and no server-side recording or audio mixing.
When you create a meeting link, the encryption key stays after the # sign at the end of the address. Browsers never send the portion of a link after the # sign to a server, even when guests join from a browser. Hosts can use a waiting room, lock the meeting, add a password, remove participants, or hand over to a co-host.
How AI features and chat reports work
AI in KolChat is optional, and you choose which AI answers. Only the messages you select go to that provider, one answer at a time, and only after you tap the send button. If you run a local AI with Ollama or LM Studio, everything stays on your device; see choose your AI model for details.
Because AI conversations in KolChat quote end-to-end encrypted messages, they are not saved to your account's AI history on our server. They sync only between your own devices inside an end-to-end encrypted channel where we store and forward ciphertext only. KolChat has no ads and does not use your messages for ads or AI training.
If you report a chat for abuse, your device sends the last five messages of that chat to us. We only receive those five messages at the moment you send the report.
Disappearing messages and deleting for everyone
You can set a disappearing messages timer for each chat, or set a default for new chats. You can choose Off, 24 hours, 7 days, or 90 days. The timer travels inside the encrypted message, and each device deletes the message on its own clock.
You can also delete a message for everyone in a chat. Deleting for everyone travels as an encrypted message, and receiving devices honour it only within a 60-hour window.
What this does not do
- The encryption implementation has not had an independent security audit yet.
- There is no post-quantum encryption protection yet.
- Metadata such as who talks to whom, when they talk, device IP addresses, and group names, photos, and members is visible to our server.
- Encryption cannot stop the other person in a chat from saving a copy or taking a screenshot of what you send.
Common questions
Can KolChat read my messages?
No. Private and group messages, voice notes, photos, files, and calls are locked on your device before they leave, and our server never holds the keys. The only things we can read are public channel posts and the last five messages of a chat if you report it.
How does KolChat's security relate to Signal?
KolChat follows the Signal protocol design, using X3DH, the Double Ratchet, and Sender Keys with standard cryptographic primitives. We wrote our implementation in pure Dart from the public specifications rather than using the libsignal library. Keep in mind that our encryption has not had an independent audit yet and does not yet include post-quantum protection.
Are voice and video calls encrypted?
Yes. Voice calls, video calls, and computer screen sharing are end-to-end encrypted by default. Calls connect directly between devices when possible, or pass through a relay that cannot open the encrypted media.
What happens when I report a chat?
Reporting a chat sends its last five messages from your device to our team so we can review the report. Nothing is sent unless you report the chat, and older messages in the conversation remain unreadable to us.
Free on iPhone, Android, Mac, Windows and Linux.
Get KolChat