Security report for cpr.org
Colorado Public Radio · Media · United States
Medium risk. 5 critical or high findings in Security headers, GDPR outside view and 1 other check.
Colorado Public Radio (CPR) is a well-established non-profit media organization providing news, classical music, indie music, and local radio programming primarily serving the Colorado region. The website demonstrates a strong market position as a trusted source for Colorado news and culture, offering multiple content streams including live radio, podcasts, and newsletters. CPR targets residents and listeners interested in regional news and cultural content, operating under a non-profit business model with a focus on public service broadcasting. Technically, the website is built using modern web technologies including React and Next.js, with integrations for various analytics and advertising platforms such as Google Analytics, Facebook Pixel, Chartbeat, and Pardot. The site is mobile-optimized, accessible, and SEO-friendly, reflecting a mature digital infrastructure. The presence of cookie consent mechanisms and a comprehensive privacy policy indicates good privacy compliance. From a security perspective, CPR employs HTTPS with strong SSL configuration and multiple security headers, demonstrating adherence to best practices. However, there is no explicit security policy or incident response information publicly available, and WHOIS data is unavailable due to privacy protection, which is justified for this type of organization. No vulnerabilities or suspicious patterns were detected in the content or technical setup. Overall, CPR's website is professional, trustworthy, and well-maintained, with a high level of content quality and user experience. The main risks relate to the lack of publicly available security policies and incident response contacts, which could be improved to enhance transparency and trust. Strategic recommendations include publishing security policies, incident response contacts, and vulnerability disclosure information to strengthen security posture and stakeholder confidence.
Scanned
NIS2 and GDPR posture
- GDPR outside view
- 58/ 100 · Medium
- Checks completed
- 7of 7
NIS2 Art. 21(2)
- (a) Risk analysis and security policies: Not visible from outside
- (b) Incident handling: One indicator
- (c) Business continuity, backups and crisis management: Not visible from outside
- (d) Supply chain security: Not visible from outside
- (e) Secure acquisition, development and maintenance, including vulnerability handling: Partly checked
- (f) Assessing the effectiveness of security measures: Not visible from outside
- (g) Cyber hygiene and security training: Not visible from outside
- (h) Cryptography and encryption: Partly checked
- (i) HR security, access control and asset management: One indicator
- (j) Multi-factor authentication and secured communications: Not visible from outside
This scan rated NIS2 with an earlier keyword method that is no longer shown; rescan for the per-article view. Risk management, continuity, supply chain, training, MFA, management oversight (Art. 20) and incident reporting (Art. 23) need internal evidence, and Guard cannot tell whether NIS2 applies to this organisation.
GDPR is indicative only, based on publicly visible signals: Articles 7, 12, 13 and 32 of Regulation (EU) 2016/679 and Article 5(3) of the ePrivacy Directive. Not a certification or legal assessment.
Priority findings
5 findings rated critical or high. Fix these first.
Security headers
Security headers are instructions your web server sends to every visitor’s browser. Missing ones leave visitors more exposed to attacks such as clickjacking and injected scripts.
- High
Missing Strict-Transport-Security header
Forces HTTPS connections
What to do: Add "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload"
- CWE-319
- OWASP A04:2025
- ASVS V3.4.1
- RFC 6797 §6.1.1
- Mozilla TLS: Mozilla Server Side TLS 6.0 intermediate: hsts_min_age 63072000
- NIS2 21(2)(h)
- IR 2024/2690 9.2(a): Implementing Regulation (EU) 2024/2690, Annex point 9.2(a): Cryptography
- NIST SC-8: NIST SP 800-53 Rev. 5 SC-8: Transmission Confidentiality and Integrity
- High
Missing Content-Security-Policy header
Controls resources the browser is allowed to load
What to do: Implement a Content-Security-Policy appropriate for your application
- ASVS V3.4.3
- OWASP Secure Headers: OWASP Secure Headers Project recommends Content-Security-Policy: default-src 'self'; form-action 'self'; base-uri 'self'; object-src 'none';…
- High
GDPR outside view
These are the privacy signals visitors and data protection authorities look for under GDPR.
- High
No Cookie Policy found
GDPR requires clear information about cookie usage
What to do: Add a dedicated cookie policy explaining cookie usage and purposes
- High
No Cookie Consent Banner found
GDPR requires explicit consent for non-essential cookies
What to do: Implement a cookie consent banner that appears on first visit
- GDPR Art. 7
- ePrivacy Art. 5(3)
- NIST PT-4: NIST SP 800-53 Rev. 5 PT-4: Consent
- High
SSL/TLS
TLS encrypts the connection and proves the site is really yours. Weak or expiring certificates trigger browser warnings and put traffic at risk.
- High
Weak SSL Key Length
SSL certificate uses 256-bit key, which is considered weak
What to do: Use at least 2048-bit RSA or 256-bit ECC key
- CWE-326
- OWASP A04:2025
- Mozilla TLS: Mozilla Server Side TLS 6.0 intermediate: rsa_key_size 2048
- NIS2 21(2)(h)
- IR 2024/2690 9.2(b): Implementing Regulation (EU) 2024/2690, Annex point 9.2(b): Cryptography
- NIST SC-13: NIST SP 800-53 Rev. 5 SC-13: Cryptographic Protection
- High
Need hands-on remediation? Email guard@offseq.com
Keep watching cpr.org
This scan found 21 issues across 6 checks. Monitoring re-runs those checks daily, emails you when something material changes and records each fix, so you can show progress.
Daily monitoring
Recommended€25per month
- TLS certificates and expiry
- DNS records
- SPF, DKIM and DMARC
- Security headers
- GDPR and NIS2 posture
- Exposed services
- Third-party trackers
- Security score drift
Email alerts on material changes and an exportable JSON history of every change.
Billed monthly to your card. Cancel anytime. The full timeline opens with your unlock code.
Full report
€39.90one-time
- The complete analysis as a PDF you can cite
- Email delivery with an unlock code
- Lifetime access to this report
Prices incl. 21% VAT. Secure checkout by Mollie; sold by SEQ SIA, Latvia.
Results by check
Each check with its score, findings and the evidence it collected.
How this score is calculated
The security score runs 0–100, higher is better. It is the plain average of the security checks that completed in this scan, each counted equally. A check that could not run is left out: it counts neither as a pass nor as a fail.
Counted in this score
- SSL/TLS
- 65
- Security headers
- 50
- Email security
- 80
- DNS health
- 80
- Network security
- 100
- GDPR outside view
- 58
- Average
- 72
Not counted
- NIS2 outside view: Re-weights evidence from the TLS, email, DNS, network and hygiene checks, so counting it would count that evidence twice. Shown on its own.
- OffSeq Observations: An AI reading of the site, useful context but not reproducible evidence. Shown on its own.
Findings that cap the score at 49
Each of these is serious on its own, so while any is present the site cannot rate better than high risk, however good the other checks are.
- The certificate is not trusted by browsers
- The website is not served over HTTPS
- A database, remote desktop, file-sharing or Telnet service is reachable from the internet
- The page loads a script from a compromised source
- The domain registration has expired
- SPF authorises every server to send mail as the domain
Partial scans
When the site blocks Guard or most checks cannot run, the score covers only the checks that ran (usually DNS and email), is capped at 75 and is shown as partial, without a risk level.
Risk levels
- Critical0–25
- High26–49
- Medium50–75
- Low76–100
Technical appendix
Business context, site observations and technical notes gathered during the scan, and the standards behind each reference.
Business context
Business profile
Security posture
Recommendations
- Publish a dedicated security policy page outlining security practices and commitments.
- Provide clear incident response contact information to facilitate reporting and handling of security issues.
- Implement and publicize a vulnerability disclosure program or security.txt file to encourage responsible reporting.
- Regularly review and audit third-party scripts and dependencies to mitigate potential vulnerabilities.
- Consider enabling DNSSEC to enhance domain name system security and integrity.
Contact details published on the site
- Registration number
- Chamber of Commerce
Site observations
Automated reading of the public site. Ratings are indicative.
Business
- Company
- Colorado Public Radio
- Description
- Colorado Public Radio is home to CPR News, CPR Classical, Indie 102.3 and KRCC. We are a non-profit news and music organization.
- Key services
- News broadcasting, Classical music streaming, Indie music streaming, Local radio station KRCC, Podcasts and shows
- Content quality
- excellent
- Branding
- consistent
Technology
- Stack
- React, Next.js, Typekit Fonts, Google Tag Manager, Google Analytics, Facebook Pixel, Chartbeat, Pardot, StackAdapt, CookieYes
- Frameworks
- Next.js
- Performance
- moderate
- Mobile
- good
- Accessibility
- good
- SEO
- good
Security
- Observed score
- 85/100
- Good practices seen
- HTTPS enforced
- Security headers present
- No exposed sensitive data in HTML
- Secure forms with labels
Analytics and tracking
- Services
- Google Analytics, Chartbeat, Pardot
- Tracking level
- moderate
- Privacy practices
- good
Advertising
- Ad networks
- Google DoubleClick, StackAdapt
- Tracking pixels
- Facebook Pixel, Chartbeat, Pardot
- Marketing tools
- Pardot
- Transparency
- good
Site quality
- Design
- excellent
- User experience
- excellent
- Content relevance
- excellent
- Navigation
- excellent
- Professionalism
- excellent
- Trustworthiness
- high
Key observations
- Website is a professional public radio and news organization site
- Content is rich, updated, and relevant to Colorado audience
- Multiple content streams including news, classical music, indie music, and podcasts
- Strong branding and consistent user experience
- Good privacy and cookie policy presence with consent mechanism
- No direct contact emails or phone numbers publicly listed, contact via form
- No explicit security policy or incident response page found
- WHOIS data is unavailable or malformed, likely privacy protected
- Use of multiple third-party analytics and advertising services
- No adult or NSFW content detected
Technical notes
Notes
Standards and sources
Reference chips under each finding point to the standard, regulation or specification the finding relates to. They are taken from the official datasets below and mapped conservatively: a finding with no defensible link shows none. NIS2 and GDPR references mark where a finding is relevant evidence, not a compliance verdict. Implementing Regulation (EU) 2024/2690 binds digital infrastructure and digital service providers; for other entities it is the most detailed public reading of the Article 21 measures. WCAG, EN 301 549, European Accessibility Act and Web Accessibility Directive references name the requirement an automated accessibility rule relates to; they are not a conformance verdict.
- MITRE CWE (opens in a new tab)4.20 (2026-04-30) · CWE Terms of Use (free use with attribution, © MITRE)
- OWASP Top 10:2025 (opens in a new tab)2025 (membership per CWE 4.20) · CC BY-SA 4.0
- MITRE CAPEC (opens in a new tab)3.9 (2023-01-24) · CAPEC Terms of Use (free use with attribution, © MITRE)
- OWASP ASVS (opens in a new tab)5.0.0 · CC BY-SA 4.0
- OWASP Web Security Testing Guide (opens in a new tab)latest (checklist.json, master) · CC BY-SA 4.0
- OWASP Secure Headers Project (opens in a new tab)2026-10-18 · Apache-2.0
- Mozilla Server Side TLS (intermediate) (opens in a new tab)6.0 · MPL-2.0
- NIST SP 800-53 Rev. 5 (OSCAL catalog) (opens in a new tab)5.2.0 · Public domain (US Government work)
- Directive (EU) 2022/2555 (NIS2) (opens in a new tab)OJ L 333, 27.12.2022 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Commission Implementing Regulation (EU) 2024/2690 (opens in a new tab)OJ L, 18.10.2024 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Regulation (EU) 2016/679 (GDPR) (opens in a new tab)OJ L 119, 4.5.2016 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Directive 2002/58/EC (ePrivacy), consolidated (opens in a new tab)19.12.2009 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- RFC Editor metadata (opens in a new tab)per-RFC (obsolete RFCs rejected) · IETF Trust Legal Provisions (metadata only)
- NIST CSRC, W3C TR, IETF Datatracker, EDPB, EUR-Lex CELLAR and gesetze-bayern.de (opens in a new tab)per document · Titles and links only
- NIST NVD CVE API 2.0 (opens in a new tab)live records · Public domain (NVD); CVE® records © MITRE, free use
- W3C WCAG 2.2 (opens in a new tab)W3C Recommendation (wcag.json) · W3C Software and Document License
- ETSI EN 301 549 (opens in a new tab)V3.2.1 (2021-03), clause headings · Clause numbers and titles only (© ETSI)
- Directive (EU) 2019/882 (European Accessibility Act) (opens in a new tab)OJ L 151, 7.6.2019 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Directive (EU) 2016/2102 (Web Accessibility Directive) (opens in a new tab)OJ L 327, 2.12.2016 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
Retrieved 2026-10-25
Feedback on this report
Rate this report, add an optional comment, and tell us if you want a security specialist to follow up.
Reviews of this site
Share your experience with cpr.org. Every review is verified by email and published after moderation.
Community rating
No published reviews yet. Be the first to review cpr.org.