← Workspace

📄 Documento 57 de 95

Workflow: Backup Verification (Trimestral)

Proceso trimestral de verificación de backups: restauración aleatoria desde backup, prueba de integridad, validación funcional, registro de auditoría y reporte a la Asamblea. Evidencia SOC 2 para controles de disponibilidad.

⚠️ Documento interno. Borrador para revisión legal por abogado dominicano colegiado antes de notarización.

Workflow: Backup Verification (Trimestral)

Runbook operativo. Garantiza que los backups de Lawra sean recuperables, íntegros y funcionales mediante pruebas de restauración trimestrales. La existencia de backups sin verificación no es evidencia de resiliencia; este proceso cierra esa brecha. Cumple controles SOC 2 (A1.2, A1.3), ISO 27001 A.12.3 y la Política de Backup y Recuperación. Aprobado por la Asamblea en [__]. Versión: 1.0.


1. Trigger

  • Cadencia: Una vez por trimestre calendario (enero, abril, julio, octubre). La verificación debe completarse dentro de los primeros 15 días del mes de inicio del trimestre.
  • Ad-hoc: Tras un incidente de pérdida de datos o corrupción detectada.
  • Ad-hoc: Antes de una migración de infraestructura mayor (ej. cambio de proveedor de base de datos).
  • Ad-hoc: Solicitud del equipo de auditoría (SOC 2, cliente Enterprise).

2. Roles y Responsabilidades (RACI)

TareaResponsableAprobadorConsultadoInformado
Planificación y ejecución de la verificaciónLuishy Medina (CTO)Carlos Miranda Levy
Selección aleatoria del backup a restaurarLuishy Medina
Restauración técnica en ambiente aisladoLuishy Medina / Ingeniero seniorLuishy
Validación de integridad de datosLuishy Medina
Documentación y reporteLuishy MedinaCarlos Miranda LevyTanya Mejía-RicartCCO
Revisión del reporte por la AsambleaCarlos Miranda LevyAsambleaTodos

3. Inventario de Backups a Verificar

Cada verificación trimestral cubre los siguientes sistemas (los que apliquen al stack actual):

SistemaTipo de backupProveedorFrecuencia del backupRetención
Firestore (base de datos principal)Export automático a Google Cloud StorageGoogle CloudDiario30 días
Firebase Auth (configuración de usuarios)Export manual / scriptFirebaseSemanal o bajo demanda90 días
Repositorio de código (GitHub)Git distribuido + fork/mirrorGitHubContinuo (cada push)Permanente
Google Drive (contratos, documentos legales)Google Vault o export periódicoGoogle WorkspaceDiario (papelera 30 días)Según política de retención
Configuración de infraestructura (firebase.json, firestore.rules, etc.)En el repositorio GitGitHubCada commitPermanente
Emails y comunicaciones críticasGoogle VaultGoogle WorkspaceContinuoSegún política

4. Pasos Numerados

Fase 1 — Planificación (Semana 1 del trimestre, Day 1–3)

Paso 1 — Confirmación del calendario: Luishy confirma que el ejercicio está agendado en las primeras 2 semanas del mes de inicio del trimestre. Si el mes de inicio coincide con una release mayor o un cambio de infraestructura, el ejercicio se realiza antes de dicho cambio.

Paso 2 — Selección aleatoria del backup a restaurar: Para cada sistema en el inventario, Luishy selecciona aleatoriamente un backup de la ventana de retención para restaurar:

  • Para Firestore: seleccionar un export de un día aleatorio de los últimos 30 días (no el más reciente).
  • Para Drive: seleccionar una carpeta o documento crítico de una fecha aleatoria del último trimestre.

Documentar la selección: sistema, fecha del backup seleccionado, hora de la selección. La aleatoriedad es importante para SOC 2 — se debe poder demostrar que no se “escogen” los backups más limpios.

Paso 3 — Preparación del ambiente de restauración: Luishy prepara un ambiente completamente aislado de producción para la restauración:

  • Proyecto GCP separado o namespace diferente en Firebase.
  • Sin acceso a datos reales de usuarios desde el ambiente de prueba.
  • Sin conexión a los sistemas de IA en producción.

