Study the server architecture of a production end-to-end encrypted messaging system for research or education.
Contribute bug fixes or security improvements to the open-source code that powers the real Signal service.
Use the codebase as a reference for building your own end-to-end encrypted communication backend.
Run the test suite to verify server logic before submitting a code contribution.
Requires FoundationDB installed on the host machine before building, no guided self-hosting support is provided by the project.
This repository contains the server-side software that powers Signal, the encrypted private messaging application used on Android, iOS, and desktop. Signal is known for end-to-end encryption, meaning that messages are encrypted on the sender's device and can only be decrypted by the recipient, with the server never able to read the contents. This repository is the backend that coordinates message delivery, account management, and other server-level functions between Signal's client apps. The README is intentionally minimal. It points to the official Signal documentation website for protocol details, provides a single command to build and run tests using Maven (a standard Java build tool), and directs security reports to a dedicated email address. The server depends on FoundationDB, a distributed database system developed by Apple and open-sourced, which must be installed on the host machine before building. Signal has made the server code available under the GNU AGPLv3 license, which is a strong open-source license requiring that modifications also be made available under the same terms. However, the project does not offer direct technical support for people running their own instances. Community help is available through an unofficial forum linked in the README. The README includes a standard cryptography export notice, which is a legal statement required when distributing software that contains encryption. It informs users that export laws vary by country and that they should check local regulations before using or redistributing the software. This is a routine inclusion for software of this type rather than a sign of unusual legal complexity.
← signalapp on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.