aws/s2n-tls

An implementation of the TLS/SSL protocols

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Added to GitGenius on September 14th, 2026
Created on June 27th, 2014
Open Issues & Pull Requests: 306 (+0)
GitHub issues: Enabled
Number of forks: 803
Total Stargazers: 4,765 (+0)
Total Subscribers: 161 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 50.6 days
Mean response time: 654.2 days
90th percentile: 1847.0 days
Tracked items: 493

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 17% of issues opened in the past year have never received a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 50% of issues opened in the past year have been closed. Three people close 59% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 203
New in 7 days: 0
Closed in 7 days: 3
Avg open age: 1,078 days
Stale 30+ days: 189
Stale 90+ days: 173

Recent activity

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

Top labels

  • s2n-core (277)
  • priority/low (181)
  • size/medium (148)
  • size/small (118)
  • priority/medium (99)
  • size/large (58)
  • priority/high (40)
  • type/test (36)

Detailed Description

s2n-tls is a C99 implementation of the TLS/SSL protocols designed to be simple, small, fast, and security-focused.

The tool addresses the need for a lightweight, secure TLS implementation by providing a from-scratch C99 codebase that prioritizes both performance and cryptographic safety. It handles the full TLS/SSL protocol stack with an emphasis on minimizing complexity and attack surface, making it suitable for environments where resource constraints or security requirements demand careful control over the underlying cryptographic layer.

Organizations should consider s2n-tls when building systems that require direct control over TLS behavior, need to minimize dependencies, or operate in resource-constrained environments. It suits embedded systems, high-performance servers, and applications where the overhead of larger TLS libraries is unacceptable. The project provides Rust bindings alongside its C API, enabling adoption across multiple language ecosystems. Platform support spans x86_64 and aarch64 architectures across Linux distributions, BSD variants, macOS, and Windows through MSYS2, with Tier 1 guarantees for Ubuntu, Amazon Linux, NixOS, OpenBSD, FreeBSD, and macOS, and Tier 2 support for Fedora and older Ubuntu versions.

Development activity shows consistent attention to platform coverage, with active work to expand CI testing across multiple distributions and architectures. The project maintains a formal security notification process and threat model documentation, indicating mature handling of vulnerability reports. Documentation is comprehensive, including Doxygen-generated API references, a usage guide covering TLS feature configuration, and build guidance for multiple platforms. The codebase receives ongoing maintenance across diverse operating systems and toolchains, including recent work on Windows support through MinGW and AWS-LC integration.