Fase 2 — Restauración (Day 3–7)

Paso 4 — Restauración de Firestore: Luishy ejecuta la restauración del export de Firestore seleccionado al proyecto/ambiente de prueba:

# Ejemplo de restauración de Firestore desde GCS
gcloud firestore import gs://lawra-backups/{fecha-seleccionada}/firestore-export \
  --collection-ids=users,submissions,newsletter-subscribers,trial-simulations \
  --project=lawra-backup-test

Documentar: hora de inicio, comando ejecutado, salida del comando (éxito / errores), hora de finalización.

Paso 5 — Verificación de integridad del backup restaurado: Luishy ejecuta consultas de validación contra la base de datos restaurada:

  • Conteo de documentos por colección: ¿los números son plausibles comparados con la producción de esa fecha?
  • Verificar que documentos muestra (IDs conocidos) existen y tienen la estructura de datos esperada.
  • Verificar que no hay colecciones faltantes o con 0 documentos cuando se esperaba contenido.
  • Verificar checksums o hashes si el proveedor los genera.

Paso 6 — Restauración de configuración de infraestructura (Git): Verificar que el repositorio de código tiene el historial completo y es recuperable:

git log --oneline -20  # Verificar historial reciente
git clone {URL del repo} lawra-recovery-test  # Clonar en directorio local temporal
npm run build  # Verificar que el último commit buildea sin errores

Paso 7 — Restauración de documentos de Drive (muestra): Luishy verifica que 3–5 documentos críticos de Drive (contratos, actas) son accesibles y tienen el contenido correcto (apertura + revisión visual de la primera página).


Fase 3 — Validación Funcional (Day 7–10)

Paso 8 — Prueba de lectura funcional: Con la base de datos restaurada (en ambiente aislado), Luishy ejecuta una instancia local de la aplicación conectada al ambiente de prueba y verifica:

  • Que un usuario de prueba puede autenticarse.
  • Que los datos del usuario de prueba están presentes (historial, preferencias).
  • Que las funciones básicas de lectura operan sin errores.

Paso 9 — Medición del RTO (Recovery Time Objective): Luishy registra el tiempo total transcurrido desde el inicio de la restauración (Paso 4) hasta la validación funcional completada (Paso 8). Este es el RTO observado para el trimestre.

Objetivo RTO: < 4 horas para restauración completa de Firestore + validación funcional básica.

Si el RTO observado supera el objetivo → documentar el gap y planificar mejoras de infraestructura.

Paso 10 — Verificación de RPO (Recovery Point Objective): Luishy confirma cuál es la pérdida máxima de datos si se usara este backup en una recuperación real:

  • Para backups diarios: RPO máximo = 24 horas.
  • Si el RPO observado es mayor (ej. el último backup disponible tiene más de 24 horas de antigüedad), documentar como hallazgo y escalar.

Fase 4 — Limpieza y Documentación (Day 10–12)

Paso 11 — Limpieza del ambiente de restauración: Luishy destruye o limpia el ambiente de prueba creado:

  • Eliminar el proyecto GCP de prueba o las colecciones restauradas.
  • Confirmar que no quedan datos reales de usuarios en el ambiente de prueba.
  • Eliminar archivos temporales locales.

Paso 12 — Documentación del ejercicio: Luishy completa el Reporte de Verificación de Backup Trimestral con:

  • Fecha y período del trimestre.
  • Sistemas verificados.
  • Backups seleccionados (sistema, fecha del backup).
  • Resultados de integridad (éxito / fallo / hallazgos parciales).
  • RTO observado vs. objetivo.
  • RPO observado vs. objetivo.
  • Hallazgos o problemas identificados.
  • Acciones correctivas necesarias (si aplica).

Fase 5 — Reporte y Acciones Correctivas (Day 12–15)

Paso 13 — Revisión del reporte: Carlos Miranda Levy revisa el reporte. Si hay hallazgos críticos (backup corrupto, RTO fuera de objetivo, backups faltantes), se escala inmediatamente como un riesgo operativo.

