signalapp/libsignal

Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 25 minutes ago
Added to GitGenius on September 11th, 2026
Created on September 12th, 2020
Open Issues & Pull Requests: 18 (+0)
GitHub issues: Enabled
Number of forks: 783
Total Stargazers: 6,012 (+0)
Total Subscribers: 90 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.4 hours
Mean response time: 29.2 days
90th percentile: 6.3 days
Tracked items: 61

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 14% of issues opened in the past year have been closed. Three people close 78% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 8
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 370 days
Stale 30+ days: 5
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • stale (11)
  • acknowledged (8)
  • awaiting release (5)

Most active issues this week

Detailed Description

libsignal is a cryptographic library that implements the Signal Protocol and supporting primitives for end-to-end encrypted messaging.

The library solves the problem of building secure messaging systems by providing battle-tested implementations of the Signal Protocol, which enables forward secrecy and break-in recovery in encrypted conversations. The Signal Protocol uses a double ratchet algorithm combined with prekeys to ensure that compromise of session keys does not expose past or future messages. libsignal packages this protocol alongside other cryptographic building blocks needed for secure messaging applications, allowing developers to integrate Signal's proven security model rather than designing their own encryption schemes.

Developers should adopt libsignal if they are building messaging applications that require strong confidentiality guarantees and want to leverage a protocol that has been deployed at scale. The library suits projects ranging from consumer messaging apps to enterprise communication platforms where end-to-end encryption is a core requirement. The Signal Protocol's design makes it particularly valuable for applications where users may be offline for extended periods or where devices are frequently added or removed from conversations, as it handles these scenarios without requiring all participants to be online simultaneously.

The project maintains active development with regular commits addressing both new features and maintenance. The codebase receives consistent updates to cryptographic dependencies and security-related changes. Pull requests are reviewed and merged regularly, indicating ongoing engagement with the codebase. The project demonstrates responsiveness to issues and maintains documentation alongside code changes. Development activity shows a pattern of sustained work rather than sporadic updates, with attention to both the core protocol implementation and the surrounding cryptographic infrastructure that makes Signal possible.