Analista de archivo de una empresa de servicios públicos cubre con una tela opaca parte de las carpetas de un estante metálico
SAP

Data masking en SAP: qué se oculta antes del modelo externo

El enmascaramiento en la orquestación de SAP decide qué dato del cliente llega al modelo. Qué cubre, qué no y qué debe configurar una utility.

Edward Camacho Guerra
Edward Camacho Guerra

CEO / Arquitecto de Soluciones SAP

· 10 min de lectura

El nombre del cliente tiene categoría propia. Su dirección, su teléfono y su documento, también. El serial de su medidor y su cuenta contrato, no. Con esa asimetría empieza la parametrización del enmascaramiento de datos de SAP en una empresa de servicios públicos: la lista estándar trae datos personales de uso general, y lo que no trae son los códigos propios del negocio.

El trabajo que sigue se parece más a un ejercicio de calidad de datos que a una discusión de principios: inventariar los identificadores propios, describir el formato de cada uno en una expresión regular, elegir con qué se reemplaza y declarar qué términos deben quedar a la vista. Este artículo sigue ese orden y termina en los límites que conviene dejar por escrito.

Una lista estándar que no conoce el negocio

Lista de entidades estándar
Lo que el servicio reconoce y lo que hay que enseñarle
Hay que enseñárselo
Cuenta contrato Sin categoría propia
Número de instalación Sin categoría propia
Punto de suministro Sin categoría propia
Serial del medidor Sin categoría propia
Lo reconoce por sí solo (entre otras entidades)
Nombres de persona Entidad estándar
Direcciones físicas, correos y teléfonos Entidad estándar
Números de identificación nacional Entidad estándar
Afiliación sindical Entidad estándar · dato especialmente sensible
Camino documentado: entidad personalizada con una expresión regularIncluido en la lista de SAP Data Privacy Integration

El enmascaramiento lo ejecuta SAP Data Privacy Integration, que anonimiza o seudonimiza la información sensible (SAP Cloud SDK for AI, guía JavaScript, 2026). Su lista de entidades estándar está publicada en la referencia de API (SAP AI SDK for JavaScript, referencia de API, 2026), y la referencia de Python describe la mayoría de sus entradas, de los datos personales y de contacto a categorías especialmente sensibles (SAP AI SDK Python, referencia de API, consultado en 2026).

Los identificadores sin categoría propia que muestra el cuadro son los que el negocio usa todos los días. Para una distribuidora, esos códigos identifican a un cliente con tanta precisión como su documento. El camino documentado para cubrirlos es la entidad personalizada: se entrega una expresión regular que describe el formato del identificador (SAP Cloud SDK for AI, guía JavaScript, 2026). El ejemplo de esa misma guía define como entidad personalizada un identificador numérico de grupos de dígitos separados por guiones y lo reemplaza por la constante REDACTED_ID (SAP Cloud SDK for AI, guía JavaScript, 2026).

Dos parámetros completan el diseño:

  • Estrategia de reemplazo. La entidad puede sustituirse por un valor fijo seguido de un número incremental, o por un valor generado al azar y acorde a su tipo (SAP AI SDK Python, referencia de API, consultado en 2026).
  • Lista de excepciones. Un conjunto de términos que no deben enmascararse (SAP AI SDK for JavaScript, referencia de API, 2026). En una utility suele incluir el nombre de la propia empresa, para que la respuesta conserve sentido.

Qué queda en el lugar del dato

La anonimización elimina el dato sensible de forma irreversible, mientras que la seudonimización permite recuperar el dato original; en ambos casos, lo que ocupa el lugar del dato es un marcador (SAP AI SDK Python, referencia de API, consultado en 2026). La misma referencia da como ejemplos de marcador MASKED_ENTITY para el primer método y MASKED_ENTITY_ID para el segundo (SAP AI SDK Python, referencia de API, consultado en 2026). La razón de la diferencia es que la anonimización no conserva información sobre el dato original (SAP Learning, consultado en 2026).

Para una utility, esa diferencia define el caso de uso:

