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.
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
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:
---
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
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.
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:
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
- SAP Architecture Center (2026). Build Low-Code and Pro-Code AI Agents on SAP BTP. https://architecture.learning.sap.com/docs/golden-path/ai-golden-path/build-and-deliver/build-ai-agents
- SAP Cloud SDK for AI (2026). Chat Completion, guía JavaScript. https://sap.github.io/ai-sdk/docs/js/orchestration/chat-completion
- SAP Cloud SDK for AI (2026). Chat Completion, guía Java. https://sap.github.io/ai-sdk/docs/java/orchestration/chat-completion
- SAP AI SDK for JavaScript (2026). Referencia de API, DPIConfig. https://sap.github.io/ai-sdk/api/v2/types/prompt-registry_src.DPIConfig.html
- SAP AI SDK for JavaScript (2026). Referencia de API, DPIEntities. https://sap.github.io/ai-sdk/api/v2/types/prompt-registry_src.DPIEntities.html
- SAP AI SDK Python (consultado en 2026). Referencia de API, módulo data_masking. https://sap.github.io/ai-sdk/api-python/_autogen/gen/gen_ai_hub.orchestration_v2.models.data_masking.html
- SAP Learning (consultado en 2026). Introduction to Orchestration. https://learning.sap.com/courses/genai-lpad-gnd/prd-orch-intro-1
- SAP Learning (consultado en 2026). Discovering the Orchestration Service. https://learning.sap.com/courses/discovering-sap-s-generative-ai-hub/discovering-the-orchestration-service
Artículo de Edward Camacho Guerra, elaborado con apoyo de herramientas de inteligencia artificial y revisado y aprobado por el autor.
¿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.