Web security checklists that catch the issues that matter
Headers, cookies, TLS and exposed surfaces: the concrete, checkable security items a development workflow should run — and how an automated auditor frames them as evidence.
Daniel Martínez Marqués
independent developer & software builder
Security best practice is a long list, and long lists are where work goes to die. The practical version is a checklist you can run mechanically before something ships — the same way a linter runs on your code.
A tool like CyberAudit Pro automates exactly this: it walks a site's real surfaces — headers, cookies, TLS, DNS, content, files and services — and returns evidence-backed findings you can verify. Here's the mental model behind that checklist.
Headers first
HTTP security headers are the cheapest protection on the internet, and the most commonly forgotten:
- Strict-Transport-Security — forces HTTPS for browsers.
- Content-Security-Policy — the big one. A strict default-src with narrow exceptions blocks a large share of injection-based attacks.
- X-Content-Type-Options: nosniff — stops MIME sniffing.
- Referrer-Policy — controls what leaks in the Referer header.
- Permissions-Policy — limits which browser features embedded content can use.
Headers are the kind of finding you can verify by hand with a single curl. There's no excuse for shipping without them.
Cookies and sessions
- Every session cookie should be HttpOnly (inaccessible to JavaScript), Secure (HTTPS only) and SameSite (Lax or Strict for most cases).
- Long-lived sessions are riskier than they look. Prefer rotating sessions and sliding expiration.
- Watch for cookies set without domain or path constraints — they broaden the attack surface for free.
TLS and DNS
- TLS version 1.2 minimum; 1.3 preferred. Weak ciphers should be off.
- Certificates must not be expired or self-signed.
- DNS records worth checking: SPF, DKIM and DMARC for email security. Old, forgotten subdomains are a classic entry point — discovery is half the battle.
Content, forms and exposed surfaces
- Forms should validate server-side, always. Client validation is convenience, not security.
- Admin panels and staging copies should not be reachable from the public internet.
- Sensitive files — backups, config exports, environment dumps — show up as accidental uploads or leftover artifacts. Scanning for them is cheap and finds real things.
- Payment-related paths deserve their own pass.
Making it repeatable
The checklist only pays off if it actually runs. Practical options:
- A pre-deployment script that runs the checks and fails on critical findings.
- A scheduled scan that reports a diff when the posture changes.
- A module-based auditor, where you can run one check or the full sweep.
That last one is the design behind CyberAudit Pro — run a full audit for a baseline, then run single modules to verify one concern. Findings export to HTML, Markdown, JSON, CSV or SARIF.
The honest version
Automated checks are the fast filter, not the final word. They catch the common, known, patternable weaknesses — which is exactly what you want them for. Anything that needs human judgment still needs a human. Run the checklist, fix what it finds, and remember it's a floor, not a ceiling.