Defaults.Exposed

One private key, 1,029,213 domains: the shared TLS certificates with the largest blast radius

The September 2026 census completed a TLS (Transport Layer Security) handshake with 212,328,093 apex domains and kept the certificate each one presented. 187,104,045 distinct certificates came back. 184,180,105 domains (86.7%) presented a certificate that no other apex in the census presented. The remaining 28,147,988 (13.3%) presented one that at least one other apex also presented, and for 64.7% of those the browser rejects it for that domain.

At the top of the distribution sits one certificate. Shopify’s storefront placeholder, issued by Cloudflare for *.myshopify.com and served from Cloudflare’s edge, is presented by 1,029,213 apex domains across 576 top-level domains, and it is authorised for none of them. The 25 most-served certificates together cover 5,148,628 domains, 2.4% of the base, and browsers accept them for 9 of those domains in total. All 25 are placeholders: a hosting company’s wildcard for its own domain, a site builder’s default, or a self-signed certificate that shipped with the web server. Certificates that carry their presenting domains’ own names, the kind a content delivery network issues, don’t appear near the top at all: none of the 1,000 most-served certificates, each presented by at least 1,279 apexes, is accepted by the browser for more than 5.2% of the domains presenting it.

What a shared certificate is, and why its reach matters

A TLS certificate binds a public key to a list of names. The private half of that key sits on whatever server or edge answers for those names, and the certificate lists the names it can answer for in its subject alternative name field, the SAN list. When a scanner connects to two different apex domains and both hand back a certificate with the same SHA-256 fingerprint, they’re presenting the same certificate, and so the same private key.

That is normal. A hosting company’s server hands its default certificate, sometimes self-signed and sometimes a wildcard for the company’s own domain, to each domain parked on it that was left unconfigured. A site builder serves its own certificate to each storefront that hasn’t finished pointing its domain. An edge network terminates TLS for its customers and holds their keys. In each case the domain owner didn’t generate the key, can’t see it, and can’t rotate it.

The reach of one key is the point. Whoever holds it can present that certificate for every name on the list, and if it leaks, each of those names can be impersonated until the certificate is revoked or expires. With TLS 1.3, forward secrecy means a leaked key doesn’t expose recorded traffic, so impersonation is the whole risk. If the operator lets the certificate lapse, misissues it or has it revoked, all the names on it go down together. Certificate transparency logs and issuance studies count what was issued. They can’t say what a browser connecting to a given apex was handed on the day, and that is what the census measures.

Three kinds of sharing

The census separates three patterns, because they mean different things for the site owner.

The first is the hosting default: the provider’s own wildcard certificate, or a certificate for the server’s own hostname, served to each domain that resolves to that machine without a configured site of its own. The browser rejects it, because the domain’s name isn’t on it.

The second is the site-builder or commerce default: a platform’s own certificate, for the platform’s own domain, served to a customer apex that points at the platform but has no certificate of its own there yet. The browser rejects this too.

The third is the generic self-signed placeholder: the certificate the web server generated at install time, with an issuer like Internet Widgits Pty Ltd or a common name of localhost, and often no names at all. No one chose it: it’s what answers when a port was left open.

A fourth pattern, one certificate carrying several customers’ own names at a CDN edge, is one the browser accepts. At the apex the census rarely met it, as the section on Cloudflare-fronted domains below shows.

How many apexes present the same certificate

Each domain in the base sits in one row of this table, by how many apexes in the census presented the same certificate it did. “Browser rejects it” means the scanner’s TLS library, applying the same test a browser does, refused the certificate for that domain.

Apexes presenting the same certificateCertificatesDomainsShare of the baseBrowser rejects it
1 (its own)184,180,105184,180,10586.7%2.6%
2 to 102,682,8747,883,5453.7%24.0%
11 to 100231,3456,026,3002.8%35.6%
101 to 1,0008,5242,075,0811.0%97.5%
1,001 to 10,0001,0082,956,9731.4%99.9%
10,001 or more1899,206,0894.3%100.0%

The table has two halves. In the 2 to 10 and 11 to 100 bands the browser accepts the certificate for most domains: these are working multi-name certificates with each presenting domain’s own name on them. From 101 apexes upward the shared certificate is almost always a placeholder. 189 certificates are each presented by more than 10,000 apexes. Between them they cover 9,206,089 domains, 4.3% of the base, and browsers accept them for 65 of those domains.

