Zero PII: Privacidad por Diseño en el Pipeline de Datos Sintéticos

Cómo UNCASE logra cero información de identificación personal en datos conversacionales sintéticos mediante una arquitectura de privacidad multicapa.

PrivacidadPIIGDPRHIPAANER
M
Escrito porMariano Morales
Tiempo de lectura10 min
Publicado el20 de febrero de 2026
Privacy
Zero PII: Privacidad por Diseño en el Pipeline de Datos Sintéticos

El problema del PII en la IA conversacional

Toda conversación real es un campo minado de información de identificación personal. Una simple consulta médica puede contener:

  • Nombre del paciente, fecha de nacimiento, domicilio
  • Números de historia clínica e identificadores de seguro
  • Diagnósticos, medicamentos, resultados de laboratorio
  • Nombres y datos de contacto del médico derivante
  • Historial médico familiar con parientes identificables

Las técnicas de anonimización tradicionales — reemplazar "Juan García" por "Paciente A" — son demostrablemente insuficientes. La investigación de Sweeney (2000) demostró que el 87% de la población de EE. UU. puede identificarse de forma única con solo tres atributos: código postal, fecha de nacimiento y sexo.

Privacidad por diseño: no un parche de último momento

UNCASE implementa la privacidad por diseño tal como la define ISO 31700 y exige el Artículo 25 del GDPR. Esto significa que las protecciones de privacidad están integradas en cada capa de la arquitectura, no añadidas a posteriori.

La arquitectura de privacidad multicapa

Conversación Real → [Capa 0: Eliminación de PII] → Seed Abstracto
    → [Capa 1: Validación] → Seed Conforme al Esquema
    → [Capa 2: Puntuación de Privacidad] → Seed Verificado (Privacidad = 0.00)
    → [Capa 3: Generación Sintética] → Nueva Conversación
    → [Capa 2: Revalidación] → Dato Certificado
    → [Capa 4: Entrenamiento DP-SGD] → Modelo con Garantía de Privacidad

Cada capa es un punto de control de privacidad independiente. Una filtración de PII en cualquier etapa dispara una detención inmediata del pipeline.

Capa 0: El Motor de Seeds

El Motor de Seeds es la primera y más crítica barrera de privacidad. Transforma conversaciones reales en plantillas de seeds abstractas mediante un proceso de dos etapas.

Etapa 1: Detección de entidades

UNCASE combina dos motores de detección de PII complementarios:

Microsoft Presidio gestiona los patrones de PII estructurado:

  • Números de seguridad social, números de tarjeta de crédito
  • Direcciones de correo electrónico, teléfonos, direcciones IP
  • Números de historia clínica e identificadores de seguro
  • Números de cuenta bancaria y de licencia de conducir

Modelos SpaCy NER gestionan las entidades dependientes del contexto:

  • Nombres de personas (incluyendo apodos y nombres parciales)
  • Organizaciones, ubicaciones, fechas
  • Condiciones médicas y medicamentos
  • Productos financieros y tipos de cuenta
from uncase.core.seed_engine import SeedEngine

engine = SeedEngine(
    presidio_entities=["PERSON", "PHONE_NUMBER", "EMAIL_ADDRESS",
                       "CREDIT_CARD", "US_SSN", "MEDICAL_LICENSE"],
    spacy_model="en_core_web_trf",  # Transformer-based NER
    confidence_threshold=0.75        # Conservative threshold
)

seed = engine.process(real_conversation)
# Returns abstract seed with all PII replaced by role markers

Etapa 2: Abstracción

Las entidades detectadas no se enmascaran simplemente — se abstraen en marcadores de rol que preservan la estructura conversacional:

OriginalAbstraído
"Hola, soy Juan García""[SALUDO_AGENTE]"
"Mi número de cuenta es 4532-1234""[REFERENCIA_CUENTA]"
"Me derivó el Dr. Martínez""[MENCION_DERIVACION]"
"Vivo en Av. Corrientes 1234, Buenos Aires""[CONTEXTO_UBICACION]"

