Setting up your own self-hosted chat server has never been this easy. No port forwarding, no cloud account, and no complicated setup.
OffCode Tor Chat is designed to make secure self-hosting simple.
Messages are encrypted in-browser with WebCrypto AES-256-GCM (PBKDF2-v2, 600k iterations) before reaching the server — ChatServer relays and stores ciphertext only. Password rooms use separate KDF domains so the host cannot derive the key; open rooms are public encrypted channels. Guests connect through any Tor Browser — no app install, no account.
Host with Server Manager on Windows, or headless Docker (ChatServer + Tor HS). Password rooms are server-blind E2EE (the host cannot derive the room key). Open rooms still encrypt in the browser, but the key is derived from the room id: intentional public channels. Hidden rooms stay off the public list and use invite links; add a password for private E2EE. Creators get Settings for close joins, slow mode, lock later, and delete room, plus a Profile recovery code (My rooms for hidden). Required message TTL, E2EE attachments, and optional Full Vanguards complete the stack.
Tor-only hosting
ChatServer binds 127.0.0.1 only. Tor Expert Bundle publishes a v3 .onion and forwards VirtualPort 80 (and the app port) to localhost; no clearnet chat listener. Optional Docker compose: ChatServer + Tor (no host ports).
Rooms, invites & TTL
Open, password-protected, and/or hidden rooms with invite links and required per-message lifetime.
Browser encryption (pbkdf2-v2)
WebCrypto PBKDF2-HMAC-SHA256 (600 000 iterations) → AES-256-GCM. Separate v2 KDF domains for join proof vs room key on locked rooms so the server cannot derive the message key from join material.
Ciphertext storage
SQLCipher database under LocalAppData (Windows) or Docker volume. DPAPI / env key. Parameterized queries. Plaintext is never written to disk.
Full Vanguards - Guard-Discovery Protection
A standard Tor Hidden Service chooses its entry (guard) nodes randomly on every circuit build. Over time a network-level adversary can watch which relays the server connects to and gradually narrow down the real server IP. This is called a guard-discovery attack and is especially dangerous for long-lived hidden services.
Self-host your own chat server & Best privacy

Find your next favorite product or submit your own. Made by @FalakDigital.
Copyright ©2025. All Rights Reserved