Si llevas una gestoría o un despacho profesional en España, esta escena te suena: una colaboradora abre ChatGPT, copia un Excel con nombres de clientes y DNIs, y pide "resúmeme estos movimientos". La IA responde en treinta segundos. La conciliación que llevaba seis horas, hecha. Y la fuga de datos personales, también.

El problema no es la IA. La IA va a quedarse. El problema es que el archivo entero acaba en servidores de OpenAI sin base legitimadora, sin DPA firmado, sin transferencia internacional documentada. Una sanción de la AEPD por un incidente así se mueve hoy entre 5.000 € y 40.000 € según volumen y reincidencia.

La solución es trivial: anonimiza el Excel antes de pegarlo. Sustituye DNIs, IBANs, nombres y CIFs por pseudónimos reversibles. La IA hace su análisis con los pseudónimos. Tú revierte al volver. El cliente nunca sabe que estuvo en internet.

En este post te enseño cómo hacerlo paso a paso, con la herramienta que usamos nosotros (Anoply, transparencia: somos del mismo grupo). Si prefieres montártelo a mano con Python o macros, también te doy las pistas al final.

Paso 1 — Identifica qué datos hay que anonimizar

No todo lo que parece personal lo es. En un libro de IVA típico, lo que hay que esconder antes de mandar a una IA:

Lo que no hace falta anonimizar normalmente:

Regla práctica: si un humano que no es del despacho leyera el archivo y pudiera identificar a tu cliente, hay PII. Si solo ve [PERSONA_001], [IBAN_001], [FECHA_001], no.

Paso 2 — Anonimiza con Anoply (en 60 segundos)

Hay tres formas de hacerlo, ordenadas de más fácil a más artesanal:

2A) Con Anoply (recomendado — 60s)

  1. Abre anoply.eu/anonymize en tu navegador.
  2. Arrastra tu .xlsx. El archivo no se sube a ningún servidor — todo el procesamiento pasa dentro de tu pestaña como módulo WebAssembly. Verificable: F12 → pestaña Red, no verás ninguna petición saliente con el contenido.
  3. Anoply detecta automáticamente DNIs, NIEs, CIFs, IBANs, NSS, emails, teléfonos, fechas y nombres en español. Te muestra una tabla con las detecciones agrupadas por columna y por tipo.
  4. Revisa el panel derecho. Desmarca tipos que no quieras tocar. Si una columna entera debe anonimizarse (e.g. "Nombre cliente"), márcala como forzada desde el header.
  5. Pulsa Anonimizar y descargar. Mete una passphrase larga (la necesitarás para revertir). Te llegan dos archivos:
    • tu_archivo_anonimizado.xlsx — el que vas a pegar en ChatGPT
    • tu_archivo.anpx — el mapa cifrado para revertir luego

Tu Excel anonimizado conserva fórmulas, tablas, formato de fechas, estilos y gráficos byte a byte. Solo cambian las celdas con datos personales.

2B) Find-and-Replace manual en Excel (15-30 min, riesgoso)

2C) Python + pandas (técnico — 2h primera vez, ~5 min después)

import pandas as pd
import re
import json

df = pd.read_excel("libro_iva.xlsx")
mapa = {}
contador = {"DNI": 0, "IBAN": 0, "NOMBRE": 0}

def sustituir(texto, tipo):
    if texto in mapa:
        return mapa[texto]
    contador[tipo] += 1
    token = f"[{tipo}_{contador[tipo]:03d}]"
    mapa[texto] = token
    return token

# Detección con regex (España)
DNI_RE = re.compile(r"\b\d{8}[A-Z]\b")
IBAN_RE = re.compile(r"\bES\d{22}\b")

for col in df.columns:
    df[col] = df[col].astype(str).apply(
        lambda x: DNI_RE.sub(lambda m: sustituir(m.group(), "DNI"), x)
    )
    df[col] = df[col].apply(
        lambda x: IBAN_RE.sub(lambda m: sustituir(m.group(), "IBAN"), x)
    )

