Signal Server is the official backend server component that supports the Signal Private Messenger ecosystem on Android, iOS, and desktop platforms, serving as the trusted message relay, contact discovery, and push notification hub while the clients handle end-to-end encryption. Built in Java and licensed under the AGPL-3.0 license, this server software handles protocols for delivering encrypted messages, synchronizing user metadata like public keys and push tokens, and providing REST and service APIs for the client apps to interact with. Although cryptographic operations and message confidentiality are managed by the client side using the Signal Protocol, the server ensures message routing, user registration, and group updates without having access to the decrypted contents. Its codebase is public to ensure transparency and auditability for a security-focused community willing to inspect how message metadata and delivery mechanisms are implemented.
Features
- Message relay and delivery for Signal clients
- Contact discovery and public key management
- REST and backend APIs for multi-platform support
- AGPL-3.0 open source for transparency
- Integration with FoundationDB for storage
- Does not access decrypted message contents