50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
# Cierre de Fase A — Matriz de aceptación
|
|
|
|
## Backend
|
|
|
|
| Criterio | Evidencia |
|
|
|---|---|
|
|
| Migraciones controladas | TypeORM con `synchronize: false` y `migration:show` sin pendientes |
|
|
| Tablas, índices y seeds | Migraciones A1/A2 aplicadas y 26 índices verificados en producción |
|
|
| Bootstrap seguro | CLI interactiva, contraseña oculta y bloqueo si ya existe admin |
|
|
| Auth completa | login, refresh, logout, me y change-password |
|
|
| Sesiones | hash del refresh, rotación, revocación y detección de reutilización |
|
|
| Autorización | guard global y permisos resueltos desde base |
|
|
| Usuarios y roles | endpoints administrativos protegidos y auditados |
|
|
| Auditoría | filtros, paginación, detalle, request ID y sanitización |
|
|
| Dashboard | resumen protegido por `dashboard.read` |
|
|
| Rate limiting | throttling global y límites reforzados en autenticación |
|
|
| Usuario DB runtime | API configurada con `DB_APP_USER`, separada del owner |
|
|
|
|
## Frontend
|
|
|
|
| Criterio | Evidencia |
|
|
|---|---|
|
|
| Login y sesión | AuthContext con cookies y renovación controlada |
|
|
| Tokens | ningún JWT en `localStorage` o `sessionStorage` |
|
|
| Rutas | protección por sesión y redirección al login |
|
|
| Contraseña temporal | bloqueo de módulos hasta completar el cambio |
|
|
| Permisos visibles | navegación y acciones mediante `PermissionGate` |
|
|
| Administración | dashboard, usuarios, roles y auditoría |
|
|
| Cierre de sesión | revocación backend y limpieza local |
|
|
| Identificación | footer visible `v0.7.0 · Fase A7` |
|
|
|
|
## Seguridad e infraestructura
|
|
|
|
| Criterio | Evidencia |
|
|
|---|---|
|
|
| HTTPS | login y API externa accesibles únicamente mediante el proxy configurado |
|
|
| Cookies | `HttpOnly` para acceso/refresh; `Secure` y `SameSite=Strict` |
|
|
| CSRF | escritura con cookie rechazada sin `x-csrf-token` |
|
|
| Acceso anónimo | sólo `/api/v3/health` es público |
|
|
| Secretos | sanitización de auditoría y ninguna credencial en artefactos fuente |
|
|
| Docker | DB saludable, API y web en ejecución |
|
|
| Backup | fuentes, base, `.env`, Nginx, manifiesto y checksums |
|
|
| Recuperación | dump y TAR verificables sin modificar producción |
|
|
|
|
## Resultado
|
|
|
|
Cuando el deploy A7, la aceptación autenticada y la verificación del backup
|
|
finalizan sin errores, la Fase A queda formalmente cerrada y puede comenzar la
|
|
Fase B — Maestro de Activos.
|