chore: import DH V2 D5.6.4 production baseline
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user