Boulder is an ACME-based certificate authority written in Go that implements the ACME protocol to automate certificate issuance and revocation.
Boulder solves the problem of building a scalable, secure certificate authority by separating concerns across multiple components with distinct security contexts. The system divides functionality into Web Front Ends, Registration Authority, Validation Authority, Certificate Authority, Storage Authority, Publisher, and CRL Updater. This component model allows internet-facing services to be isolated from those requiring higher security. The tool models its logic around five ACME resource types—accounts, authorizations, challenges, orders, and certificates—and uses gRPC for inter-component communication, enabling components to run remotely when needed.
Boulder is the software powering Let's Encrypt and suits organizations building their own ACME-based certificate authorities or those needing to understand how a production CA operates. The project provides Docker Compose setup for development and experimentation, though this is not suitable for production deployment. For ACME client developers doing quick testing or continuous integration, the README recommends Pebble as a lighter alternative.
The project maintains a substantial base of adopters who report issues from real-world use rather than the core team driving the issue tracker. Maintainers respond to new issues and pull requests within a few days. Work in the issue tracker centers on starter tasks, feature requests, and registration authority concerns.