Skip to content

Test your website now

Free, no card. We read only public pages.

Run free audit →

Check library

199 checks, each one attributable

Browse the audit engine by category. Every check carries a severity, a detection method and a documented reason it matters - nothing is scored on vibes.

Every check, by category

Security

Headers, TLS, cookies, exposure surface

weight 22% · 41 checks
Security or trust page linkedsaas.security-pageAdmin interfaces are not linked publiclysec.admin-exposureLogin forms are marked for password managerssec.autocomplete-offCookies do not live unreasonably longsec.cookies.expirySession cookies use a __Host- prefixsec.cookies.host-prefixSession cookies HttpOnlysec.cookies.httponlyCookies declare SameSitesec.cookies.samesiteCookies set with the Secure flagsec.cookies.secureCORS is not wide opensec.cors.wildcardCSP restricts base-urisec.csp.base-uriCSP declares a default-src fallbacksec.csp.default-srcCSP blocks plugin contentsec.csp.object-srcCSP is enforced, not only reportedsec.csp.report-only-onlyCSP does not allow 'unsafe-eval'sec.csp.unsafe-evalNo directory listing exposedsec.directory-listingMeta generator does not leak CMS versionsec.disclosure.generatorX-Powered-By header removedsec.disclosure.powered-byServer header does not leak versionssec.disclosure.serverError pages do not leak stack tracessec.error-disclosureExternal links do not leak window.openersec.form-target-blankPassword fields only on HTTPS pagessec.forms.password-over-httpsCross-Origin-Opener-Policy headersec.headers.coopCross-Origin-Resource-Policy headersec.headers.corpContent-Security-Policy headersec.headers.cspStrict-Transport-Security headersec.headers.hstsX-Content-Type-Options: nosniffsec.headers.nosniffPermissions-Policy headersec.headers.permissions-policyReferrer-Policy headersec.headers.referrer-policyClickjacking protection (X-Frame-Options / frame-ancestors)sec.headers.xfoHSTS is preload-readysec.hsts.preloadSite is served over HTTPSsec.https.enabledHTTP redirects to HTTPSsec.https.redirectNo mixed content on HTTPS pagessec.mixed-contentsecurity.txt publishedsec.security-txtThird-party scripts use Subresource Integritysec.sriThird-party script count is controlledsec.third-party-scriptsTLS certificate not close to expirysec.tls.cert-expiryTLS certificate is valid and trustedsec.tls.cert-validNegotiated cipher suite is strongsec.tls.cipher-strengthModern TLS protocol versionsec.tls.protocolPassword change URL is discoverablesec.wellknown-change-password

Anatomy of a finding

Every issue arrives fix-ready

A severity badge is not actionable. A finding with the evidence we saw, a reason, an effort estimate and the change to make is.

CriticalAuto-detectedSEC-CSP-001

No Content-Security-Policy header

The origin serves no CSP, so any injected script executes with full privileges.

Technical explanation
No `Content-Security-Policy` or `Content-Security-Policy-Report-Only` response header was observed on 128/128 crawled documents. No meta-equivalent CSP was present in the document head either.
Why it matters
CSP is the last line of defence against cross-site scripting and third-party script compromise. Without it, a single injected tag can exfiltrate session data or payment inputs.
Detection evidence
GET / HTTP/2 200 - response headers: server, x-powered-by, set-cookie, cache-control (no CSP)
Recommended fix
Start with a report-only policy scoped to the assets you actually load, monitor violations for 1–2 weeks, then enforce. Avoid 'unsafe-inline' by hashing or noncing inline scripts.
{
  "id": "SEC-CSP-001",
  "category": "security",
  "severity": "critical",
  "status": "fail",
  "detection": "auto",
  "effort": "M",
  "impact": "high",
  "standards": [
    "OWASP ASVS 14.4.3",
    "MDN CSP",
    "CIS 2.1"
  ],
  "pages": [
    "/",
    "/checkout",
    "/account/login",
    "/pricing"
  ]
}

Severity model

Critical, high, medium, low, info, passed, manual check and not applicable. Not-applicable items never penalise your score.

Weighted scoring

Category weights, severity, and how much of the site a finding covers. A broken canonical across every page costs twice one on a single page; which page it is does not change the cost.

Confidence values

Inferred findings carry an explicit confidence percentage so you know how hard to push back on a client's developer.

Effort and impact

S/M/L effort against low/medium/high impact, which is what drives the quick-wins list.

Standards mapping

OWASP ASVS, WCAG 2.2, RFCs, Core Web Vitals and Google Search Essentials references on the findings that have them.

Lifecycle

Mark findings resolved, ignored or accepted risk. Reports show fixed-versus-open movement between scans.

Preview Lab

See the site the way your client's customers do

15 device presets and 6 browser frames, with a portrait/landscape toggle, a grid overlay and zoom.

Device presets

iPhone SE · 375×667iPhone 15 / 16 · 393×852iPhone Pro Max · 430×932Android small · 360×740Pixel 8 · 412×915Android large · 428×926iPad portrait · 820×1180iPad landscape · 1180×820Small laptop · 1280×800MacBook Air · 1440×900MacBook Pro 16″ · 1728×1117Full HD desktop · 1920×10802K desktop · 2560×14404K desktop · 3840×2160Ultra-wide 34″ · 3440×1440

Browser modes

Chrome desktopSafari desktopChrome - AndroidSafari - iOSIn-app browserClean viewport

One frame at a time, at the preset you pick. Comparing two scans against each other is a separate screen - Compare - which diffs their scores and findings rather than their pixels.

Every capture is a Chromium render. A browser mode draws that browser's furniture and subtracts what it takes from the screen, so a frame named after Safari shows how much of the page survives under its bars, not how WebKit would lay the page out. Picking a preset resizes the frame around a capture the engine has already taken; it does not re-render the site on that device. Rendering happens in one engine (Chromium), so we do not claim to have reproduced a Safari or Firefox bug for you.

Open Preview Lab

Where to start

The website audit checklist, in the order that actually pays

What to check on a website and in what order: what decides whether it is secure, fast, indexable and usable - and the questions no external scan can answer.

Read the guide →