Digital exposure report
mozilla.org
Good shape, with a few gaps worth closing this quarter.
Scanned: 2026-11-15 19:22 UTC
Full coverage: every applicable check was assessed.
What to do first
- 1.
Turn on DNS signing for your domain
Signing helps resolvers detect forged answers about your domain.
Who can fix it: Your domain registrar or DNS provider
How to verify after the fix
dig +short DS mozilla.org
- 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://mozilla.org/ | grep -i "Content-Security-Policy"
A starting point, not a security guarantee.
What this grade means
- Tested hostname
- mozilla.org
- Website request
- GET https://mozilla.org/ → https://www.mozilla.org/
- Scan time
- 2026-11-15 19:22:34 UTC
- Grading method
- Version 2How grading works
- Unverified or excluded checks
- None. Every applicable check was assessed.
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 | 29/30 | Spoofing email from this domain is hard. |
| Encryption & certificate | 25/25 | Traffic to the site is encrypted and the certificate is valid. |
| Browser protections | 24/30 | The site instructs browsers to block common attacks. |
| DNS infrastructure | 8/15 | The domain's infrastructure works, but recommended hardening is missing. |
Fix priorities
- 1.MediumDNSSEC — signed DNS records · Hardening gap+7
- 2.LowPermissions-Policy · Hardening gap+2
- 3.LowCSP — protection from script injection · Hardening gap+3
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. 4 of 10 DNS lookups.
v=spf1 include:%{i}._ip.%{h}._ehlo.%{d}._spf.vali.email include:_spf.mozilla.com include:_spf.google.com include:spf.fundraiseup.com ~all$ dig +short TXT mozilla.org
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; pct=100; adkim=r; aspf=r; rua=mailto:dmarc_agg@vali.email,mailto:dmarc@mozilla.com
$ dig +short TXT _dmarc.mozilla.org
DKIM — digital signature on email
Passed · Severity: OK · 5/5A DKIM public key is published. On its own this doesn't prove outgoing mail is signed or aligned with your From domain.
DKIM public key found for selector: google. Confirm signing with dkim=pass in a sent message's Authentication-Results.
google._domainkey: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeaLfcj7zdLlf8U+HmEV9SvLcrhQcwBBKz…
$ dig +short TXT google._domainkey.mozilla.org
MX — inbound mail routing
Passed · Severity: OK · unscoredMail exchangers are published for the domain.
4 MX record(s). This shows where inbound mail is routed, not whether mail is sent from the domain.
10 aspmx3.googlemail.com 5 alt2.aspmx.l.google.com 1 aspmx.l.google.com 5 alt1.aspmx.l.google.com
$ dig +short MX mozilla.org
HTTPS available
Passed · Severity: OK · 10/10The site loads over an encrypted connection.
https://mozilla.org/ returned HTTP 200 (final URL: https://www.mozilla.org/). Client-side certificate validation passed.
HTTP 200 Final URL: https://www.mozilla.org/
$ curl -sIL https://mozilla.org/
HTTP → HTTPS redirect
Passed · Severity: OK · 7/7Visitors arriving at an unencrypted address are automatically sent to the secure version.
HTTP 302 → https://mozilla.org:443/
HTTP 302 Location: https://mozilla.org:443/
$ curl -sI http://mozilla.org/ | grep -iE "^(HTTP|location)"
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: Amazon Trust Services, expiring 2027-05-10 (176 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: Amazon Trust Services Valid from: 2026-10-25 Valid until: 2027-05-10 Names: mozilla.org, www.mozilla.org, www.mozorg.moz.works Based on Certificate Transparency logs; may not reflect the certificate currently served.
$ echo | openssl s_client -connect mozilla.org:443 -servername mozilla.org 2>/dev/null | openssl x509 -noout -issuer -dates
HSTS — enforce encryption in the browser
Passed · Severity: OK · 7/8Browsers are told to always use an encrypted connection to the site.
max-age=31536000 (365 days), no includeSubDomains. ≥ 180 days recommended.
Strict-Transport-Security: max-age=31536000
$ curl -sIL https://mozilla.org/ | grep -i "Strict-Transport-Security"
CSP — protection from script injection
Needs attention · Severity: Low · Hardening gap · 5/8A script policy exists, but it's permissive and offers only partial protection.
script-src includes: 'unsafe-inline', 'unsafe-eval' — weakens XSS protection.
Content-Security-Policy: form-action 'self' https://abdri3ttkb.execute-api.us-east-2.amazonaws.com https://accounts.firefox.com/ https://basket.mozilla.org; frame-src 'self' accounts.firefox.com gtm.mozilla.org https://gtm.mozilla.org js.stripe.com www.google-analytics.com www.googletagmanager.com www.youtube.com; upgrade-insecure-requests; font-src 'self' www.mozilla.org; default-src 'self' *.mozilla.org; object-src 'none'; style-src 'self' 'unsafe-inline' www.mozilla.org; img-src 'self' blog.mozilla.org data: https://gtm.mozilla.org images.ctfassets.net www.google-analytics.com www.googletagmanager.com www.mozilla.org; connect-src 'self' *.analytics.google.com *.google-analytics.com *.googletagmanager.com analytics.google.com google-analytics.com googletagmanager.com gtm.mozilla.org https://abdri3ttkb.execute-api.us-east-2.amazonaws.com https://accounts.firefox.com/ https://basket.mozilla.org https://gtm.mozilla.org o1069899.ingest.sentry.io o1069899.sentry.io region1.google-analytics.com; base-uri 'none'; media-src 'self' assets.mozilla.net videos.cdn.mozilla.net www.mozilla.org; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.google-analytics.com *.googletagmanager.com google-analytics.com googletagmanager.com https://gtm.mozilla.org js.stripe.com s.ytimg.com tagmanager.google.com www.mozilla.org www.youtube.com; frame-ancestors 'none'
$ curl -sIL https://mozilla.org/ | 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
Passed · Severity: OK · 5/5The site can't be embedded by foreign sites.
X-Frame-Options: DENY frame-ancestors 'none'
X-Frame-Options: DENY CSP frame-ancestors: 'none'
$ curl -sIL https://mozilla.org/ | grep -i "X-Frame-Options"
X-Content-Type-Options
Passed · Severity: OK · 4/4The browser won't guess file types in a way that could execute code.
nosniff is set.
X-Content-Type-Options: nosniff
$ curl -sIL https://mozilla.org/ | grep -i "X-Content-Type-Options"
Referrer-Policy
Passed · Severity: OK · 3/3Internal URLs don't leak to external sites.
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: strict-origin-when-cross-origin
$ curl -sIL https://mozilla.org/ | grep -i "Referrer-Policy"
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://mozilla.org/ | 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://mozilla.org/ | 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 mozilla.org: NODATA
$ dig +short DS mozilla.org
- 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 mozilla.org SOA delv mozilla.org
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 "amazonaws.com" | 0 issue "comodoca.com" | 0 issue "digicert.com" | 0 issue "awstrust.com" | 0 issue "certainly.com" | 0 iodef "mailto:foxsec+caaiodef@mozilla.com" | 0 issue "letsencrypt.org" | 0 issue "amazontrust.com" | 0 issue "amazon.com" | 0 issue "sectigo.com" | 0 issue "pki.goog"
0 issue "amazonaws.com" 0 issue "comodoca.com" 0 issue "digicert.com" 0 issue "awstrust.com" 0 issue "certainly.com" 0 iodef "mailto:foxsec+caaiodef@mozilla.com" 0 issue "letsencrypt.org" 0 issue "amazontrust.com" 0 issue "amazon.com" 0 issue "sectigo.com" 0 issue "pki.goog"
$ dig +short CAA mozilla.org
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.
ns7-66.akam.net ns1-240.akam.net ns4-64.akam.net ns5-65.akam.net
$ dig +short NS mozilla.org
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 rulesNo gaps observed
- PCI DSS v4.01 observed gaps
- NIS2 / vendor due diligence1 observed gaps
- SOC 2 / ISO 27001 baseline1 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 | mozilla.org | 35.190.14.201 |
| AAAA | mozilla.org | 2600:1901:0:c197:: |
| MX | mozilla.org | 10 aspmx3.googlemail.com | 5 alt2.aspmx.l.google.com | 1 aspmx.l.google.com | 5 alt1.aspmx.l.google.com |
| NS | mozilla.org | ns7-66.akam.net | ns1-240.akam.net | ns4-64.akam.net | ns5-65.akam.net |
| TXT | mozilla.org | _zojr3c56nq36tokzhnj9crit28tiqly | google-site-verification=z68pON7CWSaZu_sBqDQofmDL19OVp3krGEjaDl7cSaU | openai-domain-verification=dv-J6NgbJamHFrHSyNqlhElIX5K | ZOOM_verify_lGxIzL49Id7PipUgDgTd9K | google-site-verification=E1vBHtOW-D9IlAj-pbRM-8PrOSiPDT48lrwRlW82ysw | google-site-verification=S3M17z96OKfZJ2dq7mYqQDfRWsEVjy3hdxaSyB72YPc | google-site-verification=Ep3NdzNxaf8Vl48dniNneaqm7JcWUiy3GjKS0wx5zQw | google-site-verification=mU3ta-ZJga-aCNg7IlaRaGYK9sDOMagHRNGVW1FSJGE | google-site-verification=Brpe3hQpo9FlGIHMtK4ViKL60L0G8VM16nXopwVDoEU | google-site-verification=Lo_B34AJAe70BQVNF1Fo1zGGJudPmw9bLTnP2C8lV-s | yandex-verification | rz8t7zvjv5frpfbjs3y5n6g5tkw7gt2q | zoom-domain-verification=ZOOM_verify_671ea7b9c47d4b7b8cc9441f40817e3e | MS=ms14343235 | anthropic-domain-verification-w5rph5=bZ2V4N0ps4oFSU6yrv4DfD6nA | bzbkzkxj2ws8gvtw6hpssfy7lv9kym88 | v=spf1 include:%{i}._ip.%{h}._ehlo.%{d}._spf.vali.email include:_spf.mozilla.com include:_spf.google.com include:spf.fundraiseup.com ~all |
| TXT | _dmarc.mozilla.org | v=DMARC1; p=reject; pct=100; adkim=r; aspf=r; rua=mailto:dmarc_agg@vali.email,mailto:dmarc@mozilla.com |
| CAA | mozilla.org | 0 issue "amazonaws.com" | 0 issue "comodoca.com" | 0 issue "digicert.com" | 0 issue "awstrust.com" | 0 issue "certainly.com" | 0 iodef "mailto:foxsec+caaiodef@mozilla.com" | 0 issue "letsencrypt.org" | 0 issue "amazontrust.com" | 0 issue "amazon.com" | 0 issue "sectigo.com" | 0 issue "pki.goog" |
| DS | mozilla.org | — |