feat: version 3.0.0 -- Correcciones de auditoria de seguridad, accesibilidad y redundancia

Permisos (superadmin, viewer, busqueda, tareas recurrentes), bootstrap atomico,
revocacion de JWT por version de sesion (028), control optimista de edicion (029),
logo sin SVG + CSP, ingesta endurecida, correos escapados, borradores, paginacion
de proyectos, accesibilidad de dialogos/controles e i18n.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-10-23 11:36:02 -05:00
parent 8ed1d63505
commit e65111a7f4
112 changed files with 2285 additions and 651 deletions
+4
View File
@@ -58,6 +58,10 @@
- **Rate limiting** en `POST /api/auth/login`.
- Sirviendo la SPA: CSP (helmet) — `script-src 'self'` (sin inline), `style-src 'self' 'unsafe-inline'`,
`img-src 'self' data: blob:`, `object-src 'none'`.
- La SPA de producción recibe CSP desde `frontend/public/serve.json` (el servidor `serve` copia
ese archivo al build); el backend usa Helmet en `/api`. En Vite dev no se aplica el header del
servidor `serve`, para permitir el módulo de recarga de React. El logo de empresa solo admite
PNG/JPG/WEBP comprobados por firma y se entrega con `nosniff`.
### 1.6 Frontend / caché
- El JWT en `localStorage` es un trade-off aceptado; mantener CSP y sanitización.