Esta abstracción garantiza que el seed capture el patrón conversacional (saludo → identificación → derivación → contexto) sin ninguna información identificable.

Capa 2: Puntuación de privacidad

Cada seed y cada conversación sintética pasa por el evaluador de calidad, que incluye una puntuación de privacidad obligatoria:

from uncase.core.evaluator import Evaluator

evaluator = Evaluator()
result = evaluator.evaluate(synthetic_conversation)

assert result.privacy_score == 0.00  # MUST be exactly zero
assert result.memorization_rate < 0.01  # Below 1% threshold

La puntuación de privacidad utiliza el mismo pipeline de Presidio + SpaCy que la Capa 0, aplicado ahora a los datos de salida. Este enfoque de defensa en profundidad detecta cualquier PII que pudiera haberse:

  • Alucinado por el LLM durante la generación sintética
  • Reconstruido inadvertidamente a partir de patrones de seeds
  • Introducido mediante memorización del modelo

Privacidad diferencial en la Capa 4

Incluso con datos sintéticos de PII cero, el proceso de entrenamiento del modelo podría teóricamente memorizar y reproducir ejemplos de entrenamiento. UNCASE aborda esto con SGD Diferencial Privado (DP-SGD), formalizado por Abadi et al. (2016).

Los parámetros clave son:

  • Épsilon (ε ≤ 8.0): El presupuesto de privacidad — a menor valor, mayores garantías de privacidad
  • Delta (δ = 10⁻⁵): La probabilidad de fallo de privacidad
  • Norma máxima de gradiente: Recorta los gradientes individuales para acotar su influencia

Estos parámetros satisfacen los requisitos del método Safe Harbor de HIPAA y el mandato de protección de datos por diseño del GDPR.

Mapeo de cumplimiento normativo

RegulaciónRequisitoImplementación en UNCASE
HIPAA Safe Harbor18 tipos de identificadores eliminadosPresidio detecta los 18 + tipos adicionales
GDPR Art. 25Protección de datos por diseñoArquitectura de privacidad multicapa
GDPR Art. 26Exención de datos no identificablesLos datos sintéticos contienen cero PII
SOX Sección 404Auditoría de controles internosTrazabilidad completa del pipeline
CCPAProtección de datos del consumidorSin datos de consumidores en el pipeline de entrenamiento

Verificación: ataques de extracción

UNCASE ejecuta ataques de extracción automatizados contra modelos fine-tuned para verificar que no sea posible recuperar datos de entrenamiento:

uncase evaluate --extraction-attacks \
  --model ./adapters/medical-v1 \
  --threshold 0.01

La suite de ataques de extracción incluye:

  • Inferencia de membresía: ¿Puede el modelo determinar si un ejemplo específico estuvo en el conjunto de entrenamiento?
  • Extracción de datos: ¿Pueden las técnicas de prompting recuperar ejemplos de entrenamiento de forma literal?
  • Inferencia de atributos: ¿Puede el modelo inferir atributos sensibles a partir de información parcial?

Todos los ataques deben tener una tasa de éxito inferior al 1% para que el modelo supere la certificación.

Conclusiones clave

  1. La anonimización no es suficiente — los ataques de reidentificación hacen que el enmascaramiento simple sea insuficiente
  2. La privacidad debe ser arquitectónica — integrada en cada capa, no aplicada como un filtro
  3. La detección dual de PII (patrones + NER) captura tanto los identificadores estructurados como los contextuales
  4. La abstracción supera al enmascaramiento — convertir el PII en marcadores de rol preserva la utilidad y elimina el riesgo
  5. La defensa en profundidad con puntos de control de privacidad independientes en cada etapa del pipeline
  6. Las garantías matemáticas mediante privacidad diferencial proporcionan evidencia de cumplimiento auditable

Comienza a Construir IA Privacy-First Hoy

Despliega el pipeline completo, conecta tus fuentes de datos, enruta a cualquier proveedor LLM y produce adaptadores LoRA conformes — todo sin exponer un solo dato.

0%PII en datos finales
0+Endpoints de API
0Industrias reguladas
0+Tests pasando