r/selfhosted•
KLoveque

After Discord's data breach exposed government IDs, I built an open-source alternative where there's nothing to breach

Software Development

Greetings r/selfhosted,

I've been building Nodes, an open-source, decentralized Discord alternative where your identity is a cryptographic keypair generated on your device. No email, no phone number, no account on someone else's server.

Why I built it:

Discord now requires government ID for age verification. Their 2025 data breach exposed tens of thousands of those IDs. I wanted a chat platform where privacy isn't a policy that can be changed, it's the architecture itself.

What works today (v1.1.0-beta):

  • Self-sovereign identity: your keypair IS your identity, encrypted locally with a passphrase
  • Real-time P2P messaging via GunJS
  • E2E encrypted DMs (ECDH key exchange, AES-256-GCM)
  • Voice channels (WebRTC mesh for small groups, LiveKit SFU for larger)
  • IPFS file sharing with server pinning
  • Roles, permissions, and moderation tools (kick, ban, slow mode, audit log)
  • Full-text search, mentions, desktop notifications
  • 7 built-in themes + custom theme creator
  • Native desktop app via Tauri (~15MB, ~80MB RAM)

Tech stack:

Tauri v2 (Rust) + React + TypeScript + GunJS + WebRTC + IPFS + Zustand

What it's NOT:

  • Not a Signal competitor. Channel messages are signed but not encrypted (DMs are)
  • Not production-hardened for thousands of users yet, it's a beta
  • Not trying to replace Matrix/Element for federated use cases. Nodes is fully P2P

Links:

I'm a solo developer, so I'd genuinely appreciate feedback, especially on the crypto implementation (SECURITY.md covers the threat model and known limitations honestly). If you try it, the quickest test is: install, create identity, browse the public Node directory, join a community, send a message.

Happy to answer questions about the architecture, crypto decisions, or anything else.

Posted Mar 5, 2026, 4:55 PM UTC

02
Loading comments…