Stacked bar chart of the 28,147,988 domains on a shared certificate, by how many apexes share it. 2 to 10: 7,883,545 domains, rejected for 24.0%. 11 to 100: 6,026,300, rejected for 35.6%. 101 to 1,000: 2,075,081, rejected for 97.5%. 1,001 to 10,000: 2,956,973, rejected for 99.9%. 10,001 or more: 9,206,089, rejected for 100.0%.

Figure 1. Domains on a shared certificate, by how many apexes present that certificate, split into domains the browser accepts it for and domains it rejects it for. The 184,180,105 domains on a certificate of their own are left out.

The split by top-level domain type is small. 12.8% of gTLD domains and 14.2% of ccTLD domains present a shared certificate. Among those, the browser accepts the certificate for 31.2% of the gTLD domains and 43.0% of the ccTLD domains, so the ccTLDs carry a little less placeholder and a little more working multi-name certificate.

What Cloudflare-fronted domains present

43,717,869 domains in the base, 20.6%, answered with a cf-ray header, which marks a response that came through Cloudflare. 97.5% of them presented a certificate that no other apex presented. Only 1,081,884 sat on a shared certificate, and 1,029,208 of those are the Shopify placeholder. For 42,571,976 of them (97.4%), all the names on the certificate sat under the domain’s own apex and the browser accepted it, and 72.5% carried a wildcard name. For these domains the TLS connection ends at Cloudflare’s edge, which is where the key is used, and the certificate itself names no other customer.

How many names one certificate carries

The same base, grouped by the number of DNS (Domain Name System) names in the presented certificate’s SAN list. A certificate with no SAN entry at all is a placeholder by definition: no modern browser accepts a certificate for a name that isn’t in the SAN list.

Names on the certificateDomainsShare of the basegTLDccTLDBrowser rejects itNames outside the domain’s own apex
None3,506,7801.7%1.8%1.4%100.0%0.0%
171,869,68933.8%37.7%25.7%6.4%4.7%
2 to 10128,435,28060.5%56.5%68.9%10.6%12.6%
11 to 1008,371,0333.9%4.0%3.9%16.6%98.0%
More than 100145,3110.1%0.1%0.1%34.6%100.0%

Most of the HTTPS (Hypertext Transfer Protocol Secure) internet runs on small certificates: 60.5% of domains present one with two to ten names, and another 33.8% present one with a single name. In the two to ten band, 87.4% of domains present a certificate on which all the names are the domain itself or names under it. The large SAN pack is rare at the apex. 145,311 domains, 0.1% of the base, present a certificate with more than 100 names, and the browser rejects that certificate for 34.6% of them.

Stacked bar chart of the base by the number of names on the presented certificate. None: 3,506,780 domains, rejected for 100.0%. One name: 71,869,689, rejected for 6.4%. 2 to 10: 128,435,280, rejected for 10.6%. 11 to 100: 8,371,033, rejected for 16.6%. More than 100: 145,311, rejected for 34.6%.

Figure 2. Domains by the number of DNS names on the certificate they present, split into domains the browser accepts it for and domains it rejects it for.

Wildcards are common. 71,675,949 domains (33.8%) present a certificate with at least one wildcard name, 34.1% of gTLD domains and 33.0% of ccTLD domains. Only 603,203 (0.3%) present one on which all the names are wildcards.

Wildcards by issuer

The ten certificate authorities serving the most domains account for 96.5% of the base. Each row’s shares are of that issuer’s own domains. “Browser rejects it” for an issuer means its certificate was presented by a domain it isn’t valid for, which is a statement about where the certificate ended up, and says nothing about the issuer.

IssuerDomainsShare of the baseWildcard name on the certificateBrowser rejects itNames outside the domain’s own apex
Let’s Encrypt118,359,95755.7%27.0%6.9%12.6%
Google Trust Services39,692,52818.7%68.2%0.2%5.0%
GoDaddy, including Starfield25,419,77912.0%0.7%1.3%1.2%
Sectigo, including Comodo8,984,2094.2%59.8%43.9%41.0%
DigiCert, including GeoTrust, Thawte and RapidSSL4,951,9962.3%34.4%41.0%39.9%
ZeroSSL2,316,4091.1%14.2%7.2%9.8%
Amazon1,575,0800.7%57.7%11.4%30.0%
GlobalSign1,294,8380.6%60.9%62.3%60.6%
Actalis1,113,5570.5%97.5%5.9%5.6%
Cloudflare1,092,3690.5%99.3%100.0%99.1%

