Última actualización: 13 de abril de 2026
Esta Política describe las medidas técnicas y organizativas implementadas por Libertad VZLA para proteger la integridad del Sitio, la confidencialidad de los datos de sus usuarios y la continuidad del servicio. También incluye el proceso de divulgación responsable de vulnerabilidades.
Todas las comunicaciones entre el navegador del usuario y los servidores de Libertad VZLA se realizan exclusivamente mediante HTTPS con TLS 1.2 o superior. El certificado SSL es provisto y renovado automáticamente por Vercel. Las conexiones HTTP planas son redirigidas automáticamente a HTTPS mediante redirección 301.
Los datos almacenados en reposo en Supabase (PostgreSQL) están cifrados mediante AES-256 a nivel de disco, conforme a los estándares de la plataforma.
HttpOnly, Secure y SameSite=Strict, lo que las hace inaccesibles desde JavaScript del lado del cliente y protegidas contra ataques CSRF y XSS./admin/*) están protegidas por un middleware de Next.js que verifica la sesión activa y el rol de usuario en cada request, rechazando accesos no autorizados con una redirección a la página de login.Libertad VZLA implementa defensas activas contra las principales clases de vulnerabilidades del OWASP Top 10:
| Vulnerabilidad | Medida implementada |
|---|---|
| SQL Injection | Uso exclusivo del cliente Supabase con consultas parametrizadas. Nunca se construyen queries con concatenación de strings de usuario. |
| XSS (Cross-Site Scripting) | React escapa automáticamente el HTML en el render. Las cookies de sesión son HttpOnly. Se aplican Content Security Policy headers en producción. |
| CSRF | Las cookies usan SameSite=Strict. Los endpoints de mutación están protegidos por Server Actions de Next.js con validación de origen. |
| Broken Authentication | Gestión de sesiones delegada a Supabase Auth con rotación de tokens y expiración configurada. No existe gestión de sesiones artesanal. |
| Broken Access Control | Row Level Security activado en Supabase + validación de rol en middleware de Next.js para todas las rutas admin. |
| Exposición de Datos Sensibles | Claves API y secretos de entorno almacenados exclusivamente como variables de entorno cifradas en Vercel. Nunca en el repositorio o en el cliente. |
| Endpoint de Cron sin protección | El endpoint /api/news/ingest requiere un CRON_SECRET en la cabecera de autorización. Sin él, retorna HTTP 401. |
El proyecto utiliza dependencias de código abierto auditadas y mantenidas activamente. Se realizan revisiones periódicas de vulnerabilidades conocidas (CVEs) mediante las herramientas de análisis de dependencias de GitHub (Dependabot). Las actualizaciones de seguridad críticas se aplican con prioridad.
Las claves API de servicios externos (Gemini, GNews) operan con el principio de mínimo privilegio: cada clave solo tiene los permisos estrictamente necesarios para su función y no puede ser utilizada para operaciones fuera de su alcance designado.
Libertad VZLA dispone de un sistema de logging estructurado implementado mediante un logger centralizado que registra eventos críticos del servidor (errores de autenticación, fallos de API, accesos denegados) sin registrar datos personales sensibles en los logs.
Ante la detección de un incidente de seguridad que afecte datos de usuarios, nos comprometemos a:
Libertad VZLA valora la colaboración de la comunidad de seguridad. Si usted descubre una vulnerabilidad de seguridad en nuestro Sitio, le pedimos que la reporte de forma responsable antes de divulgarla públicamente.
Nos comprometemos a responder a su reporte en un plazo de 5 días hábiles, a mantener comunicación continua sobre el progreso y a dar el crédito público correspondiente (si lo desea) una vez resuelto el problema.
Alcance del programa: Aplica únicamente para el dominio www.libertadvzla.com y sus subdominios. No aplica para servicios de terceros (Supabase, Vercel, Google) ni para ataques de ingeniería social.
En pro de la transparencia, declaramos que Libertad VZLA es actualmente un Producto Mínimo Viable (MVP) en etapa de validación. Las siguientes mejoras de seguridad están en la hoja de ruta pero aún no están implementadas:
Para reportes de seguridad: seguridad@libertadvzla.com
Para consultas generales: privacidad@libertadvzla.com