A decentralized, end-to-end encrypted chat application that prioritizes privacy, anonymity, and cross-platform usability. The project is now feature-complete (10 / 10 development phases) and ready for production deployment and open-source collaboration.
- Signal-Protocol Messaging (X3DH + Double Ratchet) for perfect forward secrecy
- Onion-Routed Networking with traffic-analysis resistance
- Voice Calls & File Transfer over the same anonymized tunnels
- Group Chat with shared symmetric session keys
- Cross-Platform GUI (PyQt6) for Windows, macOS, and Linux
- Secure Auto-Updater with cryptographic release verification
- Performance Suite (crypto, memory, network optimizers) and live metrics
- Security Toolkit (static auditor, protocol fuzzer, vulnerability scanner)
- Fully Encrypted Local Storage (SQLCipher3)
Path | Purpose |
---|---|
src/ |
Application source code (runtime packages) |
deployment/ |
Packaging, auto-update, and platform-integration tools |
docs/ |
User & developer documentation (Markdown) |
examples/ |
Demonstration scripts for major subsystems |
tests/ |
Pytest suites for crypto, networking, anonymity |
config/ |
Environment configuration files |
- GUI (
src.gui
) → captures user actions - Messaging (
src.messaging
) → encrypts & routes messages - Crypto (
src.crypto
) → Double Ratchet / group keys - Anonymity (
src.anonymity
) → onion wrapping & privacy controls - Network (
src.network
) → P2P transport via Kademlia DHT & NAT traversal - Cross-Cutting → performance monitors & security auditors
For an in-depth explanation, see
docs/developer/architecture.md
.
# 1. Clone and enter the project
$ git clone https://github.com/skizap/privatus-chat.git
$ cd privatus-chat
# 2. Create & activate a Python 3.11+ virtual environment
$ python -m venv venv
$ source venv/bin/activate # (Windows) venv\Scripts\activate
# 3. Install runtime dependencies
(venv) $ pip install -r requirements.txt
# 4. Launch the GUI
(venv) $ python launch_gui.py
# Install dev dependencies
(venv) $ pip install -r requirements-dev.txt
# Run unit tests with coverage
(venv) $ pytest -ra --cov=src --cov-report=term-missing
# Static type-checking & linting
(venv) $ mypy src/
(venv) $ pylint src/
# Build a standalone desktop package
(venv) $ python deployment/deploy.py --platform auto --sign
Demo Script | Description |
---|---|
examples/comprehensive_demo.py |
Full end-to-end feature showcase |
examples/gui_demo.py |
GUI-only walkthrough (no network) |
examples/week5_gui_demo.py |
Stand-alone UI enhancements |
examples/phase9_security_demo.py |
Security auditing & fuzzing pipeline |
Run any demo with python examples/<script>.py
.
Privatus-chat implements state-of-the-art protocols and has undergone automated static and dynamic analysis. Nevertheless, no software can be considered perfectly secure. We welcome independent audits and responsible vulnerability disclosures (see SECURITY.md
).
- Fork https://github.com/skizap/privatus-chat → create a feature branch → open a pull request.
- Follow the security-first development checklist in
CONTRIBUTING.md
. - New features must include tests and updated documentation.
- All cryptographic or networking code changes require peer review.
This project is licensed under the MIT License. See LICENSE
for details.
For questions, bug reports, or security disclosures, please open an issue on GitHub.
Built with privacy and security at its core. 🔐