Private Chat Servers with
Email-Like Federation
Self-hosted private chat with email-like federation, powered by the open SOMFP protocol.
Early Alpha: SOMS (v0.1.0-alpha.2) is under active development — subject to breaking changes. Test environments only.
What Makes SOMS Different
Unlike heavy enterprise suites or resource-hungry federated protocols, SOMS is engineered specifically for personal servers and NAS setups — featherlight, pull-based, and zero-broker.
Cross-Domain Federation, Like Email
Like email: enter alice@example.com to add friends across servers. Group chats work seamlessly with members spanning multiple independent domains.
~200MB Server RAM with Full History Storage
No need to run external Redis, Kafka, or RabbitMQ clusters. A single clean database stack powers everything. The backend process stays around 160MB–200MB RAM, while fully storing and indexing all your chat history and media.
Durable Pull Sync for Intermittent Servers
Built specifically for home servers and personal setups. If your server reboots, undergoes maintenance, or loses broadband temporarily, it automatically pulls and catches up on all missed messages as soon as it reconnects.
Standard HTTPS Server-to-Server Transport
Server-to-server (S2S) requests travel exclusively over standard TLS/HTTPS encrypted channels. Paired with cryptographic signatures and automatic certificates, intermediate networks cannot eavesdrop or tamper with your data.
Lean Native Clients (~34MB) with Calls & Push
No bloated browser-wrapper shells. Lean native client packages (Android release package is only ~34MB) that launch instantly, complete with 1:1 voice & video calling, multi-user groups, and background push notifications on Android.
Rich Content Formats
Supports images, streaming video, voice audio, raw file transfers with progress indicators, quoted message replies, @mentions, rich link previews, and customizable avatars.
Web, Desktop & Android (iOS Deferred)
Enjoy a fast and unified experience on Web / PWA, Android, Linux, Windows, and macOS (iOS support is deferred). Read and unread states synchronize automatically across all your active devices.