“When you say I don’t care about the right to privacy because I have nothing to hide, that is no different than saying I don’t care about freedom of speech because I have nothing to say or freedom of the press because I have nothing to write.”
— Edward Snowden
A self-hostable, end-to-end encrypted messaging server written in
Rust.
Client-agnostic — build your own, or use the reference apps.
A messaging infrastructure you truly own.
All message content is encrypted on the client. The server never sees plaintext or private keys — it only stores and forwards opaque payloads.
Deploy on your own infrastructure. You control your data, your users, and your uptime. No third-party dependency.
The server exposes a documented REST + WebSocket protocol. Any application that follows the protocol can connect — no vendor lock-in.
Powered by Axum and PostgreSQL. Designed for performance, reliability, and minimal resource usage.
State-of-the-art key management using X3DH-style key exchange. Public keys are stored on the server; private keys never leave the client.
WebSocket notifies clients that something changed. The actual data is fetched via REST — no message content ever transits over WebSocket.
Security and freedom through simplicity.
Today, the vast majority of our communication goes through centralized services controlled by a small number of major platforms. That means our exchanges depend on infrastructure we do not control, exposed to data collection, commercial incentives, and, in some cases, government intervention.
Being able to communicate securely is therefore not a marginal need. It is a normal requirement. Privacy is not about hiding something shameful; it is about protecting what must remain free: our conversations, our relationships, our ideas, and our work.
A messaging service should not monitor, profile, or lock in its users. It should simply allow them to communicate freely, securely, and under their own control.
The server is client-agnostic. Reference apps are available for testing, and anyone can build their own client by following the protocol.
Reference client for iPhone and iPad, available for testing purposes.
TestingReference client for Android devices, available for testing purposes.
TestingFollow the protocol specification and build a client in any language, on any platform. The server doesn't care.
Open ProtocolThe Ludiq Secure Messenger server is live and ready for connections.
Admin username: @Ludiq
The server source code is available publicly. You can deploy your own instance on any infrastructure that supports Rust and PostgreSQL.
Source Code