Cómo anonimizar un archivo Excel
- Abre el archivo. Excel, OpenDocument o CSV. Si el libro tiene varias hojas, elige la que quieras.
- Revisa el método de cada columna. Para correos, nombres y DNI se propone un seudónimo; para teléfonos e IBAN, enmascararlos; para la fecha de nacimiento, dejar solo el año, y para el código postal, sus primeras cifras. Cambia lo que quieras.
- Pon una clave si usas seudónimos: una frase clave larga o una clave aleatoria generada. Cópiala en un lugar seguro si vas a procesar más archivos después.
- Marca los cuasi-identificadores y mira el control de k-anonimato. Si hay muchas filas únicas, generaliza más (año en vez de mes, menos cifras del código postal) o elimina alguna columna.
- Descarga el Excel. Incluye los datos transformados, una hoja «Método» que documenta cada columna y el algoritmo, y la lista de grupos por debajo de tu k objetivo.
Privacidad: sin subir archivos
Anonimizar datos en una web que antes los sube a su servidor no tiene mucho sentido. Aquí el archivo se lee y se transforma con JavaScript dentro de tu navegador, en un proceso en segundo plano, y la clave de los seudónimos solo está en memoria mientras la página sigue abierta. No se envía nada a ningún servidor ni se guarda nada en el navegador.
Puedes comprobarlo en la pestaña Red de las herramientas de desarrollo, o desconectarte de internet después de cargar la página y seguir trabajando.
Los métodos y cuándo usar cada uno
- Seudónimo con claveSustituye cada valor por un código como COR-3f9a2c7b1e4d8a60, calculado con HMAC-SHA256 y tu clave. El mismo valor recibe siempre el mismo código, así que puedes seguir contando, agrupando y cruzando archivos. Para nombres, correos, números de cliente o DNI que necesitas vincular.
- EnmascararDeja visibles los últimos caracteres y oculta el resto (********1332). Útil cuando alguien debe reconocer un valor sin verlo entero, como el final de un IBAN o de un teléfono.
- OcultarSustituye todos los valores por un texto fijo. Para observaciones, direcciones o cualquier dato que no necesitas pero cuya columna quieres conservar.
- GeneralizarHace el dato menos preciso: la fecha de nacimiento pasa a año o mes, la edad o el salario a un tramo (30–39) y el código postal conserva sus primeras cifras (28***). Es la forma principal de subir k.
- BarajarReordena al azar los valores de una columna: los totales y la distribución no cambian, pero se rompe el vínculo con cada fila. Bueno para estadísticas y datos de prueba.
- EliminarQuita la columna del resultado. Lo más seguro para todo lo que el destinatario no necesita.
Seudonimizar no es anonimizar
Se confunden a menudo, y la diferencia importa en el RGPD. La seudonimización cambia los identificadores por códigos, pero los datos aún pueden atribuirse a una persona con información adicional, como la clave o el archivo original. El RGPD la define en el artículo 4.5 y el considerando 26 aclara que los datos seudonimizados deben considerarse información sobre una persona identificable. Es decir, siguen siendo datos personales: el RGPD se sigue aplicando, aunque la seudonimización se reconoce como una medida de protección útil.
Los datos anónimos son los que ya no pueden relacionarse con nadie teniendo en cuenta todos los medios que razonablemente puedan utilizarse, incluidos otros datos que tenga quien los recibe. Solo entonces deja de aplicarse el RGPD. Quitar el nombre casi nunca basta: la combinación de fecha de nacimiento, código postal y sexo es única para muchas personas.
Esta herramienta te da las piezas y un indicador de riesgo, pero no puede decirte si un resultado concreto es anónimo, y usarla no hace que un tratamiento sea conforme a la normativa. Esa valoración depende de los datos, la finalidad, el destinatario y la información disponible. Si tienes dudas, consulta a tu delegado de protección de datos o las guías de la autoridad de control, como la AEPD en España.
Por qué una clave y no un hash simple
Un SHA-256 o un MD5 de un correo o de un teléfono parece aleatorio, pero es fácil de revertir: basta con calcular el hash de una lista de correos probables o de todos los teléfonos posibles y comparar. Con un HMAC con clave, ese cálculo es imposible sin el secreto. Tu frase clave se refuerza con PBKDF2-SHA256 (200.000 iteraciones y una sal pública fija) para que una frase corta sea más difícil de adivinar; una clave aleatoria de 32 bytes es todavía mejor. La hoja «Método» incluye un valor de control de la clave: si dos archivos muestran el mismo valor, se hicieron con la misma clave, pero ese valor no revela la clave.
Qué indica el k-anonimato
Elige los cuasi-identificadores, las columnas que por separado no dicen nada pero juntas identifican. La tabla es k-anónima cuando cada combinación de sus valores aparece al menos en k filas. El control se hace con los valores ya transformados, así que ves el efecto de generalizar: pasar la fecha de nacimiento a año y dejar dos cifras del código postal suele convertir cientos de filas únicas en grupos de varias personas. Las filas de grupos menores que tu objetivo se listan para que generalices más o las quites.
El k-anonimato es una medida de riesgo conocida, no una garantía: si todo un grupo comparte el mismo diagnóstico, el diagnóstico queda revelado (para eso existe la l-diversidad), y los datos que publiquen otros pueden cruzarse con los tuyos.
Otras formas de hacerlo
Excel no trae una función para anonimizar. Lo habitual es sustituir valores a mano, barajar con ALEATORIO() y ordenar, o calcular hashes con una macro VBA. También hay extensiones de navegador, plantillas de Excel de autoridades de protección de datos y librerías de Python. Esta página reúne los métodos habituales, un seudónimo con clave coherente entre archivos y un control de k-anonimato, sin instalar nada.
Limitaciones conocidas
- Las columnas de texto libre (comentarios, observaciones, correos) pueden llevar nombres, teléfonos o datos de salud dentro del texto. No se analizan: ocúltalas o elimínalas.
- Los valores poco frecuentes siguen identificando aunque se generalicen, por ejemplo un salario muy alto o un puesto poco habitual en una empresa pequeña.
- El resultado puede cruzarse con otros conjuntos de datos que compartan cuasi-identificadores; el control de k-anonimato solo mira este archivo.
- Barajar mantiene la distribución de cada columna, así que los valores muy raros siguen a la vista.
- El control en directo trata las columnas barajadas como si no lo estuvieran; el informe del archivo descargado usa el resultado real.
- Las fechas escritas como texto se leen como día/mes/año o mes/día/año según los valores; si una columna es ambigua, en esta página se asume día/mes/año.
- Una hoja por archivo. Los formatos, fórmulas, comentarios y demás hojas no se copian al resultado.