Stop buying certificates. Start owning renewals.
A public TLS certificate has been free for ten years. What you are still paying for, whether you buy the certificate or not, is the renewal. At 47 days that bill arrives twelve times a year for every certificate you own.
What free already covers
Let's Encrypt is a nonprofit and charges nothing for its certificates.1 It serves more than 700 million websites and issues ten million certificates on some days.2 Its default certificate lives 90 days; a six-day option and certificates for IP addresses have been generally available since January 2026;3 wildcards are issued through the DNS challenge.1 The authority tells your client when to renew through ACME Renewal Information, and renewals driven that way are exempt from its rate limits.4 Every mainstream ACME client speaks to it: certbot, acme.sh, Caddy, cert-manager, and the ACME support built into a growing number of servers and proxies.
So for the ordinary case, a public name on a server you control, the certificate is free, the protocol is a standard, and the authority already runs on lifetimes shorter than anything the 2029 schedule requires.5
Where the purchase still makes sense
Buying is not wrong. It is a decision, and it should be made per certificate, not by habit. Keep paying, or sign privately, when one of these is true:
- OV and EV. Let's Encrypt has no plans to issue organization-validated or extended-validation certificates.1 If someone with authority over you requires the organization's name in the certificate, that is a purchase.
- S/MIME and code signing. Different certificate types, which Let's Encrypt does not issue.1
- Client certificates. Let's Encrypt dropped the client-authentication usage from its default certificates on 11 February 2026 and stopped issuing it entirely on 8 July 2026, following Chrome's requirement to split client and server authentication into separate PKIs.6 Client certificates belong to a private authority anyway: you control both ends of the connection.
- Private names and addresses. A public authority may only sign a name it has validated on the public internet,5 so
db01.internaland10.0.0.5need a private authority. - Offline networks. An air-gapped network cannot reach any public authority, so it runs its own.
- Support and scale. Let's Encrypt's limits are generous, renewals through ACME Renewal Information are exempt from them, and overrides exist, but a request takes weeks.4 If you need a phone number, that is a product, and it costs money.
What is left when the certificate is free
Here is the part the free certificate does not touch. Every item below is your job, no matter who signs.
- Knowing every certificate you have. The wildcard six teams share, the one a contractor installed, the vendor appliance with its own. Public ones show up in Certificate Transparency logs; the rest you have to go and find.
- Getting the new certificate where it runs. Renewal is not done when the file lands on disk. The load balancer, the CDN, the Kubernetes secret, the appliance and the app server each take a new certificate their own way, and each is a place the old one keeps serving.
- Proving it happened. The ticket says renewed. The endpoint says otherwise. An audit trail that records what was issued, deployed and verified, per certificate, is the difference between a renewal and a belief.
- Owning the keys. The ACME account key and every private key sit somewhere. The automation that renews all day should never be the thing that holds them.
- The exceptions. The certificates on the list above still need the same inventory, deployment and evidence, from a private authority or a paid one, in the same system as everything else.
How trstctl does it
trstctl is a self-hosted control plane for exactly the list above, and it is alpha software. It talks to Let's Encrypt as an ACME client: issue, renew and revoke, with unattended DNS validation through ten DNS providers, and it reads the authority's renewal window so renewals follow the CA's advice rather than a fixed cron.7,8,9 The same one-method issuing interface drives thirteen other authorities, commercial and private, and trstctl's own private CA, so the exceptions live in the same inventory with the same audit trail.7 The Let's Encrypt account key never leaves the isolated signer process, and every issuing request carries an idempotency key, so a retry cannot issue twice.7
Two honest limits, from the documentation. The driver does not yet ask Let's Encrypt for a specific certificate profile, so it receives the default 90-day certificate today rather than the six-day one.10 And its Let's Encrypt driver is proven against a protocol-faithful test authority, not against your account, so run it against Let's Encrypt's staging environment before you trust it with production names.8
The issuer capability matrix lists what trstctl can do with each authority, and the console demo shows the inventory on sample data.
Sources
- Let's Encrypt, FAQ: no fee; "no plans to issue OV or EV certificates"; wildcards require the DNS-01 challenge; 90-day default; email encryption and code signing "require a different type of certificate that Let's Encrypt does not issue".
- Let's Encrypt, A Note from our Executive Director, 29 December 2025.
- Let's Encrypt, Announcing Six Day and IP Address Certificate Options in 2025, with the 15 January 2026 update: "Six-day and IP address certificates are now generally available."
- Let's Encrypt, Rate Limits; IETF, RFC 9773: ACME Renewal Information.
- CA/Browser Forum, TLS Baseline Requirements, version 2.3.0: section 3.2.2.4 (domain validation) and section 6.3.2 (the validity schedule).
- Let's Encrypt, Ending TLS Client Authentication Certificate Support in 2026, 14 May 2025, updated 16 March 2026.
- trstctl documentation, Issuance and CAs: one issuing interface across 14 third-party authorities and the built-in CA; Let's Encrypt account signatures stay in the isolated signer; issuing requests carry an Idempotency-Key.
- trstctl documentation, Issuer capability matrix: the letsencrypt driver's issue, renew, revoke and unattended domain-validation support, and how it is tested.
- trstctl documentation, ACME and DNS: the DNS providers, and ACME Renewal Information.
- trstctl documentation, Limitations, "ACME certificate profiles".