GoDaddy’s certificates almost never carry a wildcard (0.7%), and the browser accepts them for 98.7% of the domains presenting them. Google Trust Services certificates carry one for 68.2% of the domains presenting them and are accepted for 99.8%. Sectigo and DigiCert sit in the middle on wildcards and much lower on acceptance, rejected for 43.9% and 41.0% of their domains. 14 of the 25 certificates in the table further down, presented by 2,547,550 domains between them, were issued by one of the two. Cloudflare’s own issuing authority is at 99.3% wildcard and 100.0% rejected, and the Shopify placeholder alone accounts for 94.2% of its domains.

Bar chart of the share of each issuer's certificates carrying a wildcard name: Let's Encrypt 27.0%, Google Trust Services 68.2%, GoDaddy 0.7%, Sectigo 59.8%, DigiCert 34.4%, ZeroSSL 14.2%, Amazon 57.7%, GlobalSign 60.9%, Actalis 97.5%, Cloudflare 99.3%, with each issuer's domain count and rejected share beside it.

Figure 3. Wildcard share for the ten issuers serving the most domains, with each issuer’s domains and the share of them the browser rejects the certificate for.

Beyond the ten, 3,597,479 domains (1.7%) present a certificate with no recognisable issuer at all: an empty issuer field, or a placeholder organisation like Internet Widgits Pty Ltd, Plesk, or a control panel’s name. The browser rejects the certificate for 99.7% of them.

The 25 certificates presented by the most apex domains

Each row is one certificate, identified by its SHA-256 fingerprint, labelled by the platform its own issuer, common name and server header identify. No customer name appears in the table, and the platform label says who served the certificate; it says nothing about who owns the domains presenting it. The issuer column gives the certificate authority’s family name, or, for a self-signed certificate, the organisation the certificate itself names. Where the common name is a hosting company’s infrastructure domain, such as kasserver.com, web-hosting.com, dadapro.com, your-server.de, domainparking.ru, hostingplatform.com, turbifysites.com or stackcp.com, the label also names the company that operates that domain, which is public knowledge of who runs it and the one step this page takes beyond the certificate’s own fields.

#CertificateIssuerNamesApex domainsTLDsBrowser rejects it
1Shopify storefront default (*.myshopify.com, served from Cloudflare’s edge)Cloudflare21,029,213576100.0%
2All-Inkl.com hosting default (*.kasserver.com)Sectigo2430,121441100.0%
3Namecheap shared-hosting default (*.web-hosting.com)Sectigo2363,716612100.0%
4Squarespace default (*.squarespace.com)DigiCert14342,151580100.0%
5OpenSSL self-signed placeholder (issuer ‘Internet Widgits Pty Ltd’, no names)Internet Widgits Pty Ltd0327,734322100.0%
6Dada group hosting default (*.dadapro.com; Register.it, Nominalia, Amen)Sectigo2260,042499100.0%
7one.com hosting default (*.one.com)Let’s Encrypt2237,940406100.0%
8DreamHost default (sni.dreamhost.com, self-issued)New Dream Network LLC dba Dreamhost0237,860573100.0%
9HostGator default (*.hostgator.com)DigiCert2171,178526100.0%
10nginx self-signed placeholder (issuer ‘MyCompany Inc.’, CN ‘default’)MyCompany Inc.0157,6035100.0%
11vdx.nl shared-hosting default (*.vdx.nl)Sectigo2156,514376100.0%
12Sakura Internet default (*.sakura.ne.jp, 64 names)Gehirn Inc.64132,476248100.0%
13Hetzner default (*.your-server.de)DigiCert2127,009490100.0%
14REG.RU domain-parking default (*.domainparking.ru)GlobalSign2115,07262100.0%
15Crazy Domains hosting default (*.crazydomains.com)Sectigo2113,720348100.0%
16Web.com / Network Solutions hosting default (*.hostingplatform.com)Sectigo2111,404367100.0%
17Bluehost default (*.bluehost.com)Sectigo2107,629476100.0%
18Beget hosting default (beget.com)Let’s Encrypt2106,839232100.0%
19Turbify sites default (*.turbifysites.com, formerly Yahoo Small Business)DigiCert2100,911187100.0%
20Bizland hosting default (*.bizland.com)Sectigo295,619442100.0%
21‘localhost’ self-signed placeholder (Apache and CentOS builds)localhost088,097201100.0%
22‘localhost.localdomain’ self-signed placeholder (issuer ‘SomeOrganization’)SomeOrganization084,70238100.0%
2320i StackCP hosting default (*.stackcp.com)DigiCert283,782427100.0%
24Hostpoint hosting default (*.hostpoint.ch)Sectigo283,754425100.0%
25WordPress.com default (wordpress.com and *.wordpress.com)Let’s Encrypt283,542484100.0%

