The core idea: your identity is a cryptographic keypair, not a database row. Messages sync P2P via GunJS, DMs are E2E encrypted with ECDH/AES-256-GCM, voice uses WebRTC mesh with LiveKit SFU fallback, and files share through IPFS.
Tech stack: Tauri v2 + React + TypeScript + GunJS + WebRTC + IPFS
It's a beta. Channel messages are signed but not encrypted (DMs are). No mobile app yet. SECURITY.md documents the threat model and known limitations honestly.
Happy to answer questions about the architecture or crypto decisions.