A ctlplne studio product
21 September 2026 · 5 min read

47 days: what actually changes

The public TLS certificate is going from a yearly chore to a six-week one, and the proof that you own your domain goes from a year to ten days. This is the whole change in plain words, with the sources.

The schedule

The CA/Browser Forum is the body where certificate authorities and browser makers agree the rules for publicly trusted certificates. In April 2025 it passed ballot SC-081v3, proposed by Clint Wilson of Apple and endorsed by Sectigo, Google Chrome and Mozilla. Twenty-five certificate authorities voted yes and none voted no, and the four browser makers that voted, Apple, Google, Microsoft and Mozilla, all voted yes.1 The ballot writes a schedule into the Baseline Requirements that cuts the maximum lifetime of a certificate in three steps, and at each step also cuts how long a domain-control check may be reused.2

Certificates issued fromMaximum lifetimeDomain-control reuse
Before 15 March 2026398 days398 days
15 March 2026200 days200 days
15 March 2027100 days100 days
15 March 202947 days10 days

The first cut has already happened: a certificate issued today can live 200 days at most. The next step is less than six months away, and the last one arrives in March 2029. A quieter line in the same ballot cuts how long an authority may reuse the checks behind an organization-validated certificate, from 825 days to 398.2

Renewals in one year: a 398-day certificate is renewed once, a 47-day certificate eleven or twelve times issued3 months6 months9 months1 year 398-dayrenewed once 47-dayrenewed 11 to 12 times
One certificate, one year. Renewing at two-thirds of lifetime, as Let's Encrypt recommends, a 47-day certificate is renewed every 31 days. A 398-day certificate was renewed once.

Who it binds

The rules bind publicly trusted certificates: the ones a browser or an operating system trusts out of the box. A private certificate authority, the kind you run for the machines inside your own walls, is not bound by them and can keep issuing long-lived certificates. So why does this reach beyond the public website? Because public certificates are everywhere inside an estate: on load balancers, on internal services that carry public names, on the API gateway, on the thing a vendor set up three years ago. Every one of them is on the schedule.

The second cut: proving you own the name

Before an authority signs a certificate for api.example.com, it has to check that you control that name. That check is domain-control validation, and you pass it by publishing a token in DNS or serving one over HTTP.3 Until this year an authority could reuse a passed check for over a year. By 2029 the check is good for ten days.2

That is the part of the ballot that ends manual certificate management, more than the 47 days itself. Ten-day reuse means re-proving control several times a month, for every name, forever. Nobody does that by hand. The reasoning behind short lifetimes is the one Let's Encrypt gave when it announced six-day certificates: revocation "doesn't work very well", and a short lifetime shrinks the window in which a stolen key is useful.4

What breaks

  • Renewal becomes continuous. A 398-day certificate was renewed once a year. Let's Encrypt's guidance is to renew when a third of the lifetime is left,5 which for a 47-day certificate means every 31 days: eleven or twelve renewals a year, for every certificate you own.
  • Expiry is a hard failure. An expired certificate does not degrade. Browsers refuse the page, API clients refuse the connection, health checks go red. Twelve renewal windows a year is twelve chances to miss one.
  • The long tail is the problem, not the certificate you know about. The one on the marketing site has an owner. The one on the internal load balancer that a contractor set up, the wildcard that six teams quietly reuse, the SaaS integration that expects a client certificate: those are the ones that fail at 3 a.m.
  • Tickets stop working. A renewal that goes through a change ticket has a lead time measured in days. At ten-day validation reuse, the process is longer than the proof.

The four moves

  1. Inventory first. You cannot rotate what you cannot see. Find every certificate, tie it to an owner and an expiry, and keep that list current. Discovery is the unglamorous half of the job and the half most teams skip.
  2. Automate issuance with ACME. ACME is the protocol that lets a machine request, prove and fetch a certificate with no human in the loop; it is how Let's Encrypt works.3 Your internal authority should speak it too, so the same clients (certbot, acme.sh, Caddy, cert-manager) work everywhere. trstctl implements the authority side of ACME with all three standard challenges, so those clients can enroll against it.6
  3. Renew ahead of expiry, safely. Renew on policy, well before the deadline, and let the authority tell you when: ACME Renewal Information exists for exactly that.7 Make every operation idempotent, so a retried renewal returns the same result instead of a second certificate. trstctl requires an Idempotency-Key on every mutating request for this reason.8
  4. Keep custody while you automate. The temptation is to hand the automation the CA private keys. Don't. Put the keys in a separate signer process and let the automation orchestrate. That is a post of its own.
The date is not the point. The point is that a process built for one renewal a year has no chance at twelve, and the change is already in effect. Start with the inventory.

Sources

  1. CA/Browser Forum, Ballot SC-081v3: Introduce Schedule of Reducing Validity and Data Reuse Periods. Voting 4 to 11 April 2025.
  2. CA/Browser Forum, TLS Baseline Requirements, version 2.3.0, section 6.3.2 (validity schedule) and section 4.2.1 (validation data reuse).
  3. IETF, RFC 8555: Automatic Certificate Management Environment (ACME), sections 8.3 and 8.4.
  4. Let's Encrypt, Announcing Six Day and IP Address Certificate Options in 2025, 16 January 2025.
  5. Let's Encrypt, Integration Guide, "When to renew".
  6. trstctl documentation, ACME and DNS.
  7. IETF, RFC 9773: ACME Renewal Information (ARI).
  8. trstctl documentation, Operations: every mutation claims its idempotency key.