Decisión por caso de uso
¿Marcador con retorno o sin retorno?
---
config:
  theme: base
  fontFamily: 'Inter Variable, system-ui, sans-serif'
  themeVariables:
    darkMode: true
    fontFamily: 'Inter Variable, system-ui, sans-serif'
    fontSize: '15px'
    background: '#111113'
    primaryColor: '#1A1A1D'
    primaryTextColor: '#F4F5F8'
    primaryBorderColor: '#00C2FF'
    secondaryColor: '#242428'
    tertiaryColor: '#1A1A1D'
    mainBkg: '#1A1A1D'
    secondBkg: '#242428'
    tertiaryBkg: '#2E2E33'
    lineColor: '#00C2FF'
    textColor: '#F4F5F8'
    titleColor: '#F4F5F8'
    nodeBorder: '#00C2FF'
    clusterBkg: '#1A1A1D'
    clusterBorder: '#2E2E33'
    edgeLabelBackground: '#242428'
    pie1: '#00C2FF'
    pie2: '#f59e0b'
    pie3: '#22c55e'
    pie4: '#59d7ff'
    pie5: '#f97316'
    pie6: '#ef4444'
    pieTitleTextColor: '#F4F5F8'
    pieSectionTextColor: '#F4F5F8'
    pieLegendTextColor: '#F4F5F8'
    pieStrokeColor: '#111113'
    pieOuterStrokeColor: '#111113'
---
flowchart TD
  A([Caso de uso de la utility]) --> B{¿Qué pide el caso de uso?}
  B -->|Ver titular| C[La respuesta vuelve a una persona que necesita ver al titular]
  C --> D[Seudonimización]
  D --> E([El dato puede restituirse en la respuesta])
  B -->|No aporta| F[La identidad no aporta al resultado]
  F --> G[Anonimización]
  G --> H([El dato no puede restituirse])
  class A inicio
  class B decision
  class C,D,F,G proceso
  class E,H bueno
classDef inicio fill:#113d4f,stroke:#00C2FF,color:#ffffff
classDef decision fill:#473519,stroke:#f59e0b,color:#ffffff
classDef proceso fill:#33363c,stroke:#9aa0aa,color:#ffffff
classDef bueno fill:#193e2b,stroke:#22c55e,color:#ffffff
Ejemplos del artículo: seudonimización para el resumen de un reclamo que el agente de atención recibe con el nombre real del cliente; anonimización para clasificar motivos de reclamo, detectar patrones en ajustes de facturación o redactar una explicación tarifaria general.SAP AI SDK Python, referencia de API (consultado en 2026); SAP Learning (consultado en 2026)

En la rama de seudonimización, el agente de atención ve el nombre real aunque el modelo solo haya procesado un marcador.

Hay un matiz que suele pasarse por alto. La lista de entidades estándar apunta a la identidad, no a la cifra: no incluye una categoría propia para valores de consumo ni para montos de ajuste (SAP AI SDK for JavaScript, referencia de API, 2026). Mientras no se configure una entidad personalizada para esos valores, lo que el control corta es el vínculo entre el valor y la persona a la que pertenece; conviene confirmarlo en pruebas con datos propios.

Lo que la configuración básica deja abierto

Con entidades, reemplazo y excepciones definidos, quedan tres frentes que esa configuración no cierra por sí sola.

Antes de producción
Tres bordes por cerrar
🔎
Grounding
Un parámetro controla si la entrada al módulo de grounding se enmascara con la misma configuración. Con contratos de generación distribuida como contexto recuperado: decidido y probado, no supuesto.
Decidir y probar
📎
Archivos adjuntos
Si la llamada incluye archivos, hay que declarar el método de enmascaramiento: «anonymization» o «skip». Es el caso de una factura en PDF o de un contrato escaneado.
Decisión explícita y registrada
🗂️
Gobierno de la configuración
Configuraciones de orquestación guardadas en el registro de prompts y referenciadas desde las aplicaciones: reutilización y administración centralizada.
Una sola definición para auditoría

Cada tarjeta tiene su respaldo documental. El parámetro que controla si la entrada al módulo de grounding se enmascara está en la referencia de API (SAP AI SDK for JavaScript, referencia de API, 2026), y la guía de Java añade que es posible enmascarar tanto la información de grounding como el mensaje del prompt (SAP Cloud SDK for AI, guía Java, 2026). El método para archivos es obligatorio cuando la llamada los incluye (SAP AI SDK for JavaScript, referencia de API, 2026). El almacenamiento de las configuraciones de orquestación en el registro de prompts está descrito en la guía JavaScript (SAP Cloud SDK for AI, guía JavaScript, 2026).

