A practical, no-fluff website security audit checklist covering TLS, headers, cookies, DNS, email, privacy, and performance. Built for engineers who ship.
Anay Pandya
1,784 words
Anay Pandya
Founder of ZeriFlow · 10 years fullstack engineering · About the author
Key Takeaways
Most website security audits fall into one of two traps: a 200-page PDF that nobody reads, or a five-bullet checklist that misses everything that actually matters. This one is built for the middle ground — comprehensive enough to catch real issues, focused enough that an engineer can run through it in an afternoon.
A website security audit is the systematic review of every layer that touches your visitors: the TLS handshake, the response headers, the cookies you set, the DNS records that route traffic, the email infrastructure that signs your domain, the privacy posture you present, and the performance characteristics that affect both user experience and attack surface. Skipping any one of these leaves a gap an attacker can walk through.
<div class="zf-stat-callout" style="background:#0d1117;border:1px solid rgba(16,185,129,0.25);border-left:3px solid #10b981;border-radius:4px;padding:16px 20px;margin:24px 0"> <p style="margin:0 0 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:#10b981;font-family:monospace">ZeriFlow Data — 12,400+ sites analyzed</p> <p style="margin:0;font-size:13px;color:#e2e8f0;line-height:1.6;font-family:monospace">In ZeriFlow's dataset of 12,400+ scanned sites, the average security score is 52/100 — with 68% failing at least one critical check in categories including TLS configuration, , DNS authentication, and cookie handling.</p> </div>
Keep reading
Is your site actually secure?
Run a free check — 60 seconds
This checklist covers seven domains and 40+ specific checks. For each domain we'll explain what to verify, which tools to use, and the red flags that should never make it to production. At the end, we'll show how to automate the whole thing so it runs on every deploy instead of once a year.
Check your site right now: Free ZeriFlow scan in 60 seconds →
Your TLS configuration is the foundation. Get it wrong and nothing else matters.
What to check:
www and any apex/subdomain combinations)max-age of at least 6 months and includeSubDomainsTools: SSL Labs, testssl.sh, ZeriFlow's TLS scanner.
Red flags: any TLS 1.0/1.1 support, RC4 or 3DES ciphers, missing HSTS, certificates expiring in under 30 days with no auto-renewal.
For a deeper dive into modern TLS configuration, see our TLS 1.3 migration guide.
Headers are free, take ten minutes to deploy, and stop entire classes of attacks. There's no excuse for missing them.
What to check:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadContent-Security-Policy: a real policy, not default-src * or report-only with no enforcementX-Content-Type-Options: nosniffX-Frame-Options: DENY or SAMEORIGIN (or use CSP frame-ancestors)Referrer-Policy: strict-origin-when-cross-origin or stricterPermissions-Policy to lock down camera, microphone, geolocation, payment APIs you don't useCross-Origin-Opener-Policy: same-origin for sensitive pagesCross-Origin-Resource-Policy: same-site or stricterTools: SecurityHeaders.com, ZeriFlow, Mozilla Observatory.
Red flags: wildcard CSPs, unsafe-inline and unsafe-eval without nonces or hashes, missing HSTS on a production site, X-Frame-Options: ALLOWALL.
Cookies leak sessions when configured badly. The flags are well-known and trivial to set, yet half the sites we scan get them wrong.
What to check:
Secure flag on every cookie that touches authenticationHttpOnly on session cookies so JavaScript can't read them (XSS containment)SameSite=Lax minimum, Strict where possible, None only with Secure and a documented reasonMax-Age or Expires — long enough to be useful, short enough to limit blast radius.example.com if app.example.com is enough)__Host- or __Secure- prefix where applicableTools: browser DevTools, ZeriFlow cookie auditor.
Red flags: session cookies without Secure, OAuth tokens accessible via JavaScript, cookies set on parent domains by accident, cookies older than 1 year.
DNS is often the weakest link because it's owned by someone other than the engineering team. Audit it like any other production system.
What to check:
Tools: dig, dnsviz.net, ZeriFlow DNS scanner.
Red flags: missing DNSSEC, CNAMEs to deleted Heroku/S3/Azure resources, no registrar lock, expired domains in your portfolio.
Your domain sends email even if you think it doesn't — password resets, transactional notifications, marketing. Without proper authentication, attackers can spoof you, and your real emails get filtered as spam.
What to check:
p=quarantine or p=reject (not just p=none)rua reports are being collected and reviewedTools: MXToolbox, dmarcian, ZeriFlow email security audit.
Red flags: SPF with +all, DMARC stuck on p=none for years, missing DKIM, no monitoring of DMARC reports.
Privacy is now a security domain. GDPR, CCPA, and the 2024 EU AI Act all carry breach-level penalties, and "we didn't know what trackers our marketing team installed" is no longer a defence.
What to check:
Tools: ZeriFlow privacy scan, Cookiebot, browser DevTools.
Red flags: Google Analytics or Meta Pixel firing pre-consent, missing privacy policy, third-party iframes that set cookies before consent.
Performance is security. A slow site is a denial-of-service in slow motion, and many performance issues hide actual security problems.
What to check:
no-storeTools: WebPageTest, Lighthouse, ZeriFlow performance audit.
Red flags: 5+ second TTFB, no rate limits on /login, no compression, sensitive responses with Cache-Control: public.
A manual run through this checklist takes a senior engineer roughly six to ten hours per site. That's not sustainable if you have multiple properties, frequent deploys, or any kind of regulatory cadence. Three approaches scale:
For the headers piece specifically, our HTTP security headers guide walks through the production-ready configuration we recommend.
A: A manual audit covering all seven domains takes 6-10 hours for a senior engineer. An automated scan with a tool like ZeriFlow takes 60 seconds and covers the technical 80%. The remaining 20% (privacy policy review, contract audits, incident drills) is best done quarterly with a human in the loop.
A: Automated scans on every deploy, comprehensive manual review quarterly, and a full third-party penetration test annually for any site handling regulated data. Most issues we find in audits are regressions introduced between scheduled reviews — automation closes that gap.
A: Free scanners (SSL Labs, SecurityHeaders.com, MXToolbox) cover individual domains well but force you to stitch reports together by hand. A consolidated scanner like ZeriFlow saves you the integration work and tracks changes over time. ZeriFlow has a free tier that covers most small sites.
A: TLS. A broken TLS configuration leaks every other layer. After that, the order is: HSTS and security headers, cookie flags, then DNS hygiene. Email authentication and privacy come next; performance last unless you're seeing actual outages.
A: Sort by exploitability and blast radius. A missing Secure flag on a session cookie is a real-world session hijacking risk and ships today. A missing Permissions-Policy is a hardening measure that buys defence in depth — important, but ship it next sprint. ZeriFlow scores findings on this exact axis.
A good website security audit is comprehensive, repeatable, and actually run. This checklist gives you the comprehensive part; automation gives you the repeatable part; calendar discipline gives you the actually-run part.
Don't try to do all 40+ checks manually every month. Run them once to establish a baseline, fix what's broken, and put automation in place so regressions surface on the day they happen instead of the day before your next compliance audit.
Start your free security scan on ZeriFlow → — all 80+ checks across the seven domains in this guide, in 60 seconds. Free plan available, no credit card required.
<!-- zf-internal-links -->
Related resources
Website Vulnerability Scanner
Run a broader website security audit across headers, TLS, DNS, cookies, SEO, and disclosure checks.
Security Headers Checker
Check CSP, HSTS, X-Frame-Options, and other response headers.
SSL Checker
Review TLS certificate, HTTPS, and transport security signals.
DMARC Checker
Validate email authentication records for domain spoofing protection.
CSP Checker
Review Content-Security-Policy coverage and common gaps.
June 24, 2026
Best Security Tools for AI Startups
Monitor your security score
Schedule recurring scans and catch regressions after deployments.