digitalbazaar/forge

A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 32 minutes ago
Added to GitGenius on September 12th, 2026
Created on July 16th, 2010
Open Issues & Pull Requests: 462 (+0)
GitHub issues: Enabled
Number of forks: 863
Total Stargazers: 5,331 (+0)
Total Subscribers: 145 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 104.2 days
Mean response time: 486.3 days
90th percentile: 1799.1 days
Tracked items: 46

Most active contributors

Sign in to see contributor activity.

How this project is maintained

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

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 49
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,220 days
Stale 30+ days: 48
Stale 90+ days: 47

Recent activity

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

Top labels

  • bug (1)
  • question (1)

Detailed Description

Forge is a native implementation of TLS in JavaScript and a collection of cryptographic tools for building network-heavy web applications.

The project solves the problem of performing cryptographic operations and establishing secure connections entirely within JavaScript environments without relying on native bindings or server-side infrastructure. It implements the TLS protocol natively in JavaScript alongside a comprehensive suite of cryptographic primitives including AES, DES, RC2 ciphers, RSA and ED25519 key algorithms, X.509 certificate handling, PKCS standards, SHA and MD5 message digests, and HMAC. The approach bundles these capabilities into modular components that can be selectively included, with separate browser bundles available for different use cases and optional WebWorker support for computationally intensive operations.

Developers should choose Forge when building web applications that require cryptographic functionality without external dependencies or when implementing TLS connections directly in the browser. It suits projects needing certificate generation and validation, key management, or secure data handling in JavaScript environments. The tool is available through npm for Node.js and via CDN for browser use, with a build process for creating custom bundles. The project explicitly emphasizes performance, noting benchmarks against other popular JavaScript cryptography libraries.

The project maintains active development with regular updates to its codebase. Testing infrastructure spans multiple browsers including Chrome, Firefox, and Safari. The build system uses Node.js and npm with a documented process for creating both standard and minimized browser bundles. Security considerations are documented in the README, indicating ongoing attention to safe usage patterns.