How it works
#QxChat is built around a simple idea: you host the server, you own the keys.
Every room you create generates its own encryption key directly on your device. Messages are encrypted before they leave your client and only decrypted by the recipient. The server? It just routes ciphertext packets. It does not read your chats because mathematically, it literally cannot.
Voice and video calls stream through your own TURN server. Not Google infrastructure, not AWS relays, yours. Your profiles, your room memberships, your message history: it all stays on your machine and your server. There is no third party standing in the middle.
No analytics. No telemetry. No "anonymous diagnostic telemetry" that turns out to be uniquely identifying. Just a clean WebSocket connection between you and a server you control.
Ephemeral Key Generation
Clients generate cryptographic identity and room keys locally via browser SubtleCrypto and Rust crypto primitives.
Zero-Knowledge Relay
The Rust server acts purely as a WebSocket routing hub, forwarding encrypted payloads without inspectable headers.
Direct P2P WebRTC Media
Voice, video, and screen sharing stream directly between participants with zero intermediary recording.