Pre-Launch Security Checklist for Web Apps

The condensed version: 20 items to verify before going live, organized by priority.

··4 min read·By ismycodesafe.com Security Team
Three-tier security checklist: Must-Have items in red, Should-Have in orange, Nice-to-Have in green with progress bar

Key Takeaway

Before launching a web app, verify at minimum: HTTPS with valid certificate, security headers (CSP, HSTS, X-Frame-Options), no exposed secrets or debug endpoints, parameterized database queries, rate limiting on login, and CSRF protection on all forms.

Must-Have (Ship Blockers)

Don't launch without these. Each one represents a real, exploitable vulnerability if missing.

  1. HTTPS with a valid TLS certificate. Use Let's Encrypt. It's free and auto-renews.
  2. HTTP redirects to HTTPS. 301 redirect, not 302. Every page, not just the homepage.
  3. HSTS header is set. Prevents SSL stripping attacks on first visit.
  4. Content-Security-Policy header. Blocks XSS attacks. Start with default-src 'self'.
  5. No exposed secrets in code. Grep for API keys, passwords, tokens. Use environment variables.
  6. Debug mode is off. No stack traces, no verbose errors, no /debug/ endpoints.
  7. Database queries are parameterized. Zero string concatenation in SQL.
  8. CSRF protection on all forms. Login, registration, payment, settings. Every state-changing form.
  9. Passwords hashed with bcrypt/Argon2. Never plaintext, MD5, or unsalted SHA.
  10. Sensitive files return 404. .env, .git/config, docker-compose.yml. Not accessible via URL.

Should-Have (First Week)

Handle these within the first week. They reduce your attack surface and improve trust.

  1. Rate limiting on login and API endpoints. Prevents brute force and abuse.
  2. Cookie flags: Secure, HttpOnly, SameSite. Prevents session theft via XSS and CSRF.
  3. X-Frame-Options and X-Content-Type-Options headers. Two-line config, significant protection.
  4. CORS configured with specific origins. No Access-Control-Allow-Origin: *.
  5. Privacy policy published. Required by GDPR if you have EU visitors. Link from footer.
  6. Error pages don't leak information. Custom 404 and 500 pages with no technical details.
  7. Admin panel is not publicly accessible. IP restriction, VPN, or separate domain.

Nice-to-Have (First Month)

These improve your security posture further and prepare you for scale.

  1. Security event logging. Log login attempts, access denials, and errors. Store logs separately from the application.
  2. Dependency audit in CI. Run npm audit or pip audit on every build. Block deploys with critical vulnerabilities.
  3. Automated security scanning after deployments. Run ismycodesafe.com after each release to catch regressions.

For the full 50-item version with detailed explanations, see The Developer Security Checklist.

Check your website right now

110 security checks in 60 seconds. Free, no signup required.

Scan My Website (Free)

ismycodesafe.com Security Team

We run automated security scans on thousands of websites daily, combining static analysis, SSL/TLS inspection, header auditing, and CVE lookups. Our team tracks OWASP, NIST, and evolving compliance requirements (GDPR, NIS2, PCI DSS) to keep these guides accurate and practical.