Última actualización: 2026-05-02
Seguridad
LeadNova AI fue diseñado para gestionar conversaciones y datos de clientes de miles de operadores. Por eso la seguridad no es una característica que añadimos después — forma parte de cómo el producto se diseña, despliega y opera. 1. Cifrado. Todo el tráfico va por TLS 1.2+. Los datos en reposo se cifran con AES-256, incluyendo la base de datos y los adjuntos en almacenamiento de objetos. Los secretos de aplicación se cifran con `ENCRYPTION_KEY` y se rotan mediante `ENCRYPTION_KEY_PREV`. 2. Infraestructura. Cómputo en Vercel (SOC 2 Type II, ISO 27001). Base de datos primaria en Neon Postgres en EU-Frankfurt (PITR + snapshots automáticos). Almacenamiento de objetos en proveedores S3-compatibles con server-side encryption. Cachés y rate-limit en Upstash Redis. Ninguno de estos vendedores tiene las claves de cifrado de nuestros secretos. 3. Control de acceso. Los workspaces están aislados a nivel de fila — cada tabla de dominio lleva `workspaceId` y cada consulta filtra por ella. Los roles de operador (owner / admin / manager / agent / viewer) limitan acciones tanto en la UI como en el servidor. El acceso super-admin a la consola de ops requiere una lista explícita de correos en env más sesión autenticada — la membresía en workspace no escala a permisos de plataforma. 4. Autenticación. Contraseñas con argon2id (memory-hard, recomendado por OWASP). Sesiones JWT firmadas con max-age de 30 días y refresh cada 24h. OAuth opcional con Google, X (Twitter), Meta. Tokens de recuperación de contraseña: 256 bits, hash antes de guardar, un solo uso, expiran a los 30 minutos. 5. Seguridad de aplicación. Cada server action y route handler pasa por un conjunto de guards (`requireAuth`, `requireWorkspace`, `requireWorkspaceRole`, `requireApp`). Los webhooks (Meta, Stripe, Paddle) verifican firmas con comparación constant-time. Los endpoints cron requieren un secret compartido con comparación timing-safe. 6. Rate limiting. Endpoints públicos (auth, webhooks, OAuth, widget de chat) limitados por IP y por workspace vía Upstash. Las peticiones de reset de contraseña tienen doble bucket — por IP y por email. 7. Logging y monitoreo. Logs estructurados (pino) en Vercel. Errores de aplicación reportados a Sentry con etiquetas de workspace y feature. Webhooks de billing fallidos, cron y envíos salientes son trackeados y rejugables. No registramos contraseñas, números de tarjeta completos, contenido de conversaciones (más allá de un preview corto), ni tokens OAuth de terceros. 8. Gestión de vulnerabilidades. Dependencias escaneadas en cada push (npm audit + GitHub Dependabot). Hallazgos high-severity bloquean el deploy. Secretos solo en env de Vercel (cifrados en reposo); commits escaneados contra disclosure accidental. 9. Respuesta a incidentes. Reporta posibles incidentes a security@leadnova.app. Confirmamos en 24h, mitigamos issues críticos en 72h, notificamos workspaces afectados de brechas de datos personales confirmadas en las 72h siguientes (GDPR Art. 33). 10. Compliance. GDPR + UK GDPR alineados. Controles SOC 2 Type II implementados; auditoría formal en el roadmap público. HIPAA-ready disponible en Pro+ bajo petición. SCC + UK Addendum cubren transferencias internacionales. Lista actualizada de sub-procesadores en nuestro DPA en /legal/dpa. 11. Disclosure responsable. Sin acciones legales contra investigadores de buena fe; reconocimiento público a petición; canal privado en security@leadnova.app. Fuera de alcance: ingeniería social, DoS, ataques físicos. Contacto: security@leadnova.app · clave PGP a petición.