Audit overview
5 categories need attention: Performance, and 4 others.
Fix Priority Matrix
5 findingsQuick Wins
3High impact, low effort — start here.
Strategic
2High 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.
Cookie 'DB_OPTION' is missing the Secure flag
A cookie without the Secure flag can leak over HTTP — in HSTS-protected sites, this is still a defense-in-depth gap.
Cookie 'uct_ui_cookie_warning' is missing the Secure flag
A cookie without the Secure flag can leak over HTTP — in HSTS-protected sites, this is still a defense-in-depth gap.
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.
Business case
What fixing the audit's findings is worth -- and what ignoring them keeps costing.
Return on investment
ZAR 4,388 investment → ZAR 87,272/month returns + ZAR 10,000,000 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
10 barrier(s) likely increasing bounce by ~34%.
- Page takes 9.1s to loadUsers abandon at ~3s — you're 6.6s over the 2.5s threshold→ Optimize render-blocking resources, preload the hero image, and compress images
- Page feels frozen for 2.3sClicks on the primary CTA are ignored while JavaScript runs→ Break up long tasks; defer non-critical JavaScript to post-hydration
- 3 form field(s) without a labelScreen readers skip unlabeled fields; autofill can't identify them; checkout abandonment spikes→ Associate every input with a visible <label for="…">; add autocomplete attributes
- 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
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
ZAR 10 000 000
- No privacy policy link detectedPOPIA: ZAR 10 000 – ZAR 10 000 000
- Trackers detected but no cookie policy foundPOPIA: ZAR 10 000 – ZAR 10 000 000
- Trackers detected but no privacy policy foundPOPIA: ZAR 10 000 – ZAR 10 000 000
Bounce-Rate Cost
ZAR 50 583 /mo
+33.7pp bounce · ~3,372 lost visitors/mo
CPC: ZAR 15.00
Bandwidth Waste
ZAR 46 /mo
31854.2 MB/mo × 1.455 ZAR/GB
- Optimize transfer: save ~3.2 MB per page loadSaves ZAR 46/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.30 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
9.06 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
2.32 s
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.082
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
15.60 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.
52.13 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.90 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
3.01 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
221 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.201
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
3.54 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.
8.21 s
Categories
8Performance
All checks pass
Security
Content-Security-Policy header is missing
Accessibility
All checks pass
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.
Top 10% of Drupal sites score 71+ on Accessibility; you're at 51 — closing this gap is the highest-leverage improvement.
Top 10% of Bulma sites score 97+ on Content; you're at 67 — closing this gap is the highest-leverage improvement.
Technology stack
Drupal 10, on PHP, with Cloudflare CDN
Stack Architecture
All Detected Technologies (20)
Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.
Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.
cdnjs is a free distributed JS library delivery service.
PHP is a general-purpose scripting language used for web development.
Drupal is a free and open-source web content management framework.
Font Awesome is a font and icon toolkit based on CSS and Less.
JW Player is a online video player with video engagement analytics, custom video player skins, and live video streaming capability.
MathJax is a cross-browser JavaScript library that displays mathematical notation in web browsers, using MathML, LaTeX and ASCIIMathML markup.
Ubuntu is a free and open-source operating system on Linux for the enterprise server, desktop, cloud, and IoT.
Varnish is a reverse caching proxy.
YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.
Zurb Foundation is used to prototype in the browser. Allows rapid creation of websites or applications while leveraging mobile and responsive technology. The front end framework is the collection of HTML, CSS, and Javascript containing design patterns.
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.
jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.
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 (2)
No build tool detected
A framework (Bulma) 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.
Complex technology stack detected
20 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/2df11f0d-cf03-47e5-ac38-96ba5cdd4561)<a href="https://beavercheck.com/results/2df11f0d-cf03-47e5-ac38-96ba5cdd4561"><img src="https://beavercheck.com/badge?url=https%3A%2F%2Fuct.ac.za" alt="BeaverCheck Score"></a>https://beavercheck.com/badge?url=https%3A%2F%2Fuct.ac.zaFix Plan
Three-week roadmap to ship the audit's findings, with one-click copy targets for your tracker.
Three-week fix plan
2 sprints · 7h total → projected C (76)
Sprint 1: Quick Wins
+6Highest ROI — low effort, high impact
- · Cookie 'DB_OPTION' is missing the Secure flag
- · Cookie 'uct_ui_cookie_warning' is missing the Secure flag
- · HSTS header is missing
Sprint 2: Core Fixes
+1Medium effort, high structural impact
- · Content-Security-Policy header is missing
- · No Content-Security-Policy header found


