Cada semana vemos el mismo patrón: un sitio sale a producción con un formulario público, una clave de API pegada directo en el código, y cero validación del lado del servidor. Nada de esto es exótico — son los mismos 20 puntos, una y otra vez.
Lo que casi siempre falta
No es un problema de presupuesto ni de que "no dio tiempo". Es que nadie se sentó a revisar la lista completa antes de decir "listo, ya está en línea". Por eso la convertimos en un checklist fijo — la misma que ahora corremos en cada oficina antes de dar cualquier web por lanzada.
"Ocultar una clave API no es opcional — es el primer punto de la lista, y el más ignorado."
La versión corta: secretos fuera del repo, autenticación validada en el servidor (no solo escondiendo un botón), consultas parametrizadas, cabeceras de seguridad, y HTTPS forzado en todo. La versión completa — las 20, explicadas una por una — está en el PDF de abajo.
Cuándo aplica cada punto
Si tu sitio es una landing estática sin backend, varios puntos todavía no aplican — pero en cuanto sumas un formulario con base de datos, un login, o un webhook público, la lista completa entra en juego.
- Secretos y claves — nunca hardcodeados, nunca en el historial de Git
- Autenticación y acceso a datos — validado siempre del lado del servidor
- Entradas y contenido — toda entrada validada, todo contenido de usuario escapado
- Red y abuso — rate-limit, anti-bots y cabeceras de seguridad en todo lo público