# SimpleX Chat — Context for AI Assistant ## What is SimpleX Chat? SimpleX Chat is a private and secure messaging platform. It is the first messaging platform that has no user identifiers of any kind — not even random numbers. It uses pairwise identifiers for each connection to deliver messages via the SimpleX network. ### Core Privacy Guarantees - **No user identifiers**: No phone numbers, usernames, or account IDs. Users connect via one-time invitation links or QR codes. - **End-to-end encryption**: All messages use double ratchet protocol with post-quantum key exchange (ML-KEM). Even if encryption keys are compromised in the future, past messages remain secure. - **No metadata access**: Relay servers cannot correlate senders and receivers — each conversation uses separate unidirectional messaging queues with different addresses on each side. - **Decentralized**: No central server. Messages are relayed through SMP (SimpleX Messaging Protocol) servers. Users can choose or self-host their own servers. - **Open source**: All client and server code is available on GitHub under AGPL-3.0 license. The protocol design is published and peer-reviewed. - **No global identity**: There is no way to discover users on the platform — you can only connect to someone if they share a link or QR code with you. ## Available Platforms - **Mobile**: iOS (App Store), Android (Google Play, F-Droid, APK) - **Desktop**: macOS, Windows, Linux (AppImage, deb, Flatpak) - All platforms support the same features and can be used simultaneously with linked devices ## Key Features ### Messaging - Text messages with markdown formatting - Voice messages - Images and videos - File sharing (any file type, up to 1GB via XFTP) - Message reactions and replies - Message editing and deletion - Disappearing messages (configurable per contact/group) - Live messages (recipient sees you typing in real-time) - Message delivery receipts ### Calls - End-to-end encrypted audio and video calls - Calls work peer-to-peer when possible, relayed through TURN servers otherwise - WebRTC-based ### Groups - Group chats with roles: owner, admin, moderator, member, observer - Groups can have hundreds of members - Group links for easy joining - Group moderation tools - Business chat groups for customer support ### Privacy Features - **Incognito mode**: Use a random profile name per contact — your real profile is never shared - **Multiple chat profiles**: Maintain separate identities - **Hidden profiles**: Protect profiles with a password - **Contact verification**: Verify contacts via security code comparison - **SimpleX Lock**: App lock with passcode or biometric - **Private routing**: Route messages through multiple servers to hide your IP from destination servers - **No tracking or analytics**: The app does not collect or send any telemetry ### Device & Data Management - **Database export/import**: Migrate to a new device by exporting the database (encrypted or unencrypted) - **Database passphrase**: Encrypt the local database with a passphrase - **Linked devices**: Use SimpleX on multiple devices simultaneously (mobile + desktop) - **Chat archive**: Export and import full chat history ## SimpleX Network Architecture ### SMP (SimpleX Messaging Protocol) - Asynchronous message delivery via relay servers - Each conversation uses **separate unidirectional messaging queues** - Queues have different addresses on sender and receiver sides — servers cannot correlate them - Messages are end-to-end encrypted; servers only see encrypted blobs - Servers do not store any user profiles or contact lists - Messages are deleted from servers once delivered ### XFTP (SimpleX File Transfer Protocol) - Used for large files (images, videos, documents) - Files are encrypted, split into chunks, and sent through multiple relay servers - Temporary file storage — files are deleted after download or expiry ### Server Architecture - **Preset servers**: SimpleX Chat Inc. operates preset relay servers, but they can be changed - **Self-hosting**: Users can run their own SMP and XFTP servers - **No federation**: Servers don't communicate with each other. Each message queue is independent - **Tor support**: SimpleX supports connecting through Tor for additional IP privacy ## Comparison with Other Messengers ### vs Signal - SimpleX requires no phone number or any identifier to register - SimpleX is decentralized — Signal has a central server - SimpleX relay servers cannot access metadata (who talks to whom) — Signal's server knows your contacts - Both use strong end-to-end encryption ### vs Telegram - SimpleX is fully end-to-end encrypted for all chats — Telegram only encrypts "secret chats" - SimpleX has no phone number requirement - SimpleX is fully open source (clients and servers) — Telegram server is closed source - SimpleX collects no metadata ### vs Matrix/Element - SimpleX has better metadata privacy — Matrix servers see who is in which room - SimpleX is simpler to use — no server selection or account creation - SimpleX does not use federated identity ### vs Session - SimpleX doesn't use a blockchain or cryptocurrency - SimpleX has better group support and more features - Both have no phone number requirement ## Common User Questions & Troubleshooting ### Getting Started - **How do I add contacts?** Create a one-time invitation link (or QR code) and share it with your contact. They open it in their SimpleX app to connect. Links are single-use by default for maximum privacy, but you can create reusable address links. - **Can I use SimpleX without a phone number?** Yes, SimpleX requires no phone number, email, or any identifier. Just install the app and start chatting. - **How do I join a group?** Open a group invitation link shared by the group admin, or have an admin add you directly. ### Device Migration - **How do I move to a new phone?** Go to Settings > Database > Export database. Transfer the file to your new device, install SimpleX, and import the database. Note: you should stop using the old device after export to avoid message duplication. - **Can I use SimpleX on multiple devices?** Yes, link a desktop app to your mobile app. Go to Settings > Linked devices on mobile, and scan the QR code shown in the desktop app. ### Privacy & Security - **Can SimpleX servers read my messages?** No. All messages are end-to-end encrypted. Servers only relay encrypted data and cannot decrypt it. - **Can SimpleX see who I'm talking to?** No. Each conversation uses separate queues with different addresses. Servers cannot correlate senders and receivers. - **How do I verify my contact?** Open the contact's profile, tap "Verify security code", and compare the code with your contact (in person or via another channel). - **What is incognito mode?** When enabled, SimpleX generates a random profile name for each new contact. Your real profile name is never shared. Enable it in Settings > Incognito. ### Servers - **How do I self-host a server?** Follow the guide at https://simplex.chat/docs/server.html. You need a Linux server with a public IP. Install the SMP server package and configure it. - **How do I change relay servers?** Go to Settings > Network & servers. You can add your own server addresses and disable preset servers. - **Do I need to use SimpleX's servers?** No. You can use any SMP/XFTP servers, including your own. However, you and your contacts need to be able to reach each other's servers. ### Troubleshooting - **Messages not delivering?** Check your internet connection. Try switching between WiFi and mobile data. Go to Settings > Network & servers and check server status. You can also try restarting the app. - **Cannot connect to a contact?** The invitation link may have expired or already been used. Create a new invitation link and share it again. - **App is slow?** Large databases can slow down the app. Consider archiving old chats or deleting unused contacts/groups. - **Notifications not working (Android)?** SimpleX needs to run a background service for notifications. Go to Settings > Notifications and enable background service. You may need to disable battery optimization for the app. - **Notifications not working (iOS)?** Ensure notifications are enabled in iOS Settings > SimpleX Chat. SimpleX uses push notifications via Apple's servers (notification content is end-to-end encrypted). ## Links - Website: https://simplex.chat - GitHub: https://github.com/simplex-chat - Documentation: https://simplex.chat/docs - Server setup: https://simplex.chat/docs/server.html - Protocol whitepaper: https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md - Security audit: https://simplex.chat/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html