Volver al blog Data Governance

¿Puede eliminar datos cuando lo necesita? Lista de verificación de retención y eliminación para aplicaciones autohospedadas

Antes de adoptar una aplicación autohospedada, evalúe algo más que las exportaciones y las copias de seguridad. Use esta lista de verificación para identificar dónde residen los datos, definir los eventos de retención, comprobar qué hace realmente la eliminación y diferenciar la eliminación de datos activos de las copias de seguridad, los registros y los servicios conectados.

Equipo de operaciones revisando una lista de verificación de retención y eliminación de datos de una aplicación autohospedada

Por qué la eliminación es un requisito de selección de aplicaciones, no solo una tarea de política de privacidad

Una aplicación puede ser fácil de desplegar, exportar y respaldar, y aun así resultar difícil de gobernar cuando es necesario eliminar información. La cuestión práctica no es simplemente si la interfaz tiene un botón Eliminar. Es si su equipo puede localizar los datos relevantes, aplicar la regla de retención adecuada, preservar las excepciones justificadas y aportar evidencias de lo ocurrido.

Esto importa para los datos personales, pero también es una cuestión operativa para los registros de clientes, datos de empleados, archivos cargados, comentarios, credenciales, materiales de proyectos e información de diagnóstico. La guía sobre el RGPD de la Comisión Europea describe la limitación del plazo de conservación como mantener los datos personales no más tiempo del necesario y establecer plazos para eliminarlos o revisarlos. Es un principio operativo útil incluso cuando el RGPD no es el único marco aplicable a su organización.

Trate la capacidad de eliminación como un criterio de adopción. Evalúela durante una prueba o prueba de concepto, cuando todavía puede elegir otra aplicación o diseñar controles compensatorios. No dé por hecho que el autohospedaje simplifica la eliminación: los datos pueden estar distribuidos entre la base de datos de la aplicación, el almacenamiento persistente, las copias de seguridad, los logs y los servicios conectados.

  • Convierta la retención y la eliminación en un criterio de aceptación documentado, junto con el control de acceso, las exportaciones, la copia de seguridad y la restauración.
  • Evalúe los componentes reales del despliegue, no solo la documentación del producto o las etiquetas de la interfaz.
  • Exija una prueba repetible con datos de muestra antes de incorporar información de producción al sistema.
  • Derive las cuestiones de retención legales, contractuales y específicas del sector a los asesores internos o externos correspondientes.
Por qué la eliminación es un requisito de selección de aplicaciones, no solo una tarea de política de privacidad

Empiece con un inventario de datos: registros, archivos, comentarios, perfiles de usuario, eventos de auditoría, logs, exportaciones y datos derivados

No puede eliminar información de forma fiable si no la ha identificado. Elabore un inventario basado en los tipos de datos y sus copias, en lugar de depender de una sola categoría como «datos de clientes». Comience por lo que los usuarios pueden ver y, después, siga las rutas técnicas que procesan, replican o conservan esa información.

Para cada categoría, registre la ubicación del sistema, el responsable de los datos, la finalidad, la regla de retención, el método de eliminación, los roles con acceso, las integraciones, el tratamiento en las copias de seguridad y la fuente de evidencia. La guía de NIST sobre gestión de logs es un recordatorio útil de que la retención y la eliminación se aplican tanto en las capas de sistema como de infraestructura; los datos de la aplicación por sí solos no constituyen el inventario completo.

