Si encuentras una vulnerabilidad de seguridad, abre un issue en el repositorio
con el label security o contacta al mantenedor directamente.
- JWT con access + refresh tokens (rotación y blocklist)
- Contraseñas hasheadas con bcrypt
- Rate limiting en login, register y tickets públicos
- CORS configurado por orígenes permitidos
- Headers de seguridad: X-Content-Type-Options, X-Frame-Options, Strict-Transport-Security, Content-Security-Policy
- Validación de tipo, extensión y tamaño en subida de documentos
- Multi-tenant por company_id (aislamiento de datos por fila)
- SQL parametrizado via SQLAlchemy (protección contra inyección)
- Generar JWT_SECRET seguro:
python scripts/generate_secret.py - Cambiar MYSQL_PASSWORD por defecto
- Configurar CORS_ORIGINS con el dominio real
- Configurar SMTP para envío de emails
- Usar Redis para blocklist persistente (REDIS_HOST)
- No exponer puertos de MySQL/Redis al host