Site
Every layer Canopy grades, run over one domain at once, rolled into a single grade — with the fixes ranked.
Try: github.com · example.com
Security headers
5 fail · 2 warn → full report
CSP deep-dive
9 fail → full report
Cookie security
2 warn → full report
AI readiness
2 warn → full report
PWA installability
6 fail · 1 warn → full report
Privacy & trackers
1 warn → full report
Email security
4 warn → full report
DNS posture
1 warn → full report
SEO & meta
3 warn → full report
Performance
1 fail · 4 warn → full report
Accessibility
5 warn → full report
Monitor this site nightly → one click enrols every layer above, so trends, the weekly digest and client reports start filling in.
How this grade is weighted
Security headers 20% · CSP deep-dive 10% · Cookie security 5% · AI readiness 5% · PWA installability 5% · Privacy & trackers 5% · Email security 10% · DNS posture 10% · SEO & meta 10% · Performance 10% · Accessibility 10%. Link health is scanned separately — its live probes are too request-hungry for the composite.
Fix these first
21 to fix · 25 to review, across all eleven layers — most important first.
-
Fix
Content-Security-Policy Security headers →
Content-Security-Policy: default-src 'self'; object-src 'none'; base-uri 'none'
-
Fix
X-Content-Type-Options Security headers →
X-Content-Type-Options: nosniff
-
Fix
Clickjacking protection Security headers →
Content-Security-Policy: frame-ancestors 'none' (or X-Frame-Options: DENY)
-
Fix
Referrer-Policy Security headers →
Referrer-Policy: strict-origin-when-cross-origin
-
Fix
Cookie security Security headers →
Set each cookie with: Secure; HttpOnly; SameSite=Lax (or Strict)
-
Fix
Policy present and enforced CSP deep-dive →
Start with: Content-Security-Policy: default-src 'self'; then loosen per resource type. See /reference.
Build a hardened Content-Security-Policy in Canopy's CSP builder →
-
Fix
Inline scripts blocked CSP deep-dive →
Replace 'unsafe-inline' with per-response nonces or sha256 hashes; add 'strict-dynamic' for modern browsers.
-
Fix
Script sources restricted CSP deep-dive →
Add script-src 'self' (plus any CDNs you use), or at minimum a default-src fallback.
-
Fix
eval() blocked CSP deep-dive →
Remove 'unsafe-eval'; most libraries that need it offer CSP-safe builds.
-
Fix
No scheme-wide script sources CSP deep-dive →
Pin script-src to the specific origins you actually load from.
-
Fix
Text compression Performance →
Enable gzip or brotli for text responses — most servers and CDNs are one directive away.
-
Fix
Plugin content disabled (object-src) CSP deep-dive →
Add object-src 'none' — nothing modern needs plugin content.
+ 34 more in the layer reports below.
Share it: save a snapshot — a permanent link, and Canopy re-runs all eleven layers nightly from then on.
Machine-readable: /api/site?domain=…
Canopy · Whole-site report · wikipedia.org · Mon, 10 Aug 2026 04:48 UTC · generated with Canopy — https://canopystack.dev