Incluya las copias derivadas y operativas. Un nombre o identificador puede aparecer en un comentario, nombre de archivo adjunto, hoja de cálculo exportada, notificación, índice de búsqueda, entrada de caché o metadatos de log. La documentación de Docker también indica que los controladores de logs pueden añadir a la salida valores de variables de entorno y etiquetas de los contenedores; por tanto, revise qué incluye su despliegue en esos campos.

  • Registros principales: contactos, transacciones, proyectos, tickets, contenido, formularios y objetos de negocio.
  • Datos relacionados con usuarios: perfiles, identificadores de autenticación, roles, preferencias y estado de la cuenta.
  • Material generado por usuarios: cargas, adjuntos, comentarios, revisiones, imágenes y documentos incrustados.
  • Datos operativos: eventos de auditoría, logs de la aplicación, logs de contenedores, logs de la base de datos, informes de errores y métricas cuando corresponda.
  • Copias derivadas: exportaciones, informes, índices de búsqueda, cachés, vistas previas, notificaciones y cargas útiles de trabajos en segundo plano.
  • Copias de almacenamiento y resiliencia: volcados de bases de datos, volúmenes persistentes, instantáneas del almacén de archivos y archivos de copia de seguridad.
  • Copias externas: proveedores de correo electrónico, proveedores de identidad, receptores de webhooks, plataformas de analítica, herramientas de automatización y almacenamiento de objetos.
Empiece con un inventario de datos: registros, archivos, comentarios, perfiles de usuario, eventos de auditoría, logs, exportaciones y datos derivados

Pruebe qué significa «eliminar» en la aplicación: eliminación lógica, borrado permanente, archivo y desactivación de cuentas

Los términos de una interfaz no son garantías técnicas. «Eliminar», «quitar», «archivar», «inhabilitar» y «desactivar» pueden producir resultados muy distintos. Un elemento eliminado puede quedar oculto para los usuarios normales, pero seguir disponible para administradores; una cuenta puede no poder iniciar sesión mientras su perfil y contenido permanecen intactos; un archivo puede conservar intencionadamente el registro completo.

Realice una prueba controlada con datos sintéticos e identificables de forma única. Cree un registro, comentarios relacionados, un adjunto y una cuenta de usuario cuando la aplicación lo permita. A continuación, ejecute cada acción disponible e inspeccione los resultados esperados para usuarios y administradores. Pruebe los límites de los roles: ¿los usuarios normales, gerentes, administradores y clientes de API aún pueden encontrar o recuperar el contenido?

Si la aplicación utiliza PostgreSQL, diferencie la visibilidad a nivel de aplicación de la eliminación física inmediata de versiones antiguas de filas. PostgreSQL explica que, con MVCC, un DELETE o UPDATE no elimina inmediatamente la versión anterior de la fila; VACUUM recupera posteriormente espacio para reutilizarlo. VACUUM estándar generalmente hace que el espacio sea reutilizable en lugar de devolverlo al sistema operativo, mientras que VACUUM FULL reescribe una tabla para compactarla. Esto es un hecho de mantenimiento de bases de datos, no un motivo para eludir controles de la aplicación ni para hacer afirmaciones no respaldadas sobre la recuperabilidad. Establezca el estándar de verificación adecuado para su caso de uso con las partes interesadas técnicas y de cumplimiento cualificadas.

  • ¿El elemento está ausente de las vistas normales, búsquedas, API y pantallas administrativas?
  • ¿Puede un administrador restaurarlo? Si es así, ¿con qué rol y durante cuánto tiempo?
  • ¿La eliminación se propaga a registros secundarios, comentarios, adjuntos y revisiones?
  • ¿La eliminación de una cuenta es distinta de la desactivación o la revocación de acceso?
  • ¿La aplicación proporciona una exportación o registro de auditoría de la acción sin conservar contenido innecesario?
  • ¿Hay disponibles acciones de eliminación masiva y retención automatizada, o el procesamiento manual es la única vía?

Rastree los datos relacionados: adjuntos, revisiones, índices de búsqueda, notificaciones, cachés y datos de trabajos en segundo plano

Una prueba de eliminación satisfactoria sigue las relaciones, no solo el registro principal. Empiece con un marcador conocido en su registro sintético y búsquelo en todo el contenido relacionado. Revise las tablas de la base de datos únicamente si está autorizado y tiene la competencia para hacerlo; de lo contrario, pida al responsable de mantenimiento de la aplicación que explique el modelo de datos y aporte evidencia compatible.

Los adjuntos requieren especial atención porque pueden residir en una base de datos, un directorio persistente local o almacenamiento de objetos externo. Las revisiones y vistas previas de documentos pueden sobrevivir a la versión actual. Los índices de búsqueda y las cachés pueden permanecer temporalmente desactualizados. Las notificaciones por correo electrónico y los trabajos en segundo plano en cola pueden contener ya valores copiados. Decida qué retraso, si lo hubiera, es aceptable para cada componente y cómo verificará su eliminación eventual.

La configuración del almacenamiento de objetos puede cambiar el significado de eliminar. AWS documenta que, en un bucket de S3 con control de versiones habilitado, una solicitud de eliminación sin un ID de versión añade un marcador de eliminación en lugar de eliminar permanentemente el objeto. La eliminación permanente requiere eliminar las versiones retenidas especificadas. Si una aplicación utiliza almacenamiento de objetos versionado o un servicio compatible, pruebe el comportamiento exacto del almacenamiento y su capacidad para identificar cada versión pertinente.

  • Registre la ubicación de los adjuntos y si los archivos se copian, transforman o previsualizan.
  • Compruebe las revisiones, el historial, las funciones de papelera o reciclaje y sus ajustes de expiración.
  • Busque el marcador de prueba antes y después de la eliminación mediante la búsqueda y las API compatibles de la aplicación.
  • Identifique el comportamiento de actualización de cachés e índices, incluidos los trabajos asíncronos.
  • Inspeccione las plantillas de notificación, las rutas de entrega de correo electrónico y las colas de trabajos para detectar contenido copiado.
  • Para el almacenamiento de objetos externo, verifique el control de versiones, los marcadores de eliminación, las reglas de ciclo de vida y la evidencia de eliminación.

Compruebe los sistemas conectados: proveedores de identidad, servicios de correo electrónico, webhooks, analítica, herramientas de automatización y almacenamiento externo

Las integraciones hacen que los datos de las aplicaciones sean más útiles, pero amplían el límite de la eliminación. Una aplicación puede retirar un registro local mientras un proveedor de correo electrónico conserva una notificación, un flujo de automatización almacena su carga útil, un destino de webhook recibe una copia o un proveedor de identidad conserva atributos de cuenta conforme a sus propias reglas de ciclo de vida.

Documente cada conexión entrante y saliente. Para los flujos salientes, identifique qué campos se transmiten, si se envía una carga útil completa o un identificador, si los reintentos o el procesamiento de mensajes fallidos retienen datos y si el destinatario puede eliminarlos. Para los flujos entrantes, identifique si el sistema externo puede volver a crear un registro después de eliminarlo.

Este es también un punto de decisión. Si una integración crítica no puede cumplir sus requisitos de retención y no existe una alternativa arquitectónica aceptable, no considere suficiente un botón Eliminar local de la aplicación. Elija un diseño de integración o una aplicación diferentes.

  • Identidad: identificadores de cuenta, atributos de perfil, proceso de baja y reglas de fuente de referencia.
  • Correo electrónico: contenido de los mensajes, adjuntos, logs de entrega, listas de supresión y controles de retención.
  • Webhooks y automatización: contenido de las cargas útiles, reintentos, historiales de flujos de trabajo, logs de ejecución y destinatarios posteriores.
  • Analítica: campos de eventos, identificadores, datos relacionados con IP cuando corresponda e interfaz de eliminación.
  • Almacenamiento externo: ciclo de vida de objetos, control de versiones, réplicas, controles de acceso y registros de auditoría.
  • Documente un contacto o responsable para cada sistema conectado y cada vía de eliminación.

Diferencie la eliminación de datos activos de la retención de copias de seguridad y los procedimientos de restauración

La eliminación de datos activos y la expiración de copias de seguridad resuelven problemas diferentes. Eliminar información de la aplicación de producción no la elimina automáticamente de los archivos de copia de seguridad ya creados. A la inversa, hacer que expiren las copias de seguridad no demuestra que la aplicación activa haya eliminado un registro. Documente ambos ciclos de vida de forma explícita.

Docker señala que un volumen de datos persiste después de eliminar su contenedor. Por tanto, eliminar o volver a crear un contenedor no demuestra que se hayan eliminado los datos subyacentes de la aplicación. Docker también documenta procedimientos para realizar copias de seguridad del contenido de volúmenes y restaurarlo en el volumen del mismo contenedor o de otro, razón por la cual las rutas de restauración deben formar parte de la evaluación.

En una aplicación gestionada por Airbip, las instancias se ejecutan como cargas de trabajo de Docker en servidores cloud de Airbip, y Airbip proporciona copias de seguridad diarias, semanales y mensuales configurables. Los clientes deben definir la programación y configuración de retención de copias de seguridad necesarias, y luego confirmar cómo esa configuración se alinea con sus reglas de eliminación a nivel de aplicación. La infraestructura gestionada puede hacer prácticas las operaciones de ciclo de vida, pero no determina qué debe conservar, eliminar o preservar su organización bajo una conservación legal.

Pruebe la restauración de forma segura. Cuando esté permitido, restaure una copia de seguridad en un entorno aislado y con acceso controlado, verifique que los datos históricos esperados estén presentes y confirme que no pueda confundirse con los datos actuales de producción. Defina quién puede autorizar una restauración, qué controles posteriores se aplican y cómo se tratan los datos restaurados después de que finalice la prueba o el incidente.

  • Cree un calendario de retención independiente para datos de producción, copias de seguridad, instantáneas y archivos exportados.
  • Identifique todas las ubicaciones, frecuencias, períodos de retención, mecanismos de cifrado y autoridades de restauración de las copias de seguridad dentro de su entorno documentado.
  • Indique si las solicitudes de eliminación afectan solo a las copias de seguridad futuras y cuánto tiempo pueden permanecer las copias históricas según el calendario de copias de seguridad.
  • Pruebe un procedimiento de restauración sin sobrescribir datos de producción.
  • Establezca controles para evitar que una restauración de copia de seguridad obsoleta reintroduzca datos silenciosamente en producción.
  • No equipare la eliminación de contenedores, la eliminación de volúmenes, la expiración de copias de seguridad y la sanitización de medios; son controles independientes.

Evalúe la evidencia administrativa: logs de eliminación, trazas de auditoría, informes exportables y límites documentados

Un proceso de eliminación es más fácil de defender y operar cuando genera evidencia proporcionada. Como mínimo, debería poder identificar la solicitud o el evento desencadenante, la decisión, el operador o proceso automatizado, la fecha, los sistemas incluidos en el alcance, las excepciones y el estado de finalización. Evite crear una traza de auditoría que reproduzca innecesariamente los datos que intentaba eliminar.

Compruebe si la aplicación ofrece eventos de auditoría, informes administrativos o API compatibles que puedan generar esta evidencia. Si la evidencia es incompleta, considere si un registro operativo documentado puede cerrar la brecha. Un registro manual puede ser aceptable para actividades de bajo volumen, pero se vuelve frágil cuando intervienen muchos usuarios, integraciones o ubicaciones de almacenamiento.

Los logs necesitan sus propios controles. NIST recomienda que las organizaciones aborden la retención, eliminación, preservación y responsabilidad de la infraestructura de gestión de logs. Docker admite múltiples controladores y destinos de logs. También indica que cambiar la configuración de logs predeterminada se aplica a los contenedores creados posteriormente, mientras que los contenedores existentes conservan su configuración hasta que se vuelven a crear. Verifique la configuración desplegada en lugar de asumir que un cambio de política ya ha modificado todas las cargas de trabajo.

  • ¿Puede exportar un informe de eliminación que muestre estados y marcas de tiempo sin exponer contenido sensible innecesario?
  • ¿La traza de auditoría diferencia entre una acción de usuario, una acción de administrador y un trabajo de retención automatizado?
  • ¿Puede documentar una finalización parcial, una conservación legal o una denegación justificada?
  • ¿Adónde se envían los logs de contenedores, plataforma y aplicación, y quién es responsable de sus ajustes de retención y eliminación?
  • ¿Los cambios de configuración requieren volver a crear las cargas de trabajo para surtir efecto?
  • ¿Los registros de evidencia están protegidos mediante controles de acceso y se conservan solo durante el tiempo necesario?

Preguntas frecuentes

¿Cuál es la diferencia entre eliminar datos de una aplicación y eliminarlos de las copias de seguridad?

La eliminación en la aplicación se refiere al sistema activo y sus copias activas. La retención de copias de seguridad se refiere a las copias históricas creadas antes de la eliminación. Necesitan reglas, evidencias y controles de restauración independientes. Un registro puede dejar de ser visible en producción y seguir presente en una copia de seguridad hasta que dicha copia alcance el final de su período de retención documentado.

¿Eliminar un contenedor de Docker elimina los datos de la aplicación?

No necesariamente. Docker documenta que un volumen de datos persiste después de eliminar su contenedor. Verifique dónde almacena la aplicación su base de datos y sus archivos, y gestione esas ubicaciones de almacenamiento persistente de forma independiente del ciclo de vida del contenedor.

¿Es suficiente una eliminación lógica para una solicitud de eliminación?

Depende del requisito aplicable y del alcance documentado. Una eliminación lógica puede ser útil para la recuperación o para períodos de retención cortos, pero normalmente implica que los datos aún existen y pueden estar disponibles para administradores o flujos de restauración. Pruebe y documente qué hace la acción del producto en lugar de basarse en su etiqueta.

¿Por qué deberían incluirse los logs en una lista de verificación de eliminación?

Los logs pueden contener identificadores, detalles de solicitudes, errores y metadatos operativos. La guía de NIST trata la retención y eliminación de logs como cuestiones de política tanto en el ámbito del sistema como de la infraestructura. Inventaríe los destinos de logs de la aplicación, los contenedores y la plataforma, y asigne un responsable para sus reglas de ciclo de vida.

¿Cómo se debe probar el almacenamiento de objetos versionado?

Confirme si el control de versiones del almacenamiento está habilitado, si una eliminación estándar crea un marcador de eliminación y cómo se identifican y eliminan las versiones retenidas específicas. La documentación de AWS para S3 muestra que eliminar sin un ID de versión en un bucket con control de versiones habilitado no elimina permanentemente el objeto.

¿Puede Airbip decidir nuestros períodos de retención o gestionar todas las obligaciones de eliminación?

No. Airbip proporciona despliegue gestionado para aplicaciones del catálogo, cargas de trabajo de aplicaciones basadas en Docker, automatización de enrutamiento y TLS, gestión del ciclo de vida, comprobaciones de DNS y copias de seguridad diarias, semanales y mensuales configurables. Su organización sigue siendo responsable de definir las reglas de retención, las decisiones de acceso, el comportamiento de la aplicación, las conservaciones legales y el alcance de la eliminación requerida. Confirme los términos de servicio actuales y las opciones disponibles en el sitio web activo de Airbip.

Fuentes y lecturas adicionales

  1. GDPR principles: storage limitation and accountability — European Commission
  2. General Data Protection Regulation, Article 17 — EUR-Lex, Publications Office of the European Union
  3. Docker volumes: persistence, backup, restore and removal — Docker
  4. Docker logging-driver configuration — Docker
  5. Routine vacuuming — PostgreSQL Global Development Group
  6. Guide to Computer Security Log Management — National Institute of Standards and Technology
  7. SP 800-88 Rev. 2: Guidelines for Media Sanitization — National Institute of Standards and Technology
  8. Deleting object versions from versioning-enabled buckets — Amazon Web Services