Overview
Findings
Actions
Details
Related
F
55 / 100

opencurriculum.org

Security report · Scanned February 18, 2026

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

opencurriculum.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: Known Breaches, CVE Exposure 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 opencurriculum.org compares

Grade distribution across 2378 companies we've scanned. opencurriculum.org scores better than 18% of them.

18th percentile
0 Percentile rank 100
71
A+
22
A
180
A-
181
B+
69
B
333
B-
111
C+
111
C
295
C-
110
D+
92
D
216
D-
587
F
opencurriculum.org — Grade F (55/100) 2378 companies scanned
Security checks

Each check inspects a different part of opencurriculum.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
Only 0/5 security headers present. Missing: CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy. This exposes the application to clickjacking, MIME-sniffing, and other client-side attacks.
Problem
TLS Configuration
TLSv1.2 negotiated. Issues: TLS 1.2 negotiated (1.3 preferred).
Needs work
DNS Configuration
Strengths: 4 nameservers configured (ns-cloud-a4.googledomains.com., ns-cloud-a3.googledomains.com., ns-cloud-a2.googledomains.com., ns-cloud-a1.googledomains.com.); 5 MX records present; Zone transfers properly restricted. Issues: DNSSEC not configured — DNS responses can be spoofed.
Needs work
DMARC / Email Security
Strengths: SPF record present with soft-fail (~all); DKIM configured (selectors: mandrill, smtpapi). Issues: No DMARC record found — email spoofing is not prevented.
Needs work
Certificate Hygiene
Strengths: Certificate valid, 77 days remaining; Issued by Let's Encrypt. Issues: Wildcard certificate in use — broader attack surface if compromised.
Needs work
Known Breaches
No known breaches found in public disclosure databases.
Healthy
CVE Exposure
Detected technologies: nginx/1.10.3. No high or critical CVEs found for detected versions.
Healthy
Recommended actions
6 items

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

1
Enable HSTS (HTTP Strict Transport Security)
Impact: < 1 Hour
HIGH
The HSTS header is missing on opencurriculum.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://opencurriculum.org | grep -i strict
4
Submit to hstspreload.org after confirming the header is correct
2
Add missing security headers (CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy)
Impact: 1–2 Hours
HIGH
5 of 5 recommended security headers are missing on opencurriculum.org: CSP, X-Content-Type-Options, X-Frame-Options, 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 Content-Security-Policy header (start with report-only to avoid breakage)
2
Add: X-Content-Type-Options: nosniff
3
Add: X-Frame-Options: DENY (or SAMEORIGIN if you use iframes)
4
Add: Referrer-Policy: strict-origin-when-cross-origin
5
Add: Permissions-Policy: camera=(), microphone=(), geolocation=()
6
Verify with: curl -sI https://opencurriculum.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 opencurriculum.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.opencurriculum.org
4
Enable DNSSEC on your domain
Impact: 1–3 Days (Depends On Registrar)
MEDIUM
Without DNSSEC, DNS responses for opencurriculum.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 opencurriculum.org
5
Upgrade to TLS 1.3
Impact: < 1 Hour
LOW
opencurriculum.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 opencurriculum.org:443 -tls1_3
6
Review certificate configuration
Impact: 1–2 Hours
LOW
Certificate issues found for opencurriculum.org: wildcard certificate in use. Wildcard certificates have a broader blast radius if compromised. These are operational hygiene items, not immediate security risks.
How to fix this
1
Consider replacing wildcard cert with individual certs for critical subdomains
2
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
Not configured
Strengths: SPF record present with soft-fail (~all); DKIM configured (selectors: mandrill, smtpapi). Issues: No DMARC record found — email spoofing is not prevented.
SPF Record
Present
v=spf1 include:sparkpostmail.com include:spf.mandrillapp.com ~all
Security Headers
0/5 present
Missing: CSP, X-Content-Type-Options, X-Frame-Options, 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, 77 days remaining; Issued by Let's Encrypt. Issues: Wildcard certificate in use — broader attack surface if compromised.
DNSSEC
Not enabled
Strengths: 4 nameservers configured (ns-cloud-a4.googledomains.com., ns-cloud-a3.googledomains.com., ns-cloud-a2.googledomains.com., ns-cloud-a1.googledomains.com.); 5 MX records present; Zone transfers properly restricted. Issues: DNSSEC not configured — DNS responses can be spoofed.