Pure website chat — no install, no local daemon, no exe. Create an account, add friends by username, keys are tied to your account and saved online. Runs on Render with free *.onrender.com DNS and stays on until the service restarts.
Tip: after adding, both users should refresh. Group messages fan out per member (server stores per-recipient ciphertext).
Clean, no-JS, server-rendered. Easy navigation, signed-in session stays with Flask cookie. Deploy to Render — free DNS, no exe, no Tor needed. For <100 pilot users, SQLite is enough; messages live until free instance restarts (Render sleeps after 15m — keep alive via uptime ping).
git push to GitHub Render → New Web Service → connect repo Build: pip install -r requirements.txt Start: gunicorn server.app:app --bind 0.0.0.0:$PORT
Free DNS: your-app.onrender.com · Custom free: DuckDNS / Cloudflare Tunnel