Deployment y DevOpschecklist antes de lanzar una app con IA

Checklist de 25 puntos antes de subir tu app IA a producción

Checklist técnica y rigurosa para auditar autenticación, RLS en Supabase, costes de LLM, webhooks de pago y RGPD antes de subir tu app IA a producción.

12 de marzo de 2026
Vibe2Prod
8 min

Lanzar una app creada con herramientas de vibecoding (Cursor, Lovable, Bolt, Claude o v0) es rápido y emocionante. Sin embargo, abrir tráfico real a usuarios que pagan sin revisar los puntos críticos de seguridad, base de datos y consumo de APIs es una temeridad que puede arruinar tu proyecto en sus primeras 48 horas.

La mayoría de checklists tradicionales que encontrarás en internet son genéricas: te hablan de configurar servidores Linux desde cero o de hashear contraseñas a mano con bcrypt. En 2026, los creadores usan Next.js, Supabase/PostgreSQL, Stripe, Vercel y APIs de LLMs.

Esta es la checklist técnica y realista que utilizamos en Vibe2Prod para auditar aplicaciones antes de que pulsen el botón de deploy a producción.


🔒 1. Autenticación, Sesiones y Secretos (5 puntos)

  • [ ] 01. Cero secretos en el cliente — ¿Tus claves privadas (OPENAI_API_KEY, STRIPE_SECRET_KEY, SUPABASE_SERVICE_ROLE) están en variables de servidor .env sin prefijo NEXT_PUBLIC_* y fuera de Git?
  • [ ] 02. Sesiones verificadas en backend — ¿Toda Route Handler o Server Action valida activamente la sesión en el servidor en lugar de confiar en el estado del cliente en React?
  • [ ] 03. Prevención de IDOR (Acceso cruzado) — ¿Cada consulta o mutación comprueba que el recurso pertenezca al usuario autenticado (user_id === session.userId) en vez de confiar en el ID enviado en la URL?
  • [ ] 04. Gestión segura de cookies y tokens — ¿Las sesiones se gestionan mediante cookies con flags httpOnly, Secure y SameSite=Lax/Strict, evitando almacenar JWTs en localStorage?
  • [ ] 05. Aislamiento estricto de entornos — ¿Tienes proyectos y claves completamente separados para desarrollo y producción en Supabase y Stripe?

🗄️ 2. Base de Datos y Row Level Security (4 puntos)

  • [ ] 06. Row Level Security (RLS) activo y probado — ¿RLS está habilitado en todas las tablas públicas de Supabase/Postgres con políticas restrictivas comprobadas con usuarios no administradores?
  • [ ] 07. Conexión con mínimos privilegios — ¿La aplicación web se conecta con credenciales con permisos restringidos y la clave service_role jamás se ejecuta en el navegador?
  • [ ] 08. Consultas parametrizadas y tipadas — ¿Usas ORMs (Prisma, Drizzle) o query builders tipados, sin concatenación manual de strings en SQL ni en funciones RPC con SECURITY DEFINER?
  • [ ] 09. Backups y persistencia verificados — ¿Tienes backups automáticos activos con retención definida y has verificado que tu base de datos no entre en modo pausa por inactividad?

🤖 3. Protección de Costes de IA y Rate Limiting (4 puntos)

  • [ ] 10. Rate limiting en endpoints de IA y Auth — ¿Tienes limitadores de tasa por IP y por usuario (Upstash, Arcjet, Cloudflare) en rutas que consumen cuota de LLM o en intentos de login?
  • [ ] 11. Hard limits y alertas en proveedores de IA — ¿Has configurado presupuestos mensuales máximos y alertas de consumo directamente en los paneles de OpenAI, Anthropic o Replicate?
  • [ ] 12. Streaming y manejo de timeouts serverless — ¿Las llamadas a modelos que generan textos largos usan Server-Sent Events (SSE) o colas asíncronas para no romper por el timeout de 10s-15s de Vercel?
  • [ ] 13. Sanitización de respuestas de IA (Anti-XSS) — ¿El Markdown o HTML devuelto por la IA se renderiza protegido con sanitizadores (rehype-sanitize / DOMPurify) para evitar inyecciones XSS?

💳 4. Pagos, Webhooks y Lógica de Negocio (3 puntos)

  • [ ] 14. Verificación de firma criptográfica en Webhooks — ¿Tus endpoints de Stripe o LemonSqueezy validan la cabecera stripe-signature con el STRIPE_WEBHOOK_SECRET antes de otorgar acceso?
  • [ ] 15. Idempotencia en procesamiento de eventos — ¿Tu lógica de cobro tolera reintentos automáticos de webhooks sin duplicar cargos ni otorgar doble saldo o suscripciones al cliente?
  • [ ] 16. Validación estricta de esquemas (Zod / Valibot) — ¿Todos los datos recibidos en el servidor se validan contra esquemas estrictos antes de procesarlos o guardarlos en base de datos?

