Every week we see the same pattern: a site goes live with a public form, an API key pasted straight into the code, and zero server-side validation. None of this is exotic — it's the same 20 points, over and over.

What's almost always missing

It's not a budget problem or "we ran out of time." It's that nobody sat down to run the full list before saying "okay, it's live." So we turned it into a standing checklist — the same one we now run in every office before calling any site launched.

"Hiding an API key isn't optional — it's the first item on the list, and the most ignored."

If your site is a static landing page with no backend, the "Authentication & data access" block doesn't apply yet — but go through the rest anyway. The moment you add a form with a database, a login, or a public webhook, the full list comes into play. Here are all 20, with the concrete reason each one matters.

Secrets & keys

Authentication & data access

"Hiding an API key isn't optional — it's the first item on the list, and the most ignored."

Input & content

Network & abuse

This is the same list we run internally before calling any site launched — point by point, without skipping any of them just because they "probably don't apply."

Website Security Checklist (20 points) Printable PDF version to check off live
Download
Security padlock on a circuit board