By · Last updated 2026-06-05

Volver al BlogTécnico

Compartición de Registros Cumpliendo con el GDPR...

Los registros de aplicaciones acumulan silenciosamente correos electrónicos de usuarios, IPs y números de cuenta.

June 5, 20267 min de lectura
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

Los datos personales se esconden en los registros

Los registros de aplicaciones son una de las superficies GDPR más ignoradas en ingeniería. No porque los ingenieros ignoren la ley. Sino porque los datos de usuario entran en los archivos de registro por accidente.

Un solo registro de solicitud JSON puede contener cuatro campos PII:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "level": "ERROR",
  "endpoint": "/api/users/profile",
  "user_email": "sarah.johnson@company.com",
  "client_ip": "82.123.45.67",
  "user_agent": "Mozilla/5.0",
  "error": "ValidationError: phone format",
  "input_value": "+49 176 1234 5678"
}

Esa única entrada contiene un correo, una IP y un número de teléfono. Multiplícalo por millones de llamadas API diarias. El resultado es una actividad PII importante. Necesita una base legal, límites y controles.

Compartir con terceros aumenta el riesgo GDPR

Los equipos comparten archivos de registro con partes externas constantemente:

  • Empresas de pruebas de penetración que reciben registros para mapear el comportamiento de la aplicación
  • Consultores externos que usan muestras de registros para diagnosticar problemas de rendimiento
  • Plataformas de registro (Elastic, Datadog, Splunk) que reciben flujos de salida completos
  • Contratistas SRE que acceden a registros durante incidentes
  • Equipos de desarrollo en otras entidades legales que reciben archivos para depuración

Cada compartición plantea preguntas del artículo 28 del GDPR. ¿Es el destinatario un procesador? ¿Existe un Acuerdo de Procesamiento de Datos? ¿Tiene base legal para ver los datos de usuario en esos archivos?

Las plataformas de registro son una brecha común. Enviar salidas con correos reales de usuarios e IPs a Elastic Cloud o Datadog crea un vínculo de procesamiento. Ese vínculo requiere un DPA, cláusulas estándar y un mecanismo de transferencia si la plataforma está fuera de la UE. Todo esto requiere tiempo y revisión legal.

El camino más simple: eliminar los datos de usuario antes de que los archivos salgan de tu sistema. Lee nuestro resumen de cumplimiento para el marco completo del artículo 28.

Por qué la estructura JSON dificulta la detección

Los archivos de registro JSON varían en estructura. El escaneo de texto genérico no es suficiente.

Profundidad de anidamiento: Los datos de usuario aparecen a cualquier profundidad. El campo request.headers.x-forwarded-for contiene direcciones IP. El campo response.body.errors[0].field_value puede contener entradas de usuario de errores. Un escaneo de texto plano pierde campos en rutas anidadas.

Esquemas inconsistentes: Cada endpoint de API produce una forma de salida propia. Los archivos de autenticación se ven distintos a los de pago. Los archivos de actualización de perfil se ven distintos a ambos. Un enfoque de ruta fija pierde datos de usuario que aparecen en rutas inesperadas en contextos de error.

Valores técnicos mezclados con PII: Los rastros de pila, códigos de error y marcas de tiempo deben mantenerse intactos. La eliminación masiva borra campos necesarios y hace el archivo inútil.

El enfoque correcto es la detección basada en contenido. Encuentra los datos de usuario por lo que son — patrón de correo, formato IP, entidad nombrada — no por dónde están. Esto maneja esquemas variables sin configuración por endpoint.

El reemplazo consistente mantiene útiles los registros

El requisito clave es la integridad referencial. Si sarah.johnson@company.com aparece en 47 entradas de una cadena de solicitudes, las 47 deben asignarse al mismo valor.

Reglas de asignación:

  • sarah.johnson@company.comuser1@example.com (mismo valor en todo el archivo)
  • 82.123.45.67192.0.2.1 (IP de documentación RFC 5737 — claramente no real)
  • +49 176 1234 5678+49 XXX XXX XXXX (enmascarado)

Con esa asignación, un desarrollador puede rastrear user1@example.com en 47 entradas, reconstruir la cadena de solicitudes y corregir el error — sin ver datos reales de usuarios.

Estos campos de metadatos permanecen sin cambios:

  • Marcas de tiempo (no son datos de usuario)
  • Códigos y tipos de error (no son datos de usuario)
  • Rastros de pila (pueden contener IDs técnicos, no datos de usuario)
  • Métodos HTTP, rutas, códigos de estado (no son datos de usuario)
  • Valores de métricas y latencia (no son datos de usuario)

El resultado es un archivo que funciona para la depuración. No contiene datos reales de usuarios. Consulta nuestro glosario para la diferencia entre anonimización y seudonimización según el GDPR.

Caso de uso: Compartir registros para prueba de penetración

Una empresa SaaS realizó una revisión de seguridad trimestral con un equipo externo de pruebas de penetración. El alcance requería 90 días de salida de API de producción para mapear flujos de autenticación y analizar patrones de error.

Volumen bruto: 180 MB de archivos JSON. Recuento PII: 4.200 correos únicos de usuarios, 1.800 IPs únicas, 340 números de cuenta parciales en contextos de error.

Sin eliminar primero los datos de usuario, compartir esos archivos requeriría:

  • Un DPA con la empresa de pruebas de penetración
  • Un mecanismo de transferencia del artículo 46 del GDPR (la empresa estaba fuera de la UE)
  • Una revisión de notificación a los interesados

Cada punto implica trabajo legal y tiempo.

Con eliminación de PII aplicada:

  • Tiempo de procesamiento: 25 minutos para 180 MB
  • Resultado: 180 MB de archivos estructuralmente idénticos, todos los correos e IPs reemplazados por valores seguros
  • Resultado: el equipo de pruebas recibió el contexto completo; ningún dato real de usuario llegó a ellos
  • Resultado GDPR: sin DPA requerido — la salida depurada no son datos de usuario bajo el GDPR

Consulta nuestra FAQ para preguntas frecuentes sobre qué cuenta como anónimo bajo el GDPR.

Integrar la eliminación de PII en CI/CD

Para equipos que comparten salidas de forma regular, este paso puede ejecutarse dentro de los pipelines existentes.

Rotación de registros:

  1. El script de rotación se ejecuta cada noche
  2. El paso de eliminación se ejecuta antes de archivar o enviar a cualquier plataforma de registro
  3. Los archivos depurados van a sistemas externos
  4. Los archivos originales permanecen internos con retención completa

Script de pre-compartición:

  1. El ingeniero necesita compartir una muestra con un contratista
  2. Ejecuta el script: input=raw-logs/ output=clean-logs/
  3. Comparte la carpeta clean-logs/
  4. No se necesita revisión manual de PII

Enfoque sidecar:

  1. El sidecar depura el flujo de salida antes de reenviar
  2. La eliminación en tiempo real mantiene la utilidad para el análisis de registros
  3. La plataforma no recibe datos reales de usuarios

Integración en política de retención

El artículo 5(1)(e) del GDPR requiere limitación del almacenamiento. La eliminación de PII encaja en cualquier política de retención.

  • Salida bruta retenida 7 días (para trabajo de depuración diario)
  • Versiones depuradas retenidas 90 días (para análisis de tendencias y revisión de incidentes)
  • El paso de eliminación se ejecuta en el día 7

Esto satisface la limitación del almacenamiento. Elimina el riesgo de mantener salidas brutas a largo plazo.

Fuentes

¿Listo para proteger sus datos?

Comience a anonimizar PII con más de 285 tipos de entidades en 48 idiomas.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.