🚀 5. Infraestructura, Logs y Resiliencia (4 puntos)

  • [ ] 17. Monitoreo de errores con sourcemaps privados — ¿Tienes un sistema de error tracking (Sentry, GlitchTip) configurado en frontend y backend para capturar excepciones reales?
  • [ ] 18. Filtrado de datos sensibles en logs — ¿Tus logs de servidor filtran contraseñas, tokens de autenticación, tarjetas bancarias y datos personales protegidos (PII)?
  • [ ] 19. Plan de Rollback instantáneo — ¿Has comprobado que tu plataforma de despliegue (Vercel, Railway) te permite volver a una versión previa con un solo clic ante un fallo crítico?
  • [ ] 20. Manejo elegante de errores en UI — ¿La interfaz muestra mensajes claros y comprensibles ante caídas o latencias de APIs de terceros sin mostrar pantallas en blanco ni stack traces?

  • [ ] 21. Aviso Legal y Términos con titularidad real — ¿Tus páginas legales identifican al responsable real (NIF/CIF, razón social o nombre de autónomo, dirección y email de contacto válido)?
  • [ ] 22. Política de Privacidad adaptada a IA — ¿Informas con total transparencia qué proveedores de IA procesan datos y garantizas que los datos de usuarios no se usan para entrenar modelos públicos?
  • [ ] 23. Acuerdos de Tratamiento de Datos (DPA) — ¿Has formalizado los DPAs online con tu hosting, base de datos y proveedores de IA (OpenAI, Anthropic) bajo la normativa de la UE?
  • [ ] 24. Gestión legal de cookies y analítica — ¿Bloqueas cookies de terceros (Analytics, Pixel) hasta la aceptación expresa del usuario, o empleas analítica cookieless respetuosa (Plausible)?
  • [ ] 25. Canal para derechos RGPD — ¿Dispones de una vía operativa (email de privacidad o botón en perfil) para gestionar solicitudes de borrado o portabilidad de datos?

⚠️ Las 3 Preguntas Trampa antes de salir a producción

Además de revisar los 25 puntos, hazte estas 3 preguntas de contingencia:

  1. ¿Qué ocurre si un bot envía 5.000 peticiones a tu ruta de generación de IA?
    Si no tienes Rate Limiting activo ni un Hard Cap en OpenAI/Anthropic, puedes recibir una factura de varios miles de euros en cuestión de horas.
  2. ¿Qué ocurre si un usuario manipula el ID en la petición para consultar datos ajenos?
    Si confías en el ID de la URL o tu política RLS en Supabase es USING (true), cualquier usuario puede descargar toda la base de datos con una sola llamada curl.
  3. ¿Qué ocurre si Stripe reintenta un webhook de pago fallido?
    Si tu handler no es idempotente, podrías acreditar saldo o licencias dobles al usuario sin darte cuenta.

🛠️ Herramientas recomendadas con criterio de ingeniería

| Área | Herramienta | Por qué la recomendamos | Coste | | :--- | :--- | :--- | :--- | | Rate Limiting | Upstash Redis / Arcjet | Protege endpoints de IA serverless contra abusos y wallet-draining. | Tier gratis generoso + uso | | Error Tracking | Sentry | Captura stack traces con sourcemaps privados en cliente y servidor. | Gratis hasta 5k eventos/mes | | Validación Backend | Zod / Valibot | Tipado estricto y sanitización de inputs en API Routes y Server Actions. | Open Source | | Analítica RGPD | Plausible / PostHog | Analítica cookieless que evita banners molestos y respeta privacidad. | Freemium / Open Source | | Auditoría SAST | Semgrep / Snyk | Detección estática de dependencias vulnerables e inyecciones de código. | Gratis CLI |


📥 Próximos pasos

  1. Prueba la versión interactiva: Puedes calcular tu score de seguridad en tiempo real en nuestra página del checklist interactivo.
  2. Descarga el PDF maquetado: Guarda el documento para compartirlo con tu equipo técnico o tus socios.
  3. ¿Prefieres que un ingeniero revise tu código antes de lanzar?
    En Vibe2Prod ofrecemos un (sesión 1 a 1 en 48h) o una Auditoría Preproducción Completa (1.900€) para blindar tu aplicación antes de recibir usuarios reales.

Recursos oficiales de referencia

Compartir este artículo

Si ya estás cerca del lanzamiento, mejor revisar el caso real.

Podemos mirar auth, configuración, secrets, datos y deploy antes de abrir producción. En 30 minutos te digo si necesitas diagnóstico, auditoría o hardening.