Práctico

Exportación y borrado de cuenta

Configura inventario de privacidad, exportaciones autenticadas, borrado diferido, limpieza de proveedores, seudonimización y cancelación.

Sincronizado con el commit 7d452a6. Revisa este flujo y la retención con asesoría legal antes de producción.

Inventario probado

src/config/account-data-policy.ts asigna a cada tabla: eliminar, seudonimizar, conservar o no personal, y si se exporta. Una prueba compara el inventario con src/db/schema.ts; añadir una tabla sin decisión de privacidad rompe el build.

Credenciales, hashes, sesiones, tokens y secretos TOTP nunca se exportan. Registros financieros, de auditoría, ledger y espacios compartidos pueden conservarse tras reemplazar identificadores.

Exportar

POST /api/account/data-export requiere autenticación, mismo origen, límite de frecuencia e Idempotency-Key. Devuelve 202 y encola el trabajo. Consulta GET /api/account/data-export/{requestUuid}.

Al terminar devuelve un manifiesto y enlaces firmados de cinco minutos. Los artefactos siguen privados y caducan a los siete días por defecto.

Borrar

POST /api/account/deletion exige además una sesión de menos de 15 minutos. El periodo de gracia predeterminado es siete días; se cancela con DELETE y se consulta con GET.

Se bloquea al último owner de una organización compartida o al último administrador con acceso completo. Tras la gracia, el worker revoca credenciales, cancela Stripe, elimina objetos del espacio personal, limpia registros eliminables y seudonimiza finanzas, reservas, créditos y auditoría conservados.

src/config/account-lifecycle.ts controla gracia, retención, sesión fresca, eliminación del cliente Stripe, blocklist y duración de URLs. Son valores técnicos, no asesoría legal.

Mantén almacenamiento privado y cron activos, implementa hooks para todo proveedor nuevo, actualiza la política al crear tablas y prueba todo el flujo con una cuenta desechable. No registres payloads ni URLs firmadas.

Exportación y borrado de cuenta · Sushi SaaS