Decisión A: ¿Se identificaron hallazgos críticos?

  • Sí → Abrir un plan de acción correctiva con Luishy en < 5 días hábiles. Si el sistema de backup está comprometido → notificar a Tanya (implicaciones de DPA con clientes Enterprise).
  • No → El reporte se archiva como evidencia SOC 2 y se presenta en la próxima Asamblea trimestral.

Paso 14 — Comunicación a la Asamblea: En la reunión trimestral de socios, Luishy presenta un resumen de 2–3 minutos:

  • Sistemas verificados.
  • RTO / RPO observados.
  • Hallazgos y estado de acciones correctivas.

5. Procedimiento de Backup Mensual (Verificación Ligera)

Entre las verificaciones trimestrales completas, Luishy realiza una verificación ligera mensual:

  • Confirmar que los backups automáticos de Firestore se ejecutaron correctamente en el último mes (revisar logs de GCS).
  • Confirmar que el repositorio GitHub está activo y recibiendo pushes.
  • Confirmar que Google Vault está retiendo emails según la política.
  • Documentar en un log mensual (5 minutos de trabajo).

6. Puntos de Decisión

DecisiónOpciones
A — ¿Hallazgos críticos en la verificación?No → archivar y presentar / Sí → plan correctivo + notificar Tanya si aplica DPA
B — ¿RTO observado supera el objetivo?No → documentar / Sí → planificar mejoras de infraestructura en el trimestre siguiente
C — ¿Backup no disponible para la fecha seleccionada?Investigar fallo del sistema de backup → hallazgo crítico → Decisión A

7. Outputs / Artifacts

  • Reporte de Verificación de Backup Trimestral (por trimestre).
  • Log de verificación ligera mensual.
  • Plan de acción correctiva (si aplica).
  • Evidencia de comandos ejecutados y resultados (capturas o logs).

8. Checklist Final

  • Backups seleccionados aleatoriamente y documentados.
  • Ambiente de restauración aislado preparado.
  • Restauración de Firestore completada y verificada.
  • Restauración de repositorio Git verificada (clone + build).
  • Documentos críticos de Drive verificados (muestra).
  • Prueba funcional básica completada en ambiente aislado.
  • RTO y RPO medidos y documentados.
  • Ambiente de restauración limpiado.
  • Reporte trimestral completado y firmado.
  • Presentado en Asamblea trimestral.

9. Métricas / KPIs

MétricaObjetivo
Verificaciones trimestrales completadas en el año4 de 4
RTO observado (Firestore + validación funcional)< 4 horas
RPO observado (antigüedad del último backup disponible)≤ 24 horas
Backups sin disponibilidad en la fecha seleccionada0
Hallazgos críticos sin plan correctivo en 5 días0
Reportes archivados y disponibles para auditoría SOC 2100 %

10. Referencias

  • Política de Backup y Recuperación
  • Plan de Respuesta a Incidentes (orden 31) — para brechas durante la restauración
  • Política de Gestión de Cambios — coordinación de ejercicios antes de migraciones
  • SOC 2 Criterios de Disponibilidad A1.2 (backups) y A1.3 (recuperación)
  • ISO 27001 A.12.3 — Copias de seguridad de la información
  • NIST SP 800-34 Rev.1 — Contingency Planning Guide for Federal Information Systems

11. Auditoría

RegistroRetenciónEvidencia SOC 2
Reporte de verificación trimestral5 añosA1.2 — Environmental protections / A1.3 — Recovery
Log de verificación ligera mensual5 añosA1.2
Planes de acción correctiva5 añosA1.2
Evidencia de selección aleatoria del backup5 añosCC9.1 — Risk management

Adoptado por la Asamblea General de Socios en fecha [__]. Próxima revisión: [fecha + 12 meses]. Próximo ejercicio trimestral: [mes de inicio del próximo trimestre].


Por LAWRA, S.R.L. — Gerente

Comments

Loading comments...

0/2000 Comments are moderated before appearing.