Dónde actúa el control dentro de la llamada

Queda ubicar el enmascaramiento en el recorrido completo de una llamada, porque de ahí sale la discusión de fondo. En AGT acompañamos a empresas de servicios públicos de América Latina en esa discusión, y la pregunta que más se repite es directa: ¿existe un control técnico concreto o todo depende de la disciplina de quien escribe el prompt? Existe, tiene nombre y hay que configurarlo.

El servicio de orquestación del Generative AI Hub combina en una sola llamada la generación de contenido con grounding, plantillas, enmascaramiento de datos, filtrado de contenido y traducción (SAP Architecture Center, 2026). El mismo hub es el punto de acceso a modelos fundacionales de distintos proveedores, entre ellos Azure OpenAI, AWS Bedrock y Google Vertex AI (SAP Architecture Center, 2026). Por eso importa el orden: la entrada se enmascara antes de la llamada al modelo (SAP Cloud SDK for AI, guía Java, 2026).

El recorrido tiene cuatro momentos. El prompt reúne la consulta del usuario y el contexto que el grounding aporta desde los datos propios de la empresa. SAP Data Privacy Integration enmascara en ese prompt la información sensible configurada y conserva el contexto necesario. La llamada al modelo de lenguaje se hace con la entrada ya enmascarada. Y la respuesta vuelve con el dato restituido o enmascarado, según el método elegido. Los cuatro momentos siguen lo documentado en las guías JavaScript y Java de SAP Cloud SDK for AI (2026) y en SAP Learning (consultado en 2026).

El módulo de enmascaramiento es opcional (SAP Learning, consultado en 2026). Opcional significa que es una decisión de diseño: el módulo actúa solo cuando la configuración de orquestación del caso de uso lo incluye.

Conviene precisar el alcance. Los agentes que una empresa construye sobre SAP BTP se integran con Joule y usan la misma infraestructura de IA de la plataforma (SAP Architecture Center, 2026). Este artículo describe el control que la empresa configura cuando sus propios desarrollos llaman al servicio de orquestación; no describe el tratamiento interno de las funciones estándar de Joule.

Costo, licenciamiento y límites

El enmascaramiento es una de las funciones del servicio de orquestación, y para usar ese servicio normalmente se requiere el plan de servicio extendido de SAP AI Core, porque las capacidades del Generative AI Hub no suelen estar disponibles en los planes gratuito o estándar (SAP Learning, consultado en 2026). Antes de presupuestar, recomendamos confirmar el plan contratado por cada empresa.

Nuestro equipo insiste además en tres límites al presentar este control a un comité de datos:

Lo que el control no resuelve
Tres límites para llevar al comité de datos
📤
Solo el texto que sale
Actúa sobre el texto que va hacia el modelo. No reemplaza la autorización de acceso al dato ni la decisión sobre qué documentos se indexan.
🧪
Detección a prueba
Nombres, direcciones y documentos: probar con textos reales en español y con los formatos locales de identificación antes de darla por válida.
⚖️
Nombre técnico, no jurídico
Que el método se llame «anonymization» no convierte por sí solo el resultado en un dato anónimo en sentido jurídico.

El tercero de esos límites abre la siguiente pieza de esta serie: el mismo principio frente a la LGPD, la habeas data colombiana y la LOPDP ecuatoriana, tres marcos distintos para una misma pregunta.

Fuentes

Artículo de Edward Camacho Guerra, elaborado con apoyo de herramientas de inteligencia artificial y revisado y aprobado por el autor.

Conversemos 30 minutos

¿Este análisis mapea un mercado donde ya operas o estás evaluando entrar?

Revisamos tu caso específico, mapeamos los riesgos que aplican, y te decimos honestamente si es oportunidad para ti —sin pitch comercial, solo discusión técnica y estratégica.

Al enviar aceptas ser contactado por AGT Consultoría para el assessment solicitado. Tus datos no serán compartidos con terceros ni usados para publicidad.

Edward Camacho Guerra · CEO / Arquitecto de Soluciones SAP
#data masking #generative ai hub #sap btp #gobierno de datos #utilities #ia generativa