Skip to content

BuildNot yet confirmed elsewhere1 publisher3 min readPublished

Uptime and expiry checks cannot see a certificate that was never served on your server

A publicly trusted certificate issued for your domain and hosted elsewhere leaves one trace you can read for free: the Certificate Transparency entry the issuing CA had to create.

The Engineer · Build desk

How we use AISend a correction

What happened

  • Since 2018 Chrome and Safari reject a publicly trusted certificate lacking valid SCTs, so an unlogged certificate does not work in a browser.
  • Listed issuance routes include a dangling CNAME or stale DNS record satisfying domain validation, and vendors whose control over a subdomain was never revoked.
  • crt.sh answers wildcard subdomain queries as JSON without an account; certspotter's issuance API returns one row per certificate on a free tier.

Why it matters

  • constraint No amount of probe tuning fixes this class, because both probes read a socket you already control; adding checks against your own origin buys nothing here.
  • capability You can enumerate the certificates that would work against your customers without a relationship with any CA, DNS provider, or the team that quietly delegated a subdomain.
  • exposure Every party that once proved control of a name remains a live issuance path, which makes offboarding a TLS problem and not only an access problem.
  • decision The choice is between a one-off look and keeping yesterday's output to diff against, and only the second one tells you about issuance you did not order.

Both halves of the standard TLS monitoring bundle share a vantage point. They open a connection to a host you already run and report on what that host hands back: a status code from the origin, and the `notAfter` field on the certificate your own server presents [1]. A certificate issued for a name under your domain and served from infrastructure you do not control never enters the field of view of either probe [1][2]. Neither is a tuning failure. The sensor is in the wrong place.

Certificate Transparency moves the sensor to the issuance side. Per the dev.to write-up, CT is specified in RFC 6962 as an append-only, cryptographically verifiable public record, and a CA submits each certificate it issues to independent logs, receiving a signed certificate timestamp in return [3][4]. The part that makes this dependable rather than aspirational is the browser enforcement: since 2018, Chrome, Safari and others refuse to trust a publicly trusted certificate that does not carry valid SCTs, so a certificate the CA declined to log is a certificate that fails in a browser [5]. For the case that actually costs you something, a phishing page with a working padlock, the attacker cannot opt out of the log without breaking their own tool. The set of certificates for your name that work against a victim is a subset of the set you can enumerate for free [15].

Read the issuance routes the post lists and count how many require a CA to be compromised. None do [14]. Domain validation proves control, not ownership, so answering an HTTP-01 challenge on your host or writing a TXT record in your zone is sufficient [6]. That covers a brief DNS compromise, a `CNAME` still pointing at a de-provisioned cloud resource, and a stale record left behind by a migration [7]. It also covers the contractor, the old CI pipeline and the marketing SaaS you connected a subdomain to years ago, any of which can still mint a certificate today unless that control was explicitly revoked [8]. Lookalike and adjacent names sit outside that model entirely, but they are keyed on the string in the log, so a query that watches the registrable name and its neighbours catches them [9].

The reading is cheap. `crt.sh` answers wildcard subdomain queries as JSON with no account, and certspotter's issuance API returns one row per certificate on an authenticated free tier [10][11]. The honest limit is stated in the source and worth restating: one query describes today, and says nothing about the certificate issued three weeks from now [13]. A single run is an audit. A monitor is a stored baseline plus a scheduled diff, and the difference is entirely in whether anyone keeps the previous output.

The triage that follows converts a detection problem into an inventory problem. Each row asks whether you recognise the issuer, the hostname set and the issuance date [12], which you can only answer if you know what your own teams legitimately ordered. That is where most of this work lands, and the source stops at detection: it tells you how to find the row, not what you are supposed to do about it once the certificate exists and browsers already trust it.

What to watch

  • Any change to browser SCT enforcement policy: the guarantee that browser-trusted certificates are publicly enumerable rests entirely on it.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence58
Adoption
Insufficient
Hype gap+12
Incentives55
Confidence52
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    A valid publicly-trusted certificate issued for a name under your domain but never served on your origin is invisible to conventional monitoring: the uptime check gets a 200 from the real server and the SSL-expiry monitor reads the real certificate's notAfter, so dashboards stay green.

  2. [2]

    The unifying property of the abuse cases is that the certificate is served somewhere that is not your server, so the only signal that reaches the domain owner is the log entry.

  3. [3]

    Certificate Transparency, specified in RFC 6962, is a public, append-only, cryptographically verifiable record of certificates.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · August 24, 2026

    Someone Can Get an SSL Certificate for Your Domain. CT Logs Are How You Find Out.

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

  • Phishing Infrastructure DetectionFollow
  • Domain Validation AbuseFollow
  • Certificate Transparency MonitoringFollow
  • Subdomain TakeoverFollow
  • TLS Certificate Mis-issuanceFollow
  • Monitoring Blind SpotsFollow

Entities

Loading related stories