Documentación

Protección de datos

Los modos de detección, la biblioteca de 60 detectores, la detección de nombres, el aviso al modelo y la retención.

La protección de datos se ejecuta en cada petición antes de despachar. El modo por defecto es tokenize: cada valor detectado se sustituye por un token tipado estable como «EMAIL_1». Solo los tokens llegan al proveedor, y la respuesta se restaura a los valores reales de vuelta hacia usted, en streaming o no. El mapa de tokens vive en memoria durante la vida de la petición y nunca se persiste.

# tokenize mode (the default): what you send
curl https://api.sluis.ai/v1/chat/completions \
  -H "Authorization: Bearer $SLUIS_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "sluis/auto", "messages": [{ "role": "user",
        "content": "Mail j.devries@acme.nl that IBAN NL91ABNA0417164300 is active." }] }'

Otros modos: mask reescribe los valores detectados de forma irreversible, block rechaza la petición con 422, y allow_log la deja pasar mientras marca la fila de auditoría.

60 detectores integrados vienen de serie: 28 para datos personales, del número de la Seguridad Social de EE. UU. a un paquete de identificadores nacionales de 12 países de la UE validados por suma de control, y 32 para secretos y credenciales. Cada uno se puede activar o desactivar por organización, y los términos personalizados (texto plano o regex) cubren cualquier cosa específica de su negocio:

Datos personales · 28EmailPhone numberIBANCredit cardIPv4 addressIPv6 addressMAC addressUS Social Security numberDutch BSNPortuguese NIFGerman Steuer-IDPolish PESELBelgian rijksregisternummerFrench NIR (INSEE)Spanish DNI/NIEItalian codice fiscaleSwedish personnummerDanish CPR numberFinnish henkilötunnusUK National Insurance numberEU VAT numberBIC/SWIFT codeDutch license plateDutch addressPassport numberDate of birthGPS coordinatesVehicle identification number
Secretos y credenciales · 32API key (generic)AWS access keyAWS secret access keyPrivate key (PEM)GitHub tokenGitLab tokenSlack tokenSlack webhook URLDiscord webhook URLGoogle API keyGoogle OAuth refresh tokenStripe keyMollie API keyAnthropic API keyOpenAI API keySluis keyHugging Face tokennpm tokenSendGrid keyTwilio keyShopify tokenVault tokenDatabricks tokenDocker Hub tokenTelegram bot tokenJSON Web TokenCredentials in URL.env file dumpAzure storage key / SASPassword assignmentConfidentiality markerHigh-entropy token (generic)

Detección de entidades

Personas, organizaciones y ubicaciones son difíciles de detectar solo por patrón. Sluis añade cuatro capas opcionales: heurísticas de contexto (tratamientos, saludos, firmas; solo personas), correlación de correo (deriva nombres de las direcciones en el mismo texto), un directorio de nombres del inquilino y NER: un modelo de reconocimiento multilingüe incluido en el despliegue (pesos spaCy xx_ent_wiki_sm, operado por Sluis como sidecar interno), de modo que el texto nunca sale de su perímetro para ser analizado. NER encuentra personas, organizaciones y ubicaciones en prosa libre.

Aviso al modelo

Cuando la tokenización reescribió una petición, Sluis inyecta un mensaje de sistema inicial que indica al modelo que los tokens «…» son marcadores opacos que debe mantener intactos; eso es lo que hace fiable la restauración. Activado por defecto; personalícelo o desactívelo por organización.

Retención y fidelidad de auditoría

La retención de contenido (los cuerpos de petición y respuesta para el registro de auditoría) está activada por defecto y cifrada en reposo; la fidelidad de auditoría decide si el contenido retenido guarda los tokens o los valores originales. Desactive la retención para un registro solo de metadatos; eso también desactiva las cachés de respuesta.

Anonimización de documentos

Envíe un archivo docx, pdf, imagen o texto a POST /v1/documents/anonymize y el mismo documento vuelve con los PII y secretos sustituidos por etiquetas como «PERSON_NAME_1» en el texto, y difuminados en imágenes y páginas PDF. El procesamiento es local a la gateway, OCR incluido; la operación se sella en la cadena de auditoría y se factura por página/imagen. El mapa de tokens solo se devuelve si usted lo pide y nunca se almacena. Los PDF censurados conservan una capa de texto invisible y buscable construida a partir del texto anonimizado. Para documentos grandes, encole un trabajo asíncrono y recoja el resultado más tarde con una URL firmada de duración limitada.

La misma protección funciona en tránsito: con la política dlp_documents activa, los archivos subidos por /v1/files y los documentos OCR inline se anonimizan antes de salir hacia un proveedor, se rechazan en modo block y se analizan en modo allow_log.

# enqueue a large document (202 + job id; Idempotency-Key honoured)
curl https://api.sluis.ai/v1/documents/anonymize/jobs \
  -H "Authorization: Bearer $SLUIS_KEY" \
  -F file=@archive.pdf

# poll until succeeded; the signed download_url then needs no API key
curl https://api.sluis.ai/v1/documents/anonymize/jobs/9c31… \
  -H "Authorization: Bearer $SLUIS_KEY"

Embeddings

Los tokens pseudonimizados son estables dentro de una solicitud, no entre solicitudes; los embeddings de texto tokenizado pueden no coincidir entre llamadas. El ajuste dlp_embeddings controla si el análisis cubre /v1/embeddings: activado por defecto, ponerlo en off envía las entradas de embedding al proveedor sin analizar. Cada llamada exenta queda registrada en el registro de auditoría.

Anulaciones por clave

Un owner o admin puede crear una clave API con allow_dlp_override. Las solicitudes con esa clave pueden anular el modo de protección de datos de la organización para esa llamada mediante la cabecera x-sluis-dlp: off, allow_log, mask, block o tokenize.

# a key minted with allow_dlp_override may swap the mode for one call
curl https://api.sluis.ai/v1/embeddings \
  -H "Authorization: Bearer $SLUIS_KEY" \
  -H "x-sluis-dlp: off" \
  -H "Content-Type: application/json" \
  -d '{ "model": "mistral/mistral-embed", "input": "raw text, embedded verbatim" }'
# keys without the grant get 403; every override is sealed in the audit trail

Una clave sin ese permiso recibe un 403 al enviar la cabecera, y ese rechazo también queda sellado en el registro de auditoría. Cada anulación aplicada se divulga en la fila de auditoría sellada, así el registro siempre muestra qué modo se ejecutó realmente.