Seguridad
Cómo aborda PrestaMesta la seguridad
La seguridad no es una función adicional: forma parte de cada decisión de diseño.
Este proyecto es una entrega académica para las materias de Arquitectura de Software y Seguridad Informática. Por eso distinguimos con cuidado entre tres cosas muy distintas: lo que ya está implementado en esta página, lo que se propone para una futura aplicación móvil, y lo que dependería de un backend real que hoy no existe. No afirmamos contar con auditorías, certificaciones o cumplimiento legal que no se hayan realizado.
Cifrado en tránsito (HTTPS)
En producción, el tráfico llega a través de un proxy (Traefik, gestionado por Coolify) que termina TLS y fuerza HTTPS. El servidor de la aplicación nunca recibe tráfico HTTP directo desde internet.
Validación de entradas
El formulario de novedades valida formato de correo y longitud máxima con Reactive Forms. La URL de descarga de la APK y su hash se validan con funciones puras antes de mostrarse o usarse.
Codificación segura de salidas
Todo el contenido dinámico pasa por el enlace de datos estándar de Angular, que escapa el contenido automáticamente. No se usa innerHTML, outerHTML, ni las APIs bypassSecurityTrust*.
Privacidad por diseño
El único dato personal solicitado en todo el sitio es un correo electrónico opcional. No se piden CURP, identificaciones, domicilios, ingresos ni datos bancarios.
Mínimo privilegio
La imagen Docker de producción ejecuta el proceso Node/Express con un usuario sin privilegios administrativos, y expone solo el puerto necesario para el proxy interno.
Gestión segura de configuración
El archivo público de configuración se analiza con una función pura que descarta propiedades inesperadas y aplica valores por defecto seguros. Los secretos, si existieran, vivirían únicamente como variables de entorno del servidor, nunca en el bundle.
Protección frente a entradas maliciosas
Esta entrega valida formato en el cliente, pero un filtrado robusto contra abuso a gran escala requeriría límites de tasa y reglas a nivel de proxy/infraestructura, fuera del alcance de una landing page académica.
Actualizaciones verificables
La sección de descarga muestra la versión y el hash SHA-256 asociado, para que cualquier persona pueda confirmar que el archivo que descargó corresponde a la versión publicada.
Integridad de la APK
El hash solo se muestra si tiene un formato válido (64 caracteres hexadecimales). Instrucciones para generarlo en Linux, macOS y Windows están disponibles junto al botón de descarga.
Minimización de datos
Ningún formulario de este sitio solicita más datos de los necesarios para su propósito puntual: el correo electrónico es el único dato personal recolectado, y solo con fines de aviso.
Gestión segura de errores
Los mensajes de error visibles para la persona usuaria son genéricos y no exponen trazas de pila, rutas del servidor ni detalles de configuración interna.
Sin contraseñas en texto plano
Este sitio no implementa inicio de sesión. Si en el futuro se añadiera autenticación, las contraseñas deberían almacenarse únicamente como hashes (por ejemplo con Argon2 o bcrypt) en un backend dedicado, nunca en el frontend ni en texto plano.
Límites de esta sección
Esta página describe decisiones de diseño e intenciones de arquitectura, no el resultado de una auditoría de seguridad independiente. No existe cifrado adicional, certificación o cumplimiento normativo distinto de lo descrito explícitamente aquí.