Audit overview
Security and Accessibility need attention; the other categories are in good shape.
Fix Priority Matrix
5 findingsQuick Wins
2High impact, low effort — start here.
Strategic
3High impact, requires investment.
Easy Improvements
0Small gains, minimal effort.
Nothing in this quadrant — good news.
Deprioritize
0Low impact, high effort — do last.
Nothing in this quadrant — good news.
Screenshots
Top Priorities (5)
Content-Security-Policy header is missing
Without a CSP, a single XSS bug can exfiltrate everything your users type — including credentials.
HSTS header is missing
Without HSTS, a network attacker can downgrade the very first connection to HTTP and steal the user's session.
No Content-Security-Policy header found
Without a CSP, a single XSS bug can exfiltrate everything users type — credentials, payment data, session tokens.
1 image(s) missing alt attribute
Each image without alt text is a WCAG 1.1.1 failure — invisible to screen-reader users, lost from Google Image Search.
12 image-only link(s) without alt text
Image-only links with no alt are unidentifiable to screen-reader users — link's destination is invisible.
Business case
What fixing the audit's findings is worth -- and what ignoring them keeps costing.
Return on investment
$825 investment → $11,161/month returns + USD 157,500 risk avoided
Figures combine localized regulatory fine ceilings, search/conversion value priced against local CPC, and bandwidth waste estimates. Results depend on implementation quality and audience composition. Not legal or financial advice.
Conversion barriers
6 barrier(s) likely increasing bounce by ~27%.
- Page takes 5.3s to loadUsers abandon at ~3s — you're 2.8s over the 2.5s threshold→ Optimize render-blocking resources, preload the hero image, and compress images
- Page feels frozen for 656msClicks on the primary CTA are ignored while JavaScript runs→ Break up long tasks; defer non-critical JavaScript to post-hydration
- No HSTS headerReturning visitors are briefly exposed to downgrade attacks on first request→ Set Strict-Transport-Security: max-age=31536000; includeSubDomains
- No Content-Security-Policy headerHigher XSS blast radius — one compromised script can exfiltrate the checkout form→ Ship a reporting-only CSP first, then enforce once violations are clean
- No structured dataNo rich-result eligibility in Google — lower SERP CTR vs competitors with stars and prices→ Add JSON-LD for your page type (Product, Article, FAQPage, LocalBusiness, …)
Preliminary CRO audit — each barrier links to the tab with detailed analysis.
Remediation cost
Start here for the best return on investment
Cost by category
Cost by effort level
Adjust assumptions
Team composition
Multiplier applied to dev hours to reflect QA, design, and PM overhead. Use Dev only for solo work; Full team for projects with formal review processes.
Rates reflect fully-loaded developer cost including overhead
Warning:Cost of inaction
Compliance Risk
$157,500
- No privacy policy link detectedCCPA/CPRA: USD 2,500 – USD 7,500
- Trackers detected but no cookie policy foundCCPA/CPRA: USD 2,500 – USD 7,500
- Trackers detected but no privacy policy foundCCPA/CPRA: USD 2,500 – USD 7,500
Bounce-Rate Cost
$7,132 /mo
+26.5pp bounce · ~2,651 lost visitors/mo
CPC: USD 2.69
Bandwidth Waste
$0.45 /mo
5601.3 MB/mo × 0.080 USD/GB
- Optimize transfer: save ~560 KB per page loadSaves $0.45/mo
Compliance figures represent the statutory maximum fine for the most severe triggered category, capped per regulation — not the sum of per-finding penalties. Based on published regulatory fine ranges. This is not legal advice.
Unique monthly visitors from your analytics
Purchases, signups, or key actions
Optional — for revenue estimation
more engaged visitors from reduced bounce
Fix 5 critical issues to capture this value
How this is calculated
Based on Google/Deloitte research ("Milliseconds Make Millions") showing a ~7% bounce rate increase per additional second of LCP above the 2.5s "Good" threshold.
Your site's LCP: → estimated after fixes.
These are estimates based on industry research — actual results vary
Your data stays in your browser — nothing is sent to our servers
Lighthouse
Mobile
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
4.28 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
5.35 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
656 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.034
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
4.28 s
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
11.44 s
Desktop
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
1.17 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
1.90 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
51 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.000
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
1.17 s
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
2.40 s
Categories
8Performance
All checks pass
Security
Content-Security-Policy header is missing
Accessibility
1 image(s) missing alt attribute
SEO
All checks pass
Infrastructure
All checks pass
Compliance
All checks pass
Content
All checks pass
Sustainability
All checks pass
How you compare
Where this site stands against peers running the same stack.
Technology stack
Wagtail, on Apache/Python, hosted on Apache HTTP Server, with Cloudflare CDN
Stack Architecture
All Detected Technologies (24)
Apache is a free and open-source cross-platform web server software.
Python is an interpreted and general-purpose programming language.
Wagtail is a Django content management system (CMS) focused on flexibility and user experience.
ApexCharts is a modern JavaScript charting library that empowers developers to build interactive data visualizations for commercial and non-commercial projects.
Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.
DataTables is a plug-in for the jQuery Javascript library adding advanced features like pagination, instant search, themes, and more to any HTML table.
Django is a Python-based free and open-source web application framework.
Lodash is a JavaScript library which provides utility functions for common programming tasks using the functional programming paradigm.
MathJax is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup.
Modernizr is a JavaScript library that detects the features available in a user's browser.
Open Graph is a protocol that is used to integrate any web page into the social graph.
OpenSSL is a software library for applications that secure communications over computer networks against eavesdropping or need to identify the party at the other end.
Red Hat is an open-source Linux operating system.
jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.
Math.js a JavaScript library that provides a comprehensive set of mathematical functions and capabilities for performing complex calculations and operations in web applications.
Google Analytics is a free web analytics service that tracks and reports website traffic.
Google Tag Manager is a tag management system (TMS) that allows you to quickly and easily update measurement codes and related code fragments collectively known as tags on your website or mobile app.
Observations (4)
Server version exposed in headers
The Server header reveals 'Apache 2.4.37'. Exposing exact server versions helps attackers target known vulnerabilities. Consider configuring your server to hide version information.
No build tool detected
A framework (ApexCharts.js) was detected but no bundler was identified. The build tool may not be detectable from output patterns, or the site may use the framework's built-in bundler.
Bootstrap version may be outdated
Detected Bootstrap 4.1.0. The current major version is 5. Consider updating for security patches and new features.
Complex technology stack detected
24 technologies identified. A complex stack increases maintenance burden and attack surface. Consider whether all components are actively needed.
Show your score
Drop this badge on your README, marketing site, or status page. It auto-updates every time the audit re-runs and links back to this report.
This badge auto-updates with your latest scan result.
[](https://beavercheck.com/results/dcb3d0af-cc58-4c92-8847-a104facaf018)<a href="https://beavercheck.com/results/dcb3d0af-cc58-4c92-8847-a104facaf018"><img src="https://beavercheck.com/badge?url=https%3A%2F%2Fcaltech.edu" alt="BeaverCheck Score"></a>https://beavercheck.com/badge?url=https%3A%2F%2Fcaltech.eduFix Plan
Three-week roadmap to ship the audit's findings, with one-click copy targets for your tracker.
Three-week fix plan
2 sprints · 8h total → projected B (84)
Sprint 1: Quick Wins
+4Highest ROI — low effort, high impact
- · HSTS header is missing
- · 12 image-only link(s) without alt text
Sprint 2: Core Fixes
+5Medium effort, high structural impact
- · 1 image(s) missing alt attribute
- · Content-Security-Policy header is missing
- · No Content-Security-Policy header found