df.to_excel("libro_iva_anonimizado.xlsx", index=False)
with open("mapa.json", "w") as f:
    json.dump(mapa, f, ensure_ascii=False)

Problemas reales del approach Python: la detección de nombres en español necesita NER (spaCy con modelo es_core_news_lg), la reversión preserva mayúsculas/minúsculas malamente, y destrozas el formato del Excel (fórmulas, tablas, gráficos: todo plano). Para casos puntuales sirve; para uso recurrente, no.

Paso 3 — Pasa el Excel anonimizado a ChatGPT (o Claude, o el modelo que sea)

Abre tu IA favorita y sube el _anonimizado.xlsx directamente, o copia las celdas relevantes:

"Tengo un libro de IVA con movimientos del trimestre. ¿Puedes cuadrar las facturas emitidas vs cobradas y darme las cuentas atrasadas más de 60 días?"

La IA va a trabajar con [PERSONA_001], [CIF_001], [IBAN_001] — no tiene ni idea de quiénes son. Te devolverá un análisis con esos mismos pseudónimos. Eso es exactamente lo que quieres: utilidad analítica con cero exposición de PII.

Importante — el prompt:

Añade siempre esto al final del prompt:

"Los identificadores [PERSONA_NNN], [CIF_NNN], etc., son pseudónimos. No intentes adivinar los originales, no los modifiques, mantenlos literales en cualquier salida o tabla que generes."

Esto evita que un modelo "demasiado servicial" intente "restaurar" los nombres inventando datos plausibles.

Paso 4 — Modifica el archivo en ChatGPT si hace falta

Aquí está la potencia: puedes hacer que la IA añada columnas, fórmulas, pivot tables, cuadres sobre el Excel anonimizado. Cuando lo descargues y lo revierta, todo lo que añadió la IA se preserva. Anoply no vuelve a parsearlo desde cero — solo reemplaza los tokens por los originales y deja intacto lo demás.

Paso 5 — Revierte el Excel modificado

Vuelve a anoply.eu/revert:

  1. Sube el .xlsx modificado por la IA.
  2. Sube el .anpx original que descargaste en el paso 2.
  3. Mete la passphrase.
  4. Descargas el archivo final con los pseudónimos sustituidos por los nombres reales y todas las modificaciones de la IA preservadas.

Total del flujo: entre 60 y 120 segundos por documento, dependiendo del tamaño.

¿Es esto RGPD-compliant?

Sí, técnicamente y legalmente. Lo que estás haciendo se llama pseudonimización reversible y está reconocida explícitamente en el Art. 4(5) del RGPD como una medida de seguridad adecuada que reduce el riesgo del tratamiento. La AEPD ha publicado guías específicas sobre cuándo es suficiente (la mayoría de casos de gestoría) y cuándo necesitas además anonimización irreversible (datos cedidos a terceros para fines distintos del original).

Qué cubre la pseudonimización con Anoply:

Qué NO cubre (y necesitas además):

Para esto último, consulta con tu DPO. Anoply te da el cumplimiento técnico; la base jurídica la pones tú.

¿Cuánto tarda en pagar la pena montarlo?

En Sinnvoll Analítica (la gestoría que usa Anoply a diario) la cuenta sale así:

El ROI es ridículo. La razón real por la que la mayoría de despachos aún no lo hace no es económica — es que nadie les ha contado que se puede hacer bien.


¿Tienes el caso de uso pero quieres probar antes de pagar? Tres días gratis sin tarjeta en anoply.eu. Procesas documentos ilimitados y decides después.

Si tienes dudas sobre un escenario específico (nóminas con datos médicos, libros con cesión a terceros, ficheros del CRM con consentimientos parciales), escríbenos a hola@anoply.eu — contesta una persona real, no un bot.


← Volver al blog