pii integrado cubre las entidades comunes — email, teléfono,
tarjeta de crédito, SSN, IBAN, JWT, claves de nube. Pero tus datos sensibles son
tuyos: IDs de empleado, números de caso internos, referencias de cuenta de
cliente, el formato de pedido de un socio. Una entidad PII personalizada te
permite enseñar a la misma regla de enmascarado a reconocer esas formas, para
que el gateway las redacte antes de que el modelo — o cualquier herramienta
downstream — las vea jamás.
Esta página cubre lo único que las entidades personalizadas añaden a la
regla de PII detection: tus propios
detectores. Para el motor completo — cada tipo de regla, etapa y ruta — ver la
referencia de Guardrails.
Cada paso aquí es una acción de consola sobre el gateway alojado
(
api.orcarouter.ai). Creas el guardrail bajo tu propia sesión; solo la llamada
final /v1/* usa una clave de relay sk-orca-.... Crear y editar guardrails
requiere Developer+ en el espacio de trabajo.1. Cuándo necesitas un guardrail de detector de PII personalizado para LLM
El conjunto de entidades integradas es cerrado y compartido a través del motor, el validador y el constructor de reglas. Es la herramienta correcta para identificadores estándar. Recurre a una entidad personalizada cuando los datos que quieres redactar tienen una forma predecible que ningún integrado cubre:Identificadores internos
IDs de empleado (
EMP482915), números de caso, refs de ticket, SKUs
internos — cualquier cosa con un prefijo fijo y una serie de dígitos.Números de cuenta y pedido
Referencias de cuenta de cliente o el formato de pedido de un socio que
nunca debería llegar a un modelo de terceros textualmente.
Números con checksum
Números tipo tarjeta o de membresía que pasan una verificación Luhn — añade
el checksum para reducir falsos positivos en series de dígitos parecidas.
Códigos específicos del dominio
Números de póliza, IDs de reclamación, seriales de dispositivo — cualquier
token que tu industria trata como sensible pero que los detectores genéricos
no conocen.
pii. Detecta coincidencias y aplica la acción de la regla —
mask, block o flag — exactamente como lo hace una entidad integrada.
2. Anatomía de una entidad personalizada
Una entidad personalizada son tres campos pequeños más una etiqueta de enmascarado opcional. Los añades en el editor de la reglapii bajo Custom
entities:
| Campo | Obligatorio | Qué hace |
|---|---|---|
name | sí | ID estable, p. ej. employee_id. ASCII en minúsculas / dígitos / _, debe empezar con una letra. Fluye al feed de Matches y los logs de auditoría. |
pattern | sí | Un regex RE2 de Go (tiempo lineal, sin backreferences). Debe compilar. |
checksum | no | luhn valida cada coincidencia con el algoritmo de Luhn. Solo se aceptan "" (ninguno) o "luhn". |
mask_with | no | Reemplazo literal en una acción mask. Por defecto [<UPPERCASE_NAME>]. |
El checksum Luhn opcional
Muchos identificadores “con forma de número” — tarjetas de pago, algunos números de membresía y cuenta — llevan un dígito de control Luhn (mod-10). Un regex desnudo como\d{16} coincide con cualquier serie de 16 dígitos, incluyendo
números de teléfono, marcas de tiempo y totales de pedido. Establecer
checksum: "luhn" hace que el detector se dispare solo cuando los dígitos
coincidentes también pasan la verificación Luhn, así que las series parecidas
pasan limpiamente y tu tasa de falsos positivos se mantiene baja. Déjalo vacío
para tokens sin checksum como un ID de empleado.
Tu propia etiqueta de enmascarado
En una acciónmask, un email integrado se renderiza como [EMAIL]. Una
entidad personalizada se renderiza como [<UPPERCASE_NAME>] por defecto — una
coincidencia de employee_id se convierte en [EMPLOYEE_ID]. Establece
mask_with para sobrescribir eso literalmente (p. ej. <id> o ***) cuando
quieras un token de reemplazo específico en el texto que el modelo recibe. Ver
Formatos de enmascarado para las
reglas de renderizado a través de los tipos de entidad.
3. Un ejemplo concreto
Supón que tus prompts llevan IDs de empleado con la formaEMP seguido de seis
dígitos, y quieres que se enmascaren en la etapa de entrada para que el
modelo upstream nunca vea un ID real. Añade una sola entidad personalizada a una
regla pii:
/v1/chat/completions exactamente como antes — el gateway enmascara la
solicitud antes de reenviar, sin cambio de SDK.
El enmascarado se ejecuta en ambas etapas: una regla de entrada redacta la
solicitud antes de que el modelo la vea, y una regla de salida redacta la
respuesta del modelo — incluyendo respuestas con streaming, donde el escáner
reescribe coincidencias en banda. Las acciones de bloqueo se aplican también en
ambas etapas. Para vetar las respuestas del modelo, ver
Reglas de la etapa de salida.
Un ejemplo con checksum
Para un número de membresía tipo tarjeta, añade la verificación Luhn para que las series de 16 dígitos que no son números válidos no coincidan:4. Límites y validación
El constructor de reglas valida cada entidad personalizada al guardar — un detector malo nunca llega a la ruta caliente.Hasta 25 entidades personalizadas por regla
Hasta 25 entidades personalizadas por regla
Cada entidad personalizada es un escaneo regex sobre el texto completo, así
que el tope por regla es 25. El tope mantiene la ruta caliente lineal;
los patrones compilados se cachean entre solicitudes. ¿Necesitas más formas?
Divídelas entre múltiples reglas
pii en el mismo guardrail.El patrón debe compilar
El patrón debe compilar
pattern es un regex RE2 de Go — tiempo lineal, sin backreferences. El
validador rechaza un patrón que no compila, con la entidad ofensiva nombrada
en el error.checksum es un conjunto cerrado
checksum es un conjunto cerrado
Solo se aceptan
"" (sin verificación) y "luhn". Cualquier otra cosa —
"sha256", "mod10", incluso "LUHN" — se rechaza al guardar.Los nombres son únicos y bien formados
Los nombres son únicos y bien formados
Un
name debe empezar con una letra y usar solo ASCII en minúsculas,
dígitos y guiones bajos. Dos entidades personalizadas en una regla no pueden
compartir un nombre.5. Sobrescrituras de acción por entidad
Una entidad personalizada participa en el mismo mapaentity_actions que una
entidad integrada. Una regla pii puede enmascarar la mayoría de las cosas
pero bloquear en un detector personalizado de alta sensibilidad —
referencia la entidad por su name:
entity_actions deben referenciar una entidad integrada
habilitada en la regla o el name de una entidad personalizada; los valores
deben ser block, mask, flag o annotate. El validador rechaza cualquier
otra cosa.
6. Dónde ir a continuación
PII Shield
La sola regla de enmascarado sobre la que se superponen las entidades
personalizadas — el conjunto de detectores integrados y las etiquetas de
enmascarado tipadas.
Formatos de enmascarado
Cómo se renderiza cada entidad en una acción mask, y cómo
mask_with la
sobrescribe.Detectores regex
Cuándo una regla
regex simple encaja mejor que una entidad PII tipada.Afinar falsos positivos
Usa el feed de Matches y el checksum para afinar la precisión.