By class, 17 of the 25 are a hosting provider’s own certificate, served to 2,934,675 domains (57.0% of the top-25 total). 4 are a site builder’s or commerce platform’s own certificate, on 1,555,817 domains (30.2%). 4 are generic self-signed placeholders with no provider on them at all, on 658,136 domains (12.8%). None of the 25 is a certificate that carries its presenting domains’ names.

Bar chart of the 25 certificates presented by the most apex domains, from Shopify storefront (*.myshopify.com) at 1,029,213 down to WordPress.com (wordpress.com) at 83,542, each marked as a hosting provider's own certificate, a site builder's, or a self-signed placeholder.

Figure 4. The 25 most-served certificates, by the apex domains presenting each. The shape beside each bar marks its class: a circle for a hosting provider’s own certificate, a square for a site builder’s, a triangle for a self-signed placeholder.

Two rows show the range. The Shopify placeholder is served for 1,029,213 apexes in 576 TLDs, 910,942 of them gTLD and 118,271 ccTLD: each is a domain pointed at Shopify’s edge with no certificate of its own there, and the browser rejects the certificate for each of them. The nginx placeholder at row 10 is served for 157,603 apexes in 5 TLDs, 97.6% of them under .xyz.

The row-1 certificate is what 1,029,213 apexes hand a visitor, and the row-2 certificate is what 430,121 do. Both certificates name the platform as their subject, and none of the domains presenting them can rotate either key.

By top-level domain

The twelve TLDs with the most domains in the base. “Shared” is the share of that TLD’s domains presenting a certificate that at least one other apex, in any TLD, also presents; “1,001 or more” narrows that to certificates presented by more than a thousand apexes.

TLDDomains in the baseShared certificateCertificate shared by 1,001 or more apexesBrowser rejects the certificate
.com99,672,80312.5%5.7%10.5%
.de8,964,02515.8%6.3%17.1%
.org6,717,90513.4%5.3%10.3%
.xyz6,377,3947.0%5.2%6.9%
.net6,019,12316.6%7.7%14.9%
.uk5,347,25610.1%3.2%6.2%
.ru3,275,25317.2%10.9%18.4%
.br3,185,8468.0%2.6%8.1%
.nl3,176,01423.5%6.7%14.4%
.cn3,173,49425.3%6.0%14.0%
.fr2,518,34513.0%3.9%7.5%
.top2,512,56515.8%6.5%12.8%

The spread is wide. In .cn, 25.3% of domains present a shared certificate, and in .nl 23.5%; in .xyz it’s 7.0% and in .br 8.0%. What sits on those shared certificates varies as much. Among the domains on a shared certificate, the browser accepts it for 54.1% in .cn, 52.4% in .br, 52.3% in .fr and 52.1% in .uk, against 15.2% in .xyz and 13.0% in .ru.

A key you don’t hold

28,147,988 domains, 13.3% of the base, present a certificate that at least one other apex presents, so the private key behind their HTTPS sits behind other apexes’ HTTPS too. For 18,216,873 of them (64.7%) the browser rejects that certificate: HTTPS is switched on, and what answers is a certificate for the platform’s own name, or for no name at all. For the other 9,931,115 (35.3%) it works: their name is on a certificate alongside other apexes, and the key sits with whoever terminates TLS for all of them.

A second count, made inside each certificate instead of across the census, lands close by. 27,895,332 domains (13.1%) present a certificate that names at least one thing outside their own apex. For 12,327,130 of those (44.2%) their own name is on it too, so the certificate is a working multi-name one. For the other 15,568,202, it isn’t.

Seen from the other side, 23,068,965 domains (10.9%) present a certificate the browser rejects, and 67.5% of those present one carrying somebody else’s names, so most of the internet’s broken HTTPS is someone else’s certificate. The remaining 7,500,763 is a certificate with no names at all, or one whose names all sit under the domain’s own apex and which fails for another reason, such as expiry, a self-signed chain, or a www-only name that doesn’t cover the apex. The TLS pillar walks through the browser warning each of those produces.

What the census can and can’t see

See your own

The free scan connects to your apex the same way the census did and checks whether the certificate it was handed is valid and trusted for your domain. HSTS covers what to set once the certificate is right, and how the domains were counted explains the census states behind this page’s base.

Figures as of 5 September 2026, from the September 2026 edition of the defaults.exposed census. Census numbers move every month; the current values are on the data page.