Digital exposure report
google.com
Critical findings in the observed public configuration. Some basic protections were not detected.
Scanned: 2026-11-15 19:22 UTC
Partial coverage: the score is based on 95% of applicable check weight. 1 unverified check(s) are excluded, not counted as failures.
What to do first
- 1.
Tell browsers to always use the secure version
Helps browsers use HTTPS on future visits after they have received the policy.
Who can fix it: Your web host
How to verify after the fix
curl -sIL https://google.com/ | grep -i "Strict-Transport-Security"
- 2.
Limit what scripts your pages are allowed to run
This adds one layer of protection against injected scripts.
Who can fix it: Your website developer or web host
How to verify after the fix
curl -sIL https://google.com/ | grep -i "Content-Security-Policy"
A starting point, not a security guarantee.
What this grade means
- Tested hostname
- google.com
- Website request
- GET https://google.com/ → https://www.google.com/sorry/index?continue=https://google.com/&q=EgRoF_OYGPmM6NcGIikCrHjqs5WZA60_jqktPp2aa_QhNMJLURrK-drsm6ufM6E4ehYBFwvUrTICclJaAUNg2ufznv7M6Ntt
- Scan time
- 2026-11-15 19:22:33 UTC
- Grading method
- Version 2How grading works
- Unverified or excluded checks
- DKIM — digital signature on email · Not detected (common selectors only)
This is a snapshot of the public configuration checks listed in this report. It does not verify the site's owner, business legitimacy, application security, or absence of vulnerabilities. It is not a security certification.
Score by category
| Email security | 24/25 | Spoofing email from this domain is hard. |
| Encryption & certificate | 18/25 | Encryption is in place, but a gap could expose users. |
| Browser protections | 0/30 | Several browser hardening headers are missing, which removes layers of protection against script injection and framing. |
| DNS infrastructure | 8/15 | The domain's infrastructure works, but recommended hardening is missing. |
Fix priorities
- 1.HighHSTS — enforce encryption in the browser · Hardening gap+8
- 2.HighHTTP → HTTPS redirect · Hardening gap+7
- 3.MediumClickjacking protection · Hardening gap+5
- 4.MediumDNSSEC — signed DNS records · Hardening gap+7
- 5.MediumCSP — protection from script injection · Hardening gap+8
- 6.LowX-Content-Type-Options · Hardening gap+4
- 7.LowReferrer-Policy · Hardening gap+3
- 8.LowPermissions-Policy · Hardening gap+2
To verify
Couldn't be confirmed from public data, so excluded from the score. Checking them clarifies your posture; it doesn't guarantee a score change.
- DKIM — digital signature on email
Findings
SPF — who may send mail for the domain
Passed · Severity: OK · 9/10An authorized sender list is defined; mail from other servers is flagged as suspicious.
~all (softfail) — acceptable when combined with enforced DMARC. 1 of 10 DNS lookups.
v=spf1 include:_spf.google.com ~all
$ dig +short TXT google.com
DMARC — anti-spoofing policy
Passed · Severity: OK · 15/15Forged email in the company's name is blocked by mail servers.
Policy p=reject.
v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com
$ dig +short TXT _dmarc.google.com
DKIM — digital signature on email
Not detected (common selectors only) · Severity: OK · Not scoredNo DKIM key was found under the common selectors we probed. That doesn't mean DKIM is missing — selectors can't be listed from public DNS. Not scored.
A missing name for a probed selector (NXDOMAIN/NODATA) only means that selector isn't published. DKIM is marked unverified and excluded from the score. Check a sent message's Authentication-Results for dkim=pass and its s= selector.
Selectors checked: google, selector1, selector2, default, k1, s1, s2, dkim, mail, smtp — no key found google._domainkey: nxdomain selector1._domainkey: nxdomain selector2._domainkey: nxdomain default._domainkey: nxdomain k1._domainkey: nxdomain s1._domainkey: nxdomain s2._domainkey: nxdomain dkim._domainkey: nxdomain mail._domainkey: nxdomain smtp._domainkey: nxdomain
$ dig +short TXT google._domainkey.google.com
MX — inbound mail routing
Passed · Severity: OK · unscoredMail exchangers are published for the domain.
1 MX record(s). This shows where inbound mail is routed, not whether mail is sent from the domain.
10 smtp.google.com
$ dig +short MX google.com
HTTPS available
Passed · Severity: OK · 10/10The site loads over an encrypted connection.
https://google.com/ returned HTTP 429 (final URL: https://www.google.com/sorry/index?continue=https://google.com/&q=EgRoF_OYGPmM6NcGIikCrHjqs5WZA60_jqktPp2aa_QhNMJLURrK-drsm6ufM6E4ehYBFwvUrTICclJaAUNg2ufznv7M6Ntt). Client-side certificate validation passed.
HTTP 429 Final URL: https://www.google.com/sorry/index?continue=https://google.com/&q=EgRoF_OYGPmM6NcGIikCrHjqs5WZA60_jqktPp2aa_QhNMJLURrK-drsm6ufM6E4ehYBFwvUrTICclJaAUNg2ufznv7M6Ntt
$ curl -sIL https://google.com/
HTTP → HTTPS redirect
Failed · Severity: High · Hardening gap · 0/7The site is also reachable over an unencrypted connection, so data may travel in plain text on public networks.
http://google.com/ returned HTTP 302 without redirecting to https:// (Location: http://www.google.com/sorry/index?continue=http://google.com/&q=EgRoF_OYGPmM6NcGIik1m_X90r6m_RkB9L-HyZzEYSzcV2J8J6B8eGvDllO9od6Z9er2Iuw5BzICclJaAUNgrNObweLFtvreAQ).
HTTP 302 Location: http://www.google.com/sorry/index?continue=http://google.com/&q=EgRoF_OYGPmM6NcGIik1m_X90r6m_RkB9L-HyZzEYSzcV2J8J6B8eGvDllO9od6Z9er2Iuw5BzICclJaAUNgrNObweLFtvreAQ
$ curl -sI http://google.com/ | grep -iE "^(HTTP|location)"
- Set up a permanent (301) redirect from every HTTP request to HTTPS on the server or CDN.
- Then add an HSTS header.
server {
listen 80;
server_name google.com www.google.com;
return 301 https://$host$request_uri;
}Safety: This change is made on your server. Make sure HTTPS works first, otherwise the site won't load.
SSL/TLS certificate validity
Passed · Severity: OK · 8/8The certificate was accepted by a validating TLS client at scan time.
Live TLS handshake succeeded. Latest issuance in CT logs: Google Trust Services, expiring 2026-12-31 (45 days). CT shows issued certificates, not necessarily the one served — confirm dates with the verify command.
Live TLS handshake: certificate accepted CT logs (context only, not scored): Issuer: Google Trust Services Valid from: 2026-10-02 Valid until: 2026-12-31 Names: *.aistudio.google.com, *.android.com, *.appengine.google.com, *.bdn.dev, *.cloud.google.com, *.crowdsource.google.com Based on Certificate Transparency logs; may not reflect the certificate currently served.
$ echo | openssl s_client -connect google.com:443 -servername google.com 2>/dev/null | openssl x509 -noout -issuer -dates
HSTS — enforce encryption in the browser
Failed · Severity: High · Hardening gap · 0/8Browsers aren't told to always use an encrypted connection, enabling interception attacks on public networks.
No Strict-Transport-Security header. Users are exposed to SSL stripping on the first request.
Strict-Transport-Security: (missing)
$ curl -sIL https://google.com/ | grep -i "Strict-Transport-Security"
- Start with a short max-age (300 seconds) and make sure every subdomain works over HTTPS.
- Gradually raise it to 31536000 (one year) and add includeSubDomains.
- Consider preload only once the policy is stable — removal from the preload list is slow.
/* Strict-Transport-Security: max-age=31536000; includeSubDomains
Safety: This change is made in your server/CDN settings. Test on staging before production. HSTS is cached in the visitor's browser — a long max-age on a site without working HTTPS will block access.
CSP — protection from script injection
Failed · Severity: Medium · Hardening gap · 0/8Missing Content-Security-Policy header: this removes one layer of protection against script injection.
No Content-Security-Policy header found.
Content-Security-Policy: (missing)
$ curl -sIL https://google.com/ | grep -i "Content-Security-Policy"
- First publish Content-Security-Policy-Report-Only — it blocks nothing, it only reports.
- Collect violations for a week or two and tune the policy to your legitimate sources.
- Switch to the Content-Security-Policy header and replace 'unsafe-inline' with a nonce or hash.
/* Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'
Safety: This change is made in your server/CDN settings. Test on staging before production. An overly strict CSP will break scripts — that's why you start in Report-Only mode.
Clickjacking protection
Failed · Severity: Medium · Hardening gap · 0/5Missing X-Frame-Options / frame-ancestors: this removes one layer of protection against clickjacking.
No valid X-Frame-Options and no frame-ancestors in the CSP.
X-Frame-Options: (missing)
$ curl -sIL https://google.com/ | grep -i "X-Frame-Options"
- Add X-Frame-Options: SAMEORIGIN (or DENY if the site is never embedded anywhere).
- Also set frame-ancestors in the CSP — the modern alternative.
/* X-Frame-Options: SAMEORIGIN
Safety: This change is made in your server/CDN settings. Test on staging before production. If partners embed the site in an iframe, add them to frame-ancestors instead of using DENY.
X-Content-Type-Options
Failed · Severity: Low · Hardening gap · 0/4The browser may interpret files as code unintentionally.
Missing X-Content-Type-Options: nosniff header (MIME sniffing).
X-Content-Type-Options: (missing)
$ curl -sIL https://google.com/ | grep -i "X-Content-Type-Options"
- Add X-Content-Type-Options: nosniff to every response.
/* X-Content-Type-Options: nosniff
Safety: This change is made in your server/CDN settings. Test on staging before production.
Referrer-Policy
Failed · Severity: Low · Hardening gap · 0/3Internal URLs (including parameters) may leak to external sites.
Referrer-Policy is missing; the browser will use its default.
Referrer-Policy: (missing)
$ curl -sIL https://google.com/ | grep -i "Referrer-Policy"
- Set Referrer-Policy: strict-origin-when-cross-origin.
/* Referrer-Policy: strict-origin-when-cross-origin
Safety: This change is made in your server/CDN settings. Test on staging before production.
Permissions-Policy
Needs attention · Severity: Low · Hardening gap · 0/2Access to sensitive features like the camera and location isn't restricted.
Missing Permissions-Policy header.
Permissions-Policy: (missing)
$ curl -sIL https://google.com/ | grep -i "Permissions-Policy"
- Disable browser features the site doesn't need (camera, microphone, geolocation).
/* Permissions-Policy: camera=(), microphone=(), geolocation=()
Safety: This change is made in your server/CDN settings. Test on staging before production. Don't disable a feature the site actually uses.
Software version disclosure
Passed · Severity: OK · unscoredThe server doesn't disclose software versions.
No version numbers found in the Server / X-Powered-By headers.
server: cloudflare x-powered-by: (missing)
$ curl -sIL https://google.com/ | grep -iE "^(server|x-powered-by)"
DNSSEC — signed DNS records
Needs attention · Severity: Medium · Hardening gap · 0/7The domain's records aren't signed, so in some scenarios users could be redirected to a forged server.
No DS record is published at the parent zone, so there's no DNSSEC chain of trust for this zone.
AD = false DS google.com: NODATA
$ dig +short DS google.com
- Enable DNSSEC at your DNS provider (one click at most providers).
- Copy the DS record your provider generates to your domain registrar.
- Wait for propagation and verify with DNSViz.
dig +dnssec google.com SOA delv google.com
Safety: DNS changes are made only at your DNS provider. This tool only reads public data and changes nothing on the domain. A wrong DS record at the registrar will make the domain stop resolving — copy it exactly from the provider.
CAA — who may issue certificates
Passed · Severity: OK · 5/5Only authorized certificate authorities can issue certificates for the domain.
CAA records: 0 issue "pki.goog"
0 issue "pki.goog"
$ dig +short CAA google.com
DNS server redundancy
Passed · Severity: OK · 3/3The domain is served by several DNS servers, so one server failing won't take it down.
4 NS servers.
ns4.google.com ns2.google.com ns1.google.com ns3.google.com
$ dig +short NS google.com
Indicative alignment
Best-practice mapping of public findings to common frameworks. Passive scanning tests public configuration only; it doesn't prove compliance or a violation.
- Google & Yahoo sender rules1 unverified
- PCI DSS v4.04 observed gaps
- NIS2 / vendor due diligence2 observed gaps
- SOC 2 / ISO 27001 baseline4 observed gaps
Indicative alignment only, based on public configuration. It doesn't establish whether a framework applies to you, and it isn't legal advice, an audit or a certification.
Public DNS records
| A | google.com | 172.217.71.138 | 172.217.71.101 | 172.217.71.113 | 172.217.71.102 | 172.217.71.100 | 172.217.71.139 |
| AAAA | google.com | 2607:f8b0:4023:142f::71 | 2607:f8b0:4023:142f::8a | 2607:f8b0:4023:142f::8b | 2607:f8b0:4023:142f::65 |
| MX | google.com | 10 smtp.google.com |
| NS | google.com | ns4.google.com | ns2.google.com | ns1.google.com | ns3.google.com |
| TXT | google.com | globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8= | cisco-ci-domain-verification=47c38bc8c4b74b7233e9053220c1bbe76bcc1cd33c7acf7acd36cd6a5332004b | docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e | v=spf1 include:_spf.google.com ~all | Z29vZ2xl | _r4rd1pvwyrpi7sw4a3hzmw8e51yh9td | onetrust-domain-verification=6d685f1d41a94696ad7ef771f68993e0 | onetrust-domain-verification=0d477fe608074e6f9c12bca7826035cc | docusign=1b0a6754-49b1-4db5-8540-d2c12664b289 | work-accounts-domain-verification=Tcj6JjIMZOw2KsSEw2Nt2rLae89tN6 | google-site-verification=wD8N7i1JTNTkezJ49swvWW48f8_9xveREV4oB-0Hf5o | facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95 | arcules-domain-verification=2R4t5G7nI6tRCo61lpxxbLksPYstxhGmtV75cpr8x9K | google-site-verification=TV9-DBe4R80X4v0M4U_bd_J9cpOJM0nikft0jAgjmsQ | google-site-verification=4ibFUgB-wXLQ_S7vsXVomSTVamuOXBiVAzpR5IZ87D0 | apple-domain-verification=30afIBcvSuDV2PLX | MS=E4A68B9AB2BB9670BCE15412F62916164C0B20BB |
| TXT | _dmarc.google.com | v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com |
| CAA | google.com | 0 issue "pki.goog" |
| DS | google.com | — |