Documentación

Ponga Sluis delante de sus llamadas a modelos.

Sluis es un proxy compatible con OpenAI. Cambie una sola línea, su base_url, y cada petición empieza a fluir por su política de residencia hacia el registro a prueba de manipulaciones. Sin SDK que aprender, sin payloads que reescribir. Cinco pasos a continuación; la referencia completa está en la barra lateral.

Tiempo hasta la primera llamada sellada: ~2 minutos. Si su código ya habla con OpenAI, conserva su cliente, sus modelos y su formato de mensajes exactamente como están.

Obtener una clave

Cree una clave en la Consola, en API keys. Cada clave lleva una política de residencia y un presupuesto, así que puede reservar eu-only para todo lo personal y eu-uk-us para redacción general sin cambiar nada de código.

# keep it in your environment, never in source
export SLUIS_KEY="sk_live_a91c…"

Apuntar base_url a Sluis

Cambie el host. Todo lo demás (modelos, streaming, herramientas, function calling) funciona igual, porque Sluis hace de proxy de la misma superficie de API.

from openai import OpenAI

client = OpenAI(
    base_url="https://api.sluis.ai/v1",
    api_key=os.environ["SLUIS_KEY"],
)

Enviar una petición

Llame exactamente como llamaría al proveedor. Sluis inspecciona la petición, la enruta según su política, la sella en la cadena de auditoría y devuelve la respuesta del modelo sin cambios. Las llamadas a un alias sluis/* divulgan la ruta concreta en cabeceras de respuesta x-sluis.

# Anthropic Claude, served from Google's EU multi-region
resp = client.chat.completions.create(
    model="vertex/claude-opus-4-8",
    messages=[{"role": "user", "content": "Summarise this chart…"}],
)
print(resp.choices[0].message.content)
200 OK · sellado en 3 ms
# response headers on a sluis/* alias call
{
  "x-sluis-route": "sluis/auto",
  "x-sluis-model": "vertex/claude-opus-4-8"
}

Fijar la residencia

La residencia es política de la organización, fijada en la Consola (Políticas → Residencia) y aplicada en el despacho de cada petición. El valor por defecto solo permite la jurisdicción UE: una petición que alcanzaría un proveedor fuera del conjunto permitido se rechaza con 451 antes de que salga un solo byte, ya sea PHI en un flujo regulado por HIPAA o categorías especiales del RGPD.

# default policy is EU-only — a US provider is refused at dispatch
curl https://api.sluis.ai/v1/chat/completions \
  -H "Authorization: Bearer $SLUIS_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "openai/gpt-5.6", "messages": [...] }'

# → 451 permission_error
# "blocked by residency policy: provider jurisdiction US is not in the allowed set [EU]"

Ampliar adónde pueden ir los datos es siempre una decisión explícita y registrada: la Consola exige reconocer las condiciones de transferencia antes de desbloquear proveedores de EE. UU. o China, y el cambio queda en el registro de auditoría.

¿Necesita mantener los datos personales completamente fuera del modelo, para usar cualquier modelo sin filtrar ni un solo nombre, número o secreto? Active Políticas → Protección de datos: Sluis reemplaza los PII y secretos detectados con tokens tipados estables (p. ej. «EMAIL_1»), reenvía solo los tokens al proveedor y restaura los valores originales en la respuesta. La correspondencia nunca se persiste. Eso es lo que hace seguro llamar a cualquier modelo de terceros. La biblioteca completa de detectores y la detección de nombres se tratan en la referencia de Protección de datos más abajo.

Verificar el sello

Cada llamada añade una entrada a la cadena de hashes. Descargue la cadena y vuelva a verificarla sin conexión, el hash de cada entrada es sha256(prev_hash + record), de modo que cualquier campo alterado rompe todos los eslabones posteriores.

curl https://api.sluis.ai/v1/audit/export?from=genesis \
  -H "Authorization: Bearer $SLUIS_KEY" | sluis verify -

# → 18,442 entries · chain intact · head #4f9c2a ✓