βββββββ βββββββ βββββββ ββββββββββ βββ ββββββ βββββββββ
ββββββββββββββββββββββββ βββββββββββ ββββββββββββββββββββ
ββββββββ βββββββββββββββ βββ ββββββββββββββββ βββ
βββββββ βββββββ βββββββ βββ ββββββββββββββββ βββ
βββ βββββββββββ βββββββββββ ββββββ βββ βββ
βββ βββββββββββ ββββββββββ ββββββ βββ βββEnd-to-end encrypted peer-to-peer chat with Signal Protocol (Double Ratchet + X3DH) and WebAuthn/Passkey authentication.
This is a quick overview β security theory, architecture, and full walkthroughs are in the learn modules.
- Double Ratchet protocol (Signal) with X3DH key exchange for end-to-end encryption
- WebAuthn/Passkey authentication with discoverable credentials and multi-device support
- Forward secrecy and break-in recovery with out-of-order message handling
- Real-time WebSocket messaging with SurrealDB live queries
- Presence tracking, typing indicators, read receipts, and heartbeat keep-alive
- Alembic database migrations with full test suite
docker compose up -dVisit http://localhost:8080 to open the application.
Tip
This project uses just as a command runner. Type just to see all available commands.
Install: curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin
Backend: FastAPI, PostgreSQL + SQLModel, SurrealDB, Redis, Alembic
Frontend: SolidJS 1.9, TypeScript, Vite 6, Tailwind CSS v4
This project includes step-by-step learning materials covering security theory, architecture, and implementation.
| Module | Topic |
|---|---|
| 00 - Overview | Prerequisites and quick start |
| 01 - Concepts | Security theory and real-world breaches |
| 02 - Architecture | System design and data flow |
| 03 - Implementation | Code walkthrough |
| 04 - Challenges | Extension ideas and exercises |
AGPL 3.0