| Version | Supported |
|---|---|
| 0.1.x | ✅ |
| < 0.1 | ❌ |
We take security seriously. If you discover a security vulnerability in SimpleX TUI, please report it responsibly.
- Go to our Security Advisories
- Click "Report a vulnerability"
- Fill out the form with details
If GitHub reporting is not possible, create a private issue or contact via GitHub.
Please provide as much information as possible:
- Description of the vulnerability
- Steps to reproduce the issue
- Affected versions
- Potential impact assessment
- Suggested fix (if any)
| Phase | Timeframe |
|---|---|
| Acknowledgment | Within 48 hours |
| Initial Assessment | Within 5 business days |
| Status Update | Every 7 days |
| Fix Development | Depends on severity |
| Public Disclosure | After fix is released |
| Severity | Description | Response |
|---|---|---|
| Critical | Remote code execution, data breach | Immediate action |
| High | Authentication bypass, privilege escalation | Priority fix |
| Medium | Information disclosure, DoS | Scheduled fix |
| Low | Minor issues, hardening | Future release |
- SimpleX TUI application code
- Build and deployment scripts
- Documentation that could lead to security issues
- Dependencies with known vulnerabilities
- Radio transport protocol implementation (v0.5.0+)
- SimpleX Chat CLI (report to simplex-chat)
- SimpleX protocol issues
- Reticulum Network Stack (report to Reticulum)
- Social engineering attacks
- Physical attacks
- Issues in user's environment
We support responsible security research. If you:
- Act in good faith
- Avoid privacy violations
- Avoid data destruction
- Do not exploit issues beyond verification
- Report promptly
We will:
- ✅ Not pursue legal action
- ✅ Work with you to understand the issue
- ✅ Credit you in the advisory (if desired)
- ✅ Keep you informed of our progress
# Keep SimpleX TUI updated
cd ~/simplex-tui
git pull
cargo build --release
# Keep SimpleX CLI updated
# Follow SimpleX Chat update instructions- Run SimpleX CLI with minimal permissions
- Use Tor for enhanced privacy
- Keep your system and dependencies updated
- Review logs for suspicious activity
- Backup your SimpleX data directory regularly
- Use encrypted storage for sensitive data
- Secure your WebSocket connection (localhost only by default)
┌─────────────────┐ WebSocket ┌─────────────────┐
│ SimpleX TUI │◄──────────────────►│ SimpleX CLI │
│ (This project) │ localhost │ (Backend) │
└─────────────────┘ └─────────────────┘
-
No Encryption Handling: SimpleX TUI does NOT handle encryption. All cryptographic operations are performed by SimpleX Chat CLI.
-
Local WebSocket: By default, WebSocket runs on localhost only. Exposing it to a network is NOT recommended.
-
No Key Storage: SimpleX TUI does NOT store or access private keys.
-
Trust Model: Security depends on SimpleX Chat CLI. We are a frontend only.
The planned radio transport layer will implement its own cryptographic stack for off-grid communication. This section documents the security model.
| Layer | Method | Purpose |
|---|---|---|
| Key Exchange | X25519 ECDH | Establish shared secret |
| Encryption | ChaCha20-Poly1305 | Authenticated encryption |
| Signatures | Ed25519 | Message authentication |
| Key Derivation | HKDF-SHA256 | Derive session keys |
| Forward Secrecy | Ephemeral session keys | Protect past communications |
- Direct implementation of cryptographic primitives in Rust
- Designed for isolated networks without mesh interoperability
- Full control over protocol behavior
- Audits and review welcome
- Uses Reticulum Network Stack encryption
- Curve25519 + AES-128 or ChaCha20
- Compatible with Nomad Network, Sideband, MeshChat
- Security depends on Reticulum implementation
- See: https://reticulum.network/manual/crypto.html
| Threat | Tor Transport | Radio Transport |
|---|---|---|
| Content interception | ✅ Protected | ✅ Protected |
| Metadata analysis | ✅ Protected | |
| Traffic analysis | ✅ Protected | |
| Direction finding | ✅ Protected | ❌ Vulnerable |
| Replay attacks | ✅ Protected | ✅ Protected |
| Man-in-the-middle | ✅ Protected | ✅ Protected |
| Infrastructure dependency | ✅ None | |
| Censorship resistance | ✅ No central point |
-
Direction Finding: Unlike Tor, radio transmissions can be located using direction-finding equipment. Users in sensitive situations should be aware of this limitation.
-
Signal Analysis: Even with encrypted content, transmission patterns (timing, frequency, duration) may reveal information about communication activity.
-
Physical Security: Radio hardware can be seized or tampered with. Consider physical security of your device.
-
Regulatory Compliance: Transmitting on certain frequencies may be illegal in your jurisdiction. Non-compliance could lead to legal consequences and confiscation of equipment.
-
Shared Spectrum: ISM bands are shared with other users. Interference is possible and your transmissions may be noticed.
┌─────────────────────────────────────────────────────────────────┐
│ Identity Key (Long-term) │
│ ├── Generated once per installation │
│ ├── Ed25519 keypair │
│ └── Used for signing and identity verification │
├─────────────────────────────────────────────────────────────────┤
│ Session Key (Ephemeral) │
│ ├── Generated per conversation session │
│ ├── X25519 ECDH exchange │
│ └── Provides forward secrecy │
├─────────────────────────────────────────────────────────────────┤
│ Message Key (Per-message) │
│ ├── Derived from session key via HKDF │
│ ├── Unique per message │
│ └── ChaCha20-Poly1305 authenticated encryption │
└─────────────────────────────────────────────────────────────────┘
-
Use Tor as Primary: Radio should be a fallback, not primary transport. Tor provides better metadata protection.
-
Limit Transmission Time: Shorter transmissions are harder to locate.
-
Vary Location: If possible, don't always transmit from the same location.
-
Verify Contacts: Use out-of-band verification for contact identity keys.
-
Monitor Spectrum: Use RTL-SDR monitoring to be aware of your RF environment.
-
Secure Hardware: Keep your radio hardware physically secure.
| Crate | Version | Audit Status |
|---|---|---|
| x25519-dalek | 2.x | ✅ Audited |
| chacha20poly1305 | 0.10.x | ✅ RustCrypto |
| ed25519-dalek | 2.x | ✅ Audited |
| hkdf | 0.12.x | ✅ RustCrypto |
| rand | 0.8.x | ✅ Audited |
-
No Custom Cryptography: We use well-established, audited cryptographic libraries.
-
Fail Secure: On any cryptographic error, the operation fails rather than falling back to insecure mode.
-
Constant Time: Cryptographic operations use constant-time implementations where available.
-
Secure Random: All random values are generated using cryptographically secure random number generators.
-
Memory Safety: Rust's memory safety guarantees help prevent common vulnerabilities.
We thank all security researchers who help improve SimpleX TUI.
No vulnerabilities reported yet. Be the first responsible disclosure!
- Security Issues: GitHub Private Vulnerability Reporting
- General Issues: GitHub Issues
Last updated: January 2026