Overview
Findings
Actions
Details
Related
F
55 / 100

eff.org

Security report · Scanned April 14, 2026

Checks
14
Passed
4
Warnings
8
Critical
2
AI-Generated Summary
What this means

eff.org scored 55/100 and does not currently meet the minimum security posture threshold. Multiple configuration gaps were identified that require attention before approval.

Critical gaps in: HSTS Header, Security Headers. Positive signals: DNS CAA Records, Known Breaches, Cookie Security all passed.

6 action items identified, including 0 critical. The issues are configuration gaps, not architectural problems. A focused remediation effort of 2–5 days could address all findings.

How eff.org compares

Grade distribution across 2565 companies we've scanned. eff.org scores better than 17% of them.

17th percentile
0 Percentile rank 100
81
A+
25
A
186
A-
194
B+
73
B
357
B-
122
C+
114
C
328
C-
119
D+
95
D
247
D-
624
F
eff.org — Grade F (55/100) 2565 companies scanned
Security checks

Each check inspects a different part of eff.org's public security setup. Green means healthy, yellow needs attention, red is a problem.

HSTS Header
Strict-Transport-Security header is missing. Connections can be downgraded to HTTP via man-in-the-middle attacks.
Problem
Security Headers
2/5 security headers present. Missing: CSP, Referrer-Policy, Permissions-Policy. This exposes the application to clickjacking, MIME-sniffing, and other client-side attacks.
Problem
MX Records & Mail Provider
Strengths: Mail handled by Microsoft 365; 1 MX record(s) configured. Issues: Only 1 MX record — no failover if primary mail server is unavailable.
Needs work
MTA-STS & TLS Reporting
Issues: No MTA-STS configured — email in transit is vulnerable to TLS downgrade attacks. Sending servers cannot verify that your mail server requires TLS; No TLSRPT record — TLS delivery failures won't be reported to domain owner.
Needs work
TLS Configuration
TLSv1.2 negotiated. Issues: TLS 1.2 negotiated (1.3 preferred).
Needs work
DNS Configuration
Strengths: 3 nameservers configured (ns4.eff.org., ns2.eff.org., ns1.eff.org.); 1 MX records present; Zone transfers properly restricted. Issues: DNSSEC not configured — DNS responses can be spoofed.
Needs work
TLS Protocol Support
Strengths: TLS 1.2 supported; TLS 1.2 supported (consider enabling TLS 1.3). Protocol support: TLS 1.3: No, TLS 1.2: Yes, TLS 1.1: No, TLS 1.0: No.
Needs work
DMARC / Email Security
Strengths: SPF record present with hard-fail (-all); DKIM configured (selectors: selector1, s1, s2). Issues: DMARC policy is 'none' (monitoring only, no enforcement).
Needs work
security.txt (RFC 9116)
No security.txt found. Publishing a security.txt at /.well-known/security.txt is the industry standard (RFC 9116) for vulnerability disclosure policies. Its absence may indicate a less mature security program.
Needs work
Certificate Hygiene
Strengths: Certificate valid, 76 days remaining; Issued by Let's Encrypt; 2071 certificates logged in CT. Issues: Certificates issued by 10 different CAs (threshold: 8 for 2071 logged certs) — possible misconfiguration or shadow IT.
Needs work
DNS CAA Records
Strengths: CAA records configured (7 record(s)); Authorized CAs: comodoca.com, letsencrypt.org, ssl.com; Violation reporting (iodef) configured.
Healthy
Known Breaches
No known breaches found in public disclosure databases.
Healthy
Cookie Security
No cookies set on the homepage response. No cookie security flags to evaluate.
Healthy
CVE Exposure
Detected technologies: nginx, Proxy/CDN, Drupal 7/(http://drupal.org). (Proxy/CDN detected but excluded from CVE matching — upstream infrastructure). No high or critical CVEs found for detected versions.
Healthy
Recommended actions
6 items

Steps to improve eff.org's security grade, ranked by impact.

1
Enable HSTS (HTTP Strict Transport Security)
Impact: < 1 Hour
HIGH
The HSTS header is missing on eff.org. Without it, connections can be downgraded from HTTPS to HTTP via man-in-the-middle attacks. This is a straightforward server configuration change.
Compliance impact
PCI-DSS 4.0Req 6.4.1
Required application security controls
NIST 800-53SC-8
Transmission confidentiality and integrity
How to fix this
1
Add header: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
2
Verify all subdomains support HTTPS before adding includeSubDomains
3
Test with: curl -sI https://eff.org | grep -i strict
4
Submit to hstspreload.org after confirming the header is correct
2
Add missing security headers (CSP, Referrer-Policy, Permissions-Policy)
Impact: 1–2 Hours
HIGH
3 of 5 recommended security headers are missing on eff.org: CSP, Referrer-Policy, Permissions-Policy. These headers protect against clickjacking, MIME-sniffing, and unauthorized browser feature access. Adding them is a server configuration change with no application code changes required.
Compliance impact
PCI-DSS 4.0Req 6.4.1
Security headers are required application controls
OWASPSecure Headers
Recommended baseline for web applications
How to fix this
1
Add a Content-Security-Policy header. Safe starting value (works with Google Fonts and inline styles/scripts): default-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; script-src 'self' 'unsafe-inline'; upgrade-insecure-requests. Test your site after adding it, then tighten over time by removing 'unsafe-inline'.
2
Add: Referrer-Policy: strict-origin-when-cross-origin
3
Add: Permissions-Policy: camera=(), microphone=(), geolocation=()
4
Verify with: curl -sI https://eff.org | grep -iE 'content-security|x-frame|x-content|referrer|permissions'
3
Strengthen email authentication configuration
Impact: 2–4 Hours
HIGH
Email authentication is partially configured for eff.org but has gaps. Actions needed: upgrade DMARC policy from 'none' to 'quarantine' or 'reject'. Until DMARC enforcement is active, spoofed emails may still reach recipients.
Compliance impact
NIST CSFPR.AC-7
Email authentication is a required access control
How to fix this
1
Upgrade DMARC policy to p=quarantine (then p=reject after monitoring)
2
Verify with: nslookup -type=txt _dmarc.eff.org
4
Enable DNSSEC on your domain
Impact: 1–3 Days (Depends On Registrar)
MEDIUM
Without DNSSEC, DNS responses for eff.org can be spoofed, potentially redirecting users to malicious sites. This requires coordination with your domain registrar to publish DS records.
Compliance impact
NIST 800-53SC-20
Secure name/address resolution service
How to fix this
1
Check if your DNS provider supports DNSSEC (Cloudflare, Route53, etc.)
2
Enable DNSSEC signing in your DNS provider dashboard
3
Add the DS record to your registrar for .org TLD
4
Verify: dig +dnssec eff.org
5
Upgrade to TLS 1.3
Impact: < 1 Hour
LOW
eff.org negotiated TLSv1.2. TLS 1.2 is still compliant under all major security frameworks and is not a vulnerability. TLS 1.3 offers faster handshakes and removes legacy cipher negotiation. This is a best-practice improvement, not a compliance gap.
How to fix this
1
Update web server config to prefer TLS 1.3 (nginx: ssl_protocols TLSv1.2 TLSv1.3)
2
Verify: openssl s_client -connect eff.org:443 -tls1_3
6
Review certificate configuration
Impact: 1–2 Hours
LOW
Certificate issues found for eff.org: . These are operational hygiene items, not immediate security risks.
How to fix this
1
Consolidate certificate issuance to 1–2 trusted CAs
At a glance

Key data points from the scan.

TLS Version
TLSv1.2
TLSv1.2 negotiated. Issues: TLS 1.2 negotiated (1.3 preferred).
DMARC Policy
p=none
Strengths: SPF record present with hard-fail (-all); DKIM configured (selectors: selector1, s1, s2). Issues: DMARC policy is 'none' (monitoring only, no enforcement).
SPF Record
Present
v=spf1 mx ip4:173.239.79.202 include:spf1.eff.org include:spf2.eff.org include:spf.protection.outloo
Security Headers
2/5 present
Missing: CSP, Referrer-Policy, Permissions-Policy
HSTS
Not enabled
Strict-Transport-Security header is missing. Connections can be downgraded to HTTP via man-in-the-middle attacks.
SSL Certificate
Issues
Strengths: Certificate valid, 76 days remaining; Issued by Let's Encrypt; 2071 certificates logged in CT. Issues: Certificates issued by 10 different CAs (threshold: 8 for 2071 logged certs) — possible misconfiguration or shadow IT.
DNSSEC
Not enabled
Strengths: 3 nameservers configured (ns4.eff.org., ns2.eff.org., ns1.eff.org.); 1 MX records present; Zone transfers properly restricted. Issues: DNSSEC not configured — DNS responses can be spoofed.