Schalten Sie Sluis vor Ihre Modellaufrufe.
Sluis ist ein OpenAI-kompatibler Proxy. Ändern Sie eine Zeile, Ihre base_url, und jede Anfrage fließt fortan durch Ihre Residency-Policy in das manipulationssichere Register. Kein SDK zu lernen, keine Payloads umzuschreiben. Fünf Schritte unten; die vollständige Referenz finden Sie in der Seitenleiste.
Zeit bis zum ersten versiegelten Aufruf: ~2 Minuten. Wenn Ihr Code bereits mit OpenAI spricht, behalten Sie Ihren Client, Ihre Modelle und Ihr Nachrichtenformat exakt so, wie sie sind.
Key holen
Erstellen Sie einen Key in der Console unter API keys. Jeder Key trägt eine Residency-Policy und ein Budget, so können Sie eu-only für alles Persönliche und eu-uk-us für allgemeine Entwürfe vergeben, ohne Code zu ändern.
# keep it in your environment, never in source export SLUIS_KEY="sk_live_a91c…"
base_url auf Sluis zeigen lassen
Tauschen Sie den Host. Alles dahinter, Modelle, Streaming, Tools, Function Calling, funktioniert unverändert, weil Sluis dieselbe API-Oberfläche proxyt.
from openai import OpenAI client = OpenAI( base_url="https://api.sluis.ai/v1", api_key=os.environ["SLUIS_KEY"], )
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.sluis.ai/v1", apiKey: process.env.SLUIS_KEY, });
// no SDK required — reqwest = { version = "0.12", features = ["json"] } let client = reqwest::Client::new(); let base = "https://api.sluis.ai/v1"; // ← the only change let key = std::env::var("SLUIS_KEY")?;
curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mistral/mistral-large-latest", "messages": [...] }'
Anfrage senden
Rufen Sie genauso auf, wie Sie den Provider aufrufen würden. Sluis prüft die Anfrage, routet sie durch Ihre Policy, versiegelt sie in der Audit-Kette und gibt die Modellantwort unverändert zurück. Aufrufe eines sluis/*-Alias legen die konkrete Route über x-sluis-Antwort-Header offen.
# 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)
// Anthropic Claude, served from Google's EU multi-region const resp = await client.chat.completions.create({ model: "vertex/claude-opus-4-8", messages: [{ role: "user", content: "Summarise this chart…" }], }); console.log(resp.choices[0].message.content);
// Anthropic Claude, served from Google's EU multi-region let resp: serde_json::Value = client .post(format!("{base}/chat/completions")) .bearer_auth(&key) .json(&serde_json::json!({ "model": "vertex/claude-opus-4-8", "messages": [{ "role": "user", "content": "Summarise this chart…" }] })) .send().await? .json().await?; println!("{}", resp["choices"][0]["message"]["content"]);
# response headers on a sluis/* alias call { "x-sluis-route": "sluis/auto", "x-sluis-model": "vertex/claude-opus-4-8" }
Residency festlegen
Residency ist Organisations-Policy, gesetzt in der Console (Richtlinien → Residency) und bei jedem Versand auf jeder Anfrage durchgesetzt. Der Default erlaubt nur die EU-Jurisdiktion: eine Anfrage, die einen Anbieter außerhalb des erlaubten Sets erreichen würde, wird mit 451 abgewiesen, bevor ein Byte das Haus verlässt, sei es PHI in einem HIPAA-regulierten Ablauf oder eine besondere Datenkategorie nach DSGVO.
# 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]"
Zu erweitern, wohin Daten dürfen, ist immer eine explizite, protokollierte Entscheidung: die Console verlangt die Anerkennung der Übermittlungsbedingungen, bevor US- oder chinesische Anbieter freigeschaltet werden, und die Änderung landet im Audit-Protokoll.
Möchten Sie personenbezogene Daten vollständig aus dem Modell heraushalten, um jedes Modell zu nutzen, ohne einen einzigen Namen, eine Zahl oder ein Geheimnis preiszugeben? Aktivieren Sie Richtlinien → Datenschutz: Sluis ersetzt erkannte PII und Secrets durch stabile typisierte Tokens (z. B. «EMAIL_1»), leitet nur die Tokens an den Provider weiter und stellt die Originalwerte in der Antwort wieder her. Die Zuordnung wird niemals gespeichert. Genau das macht den Aufruf jedes Drittanbieter-Modells sicher. Die vollständige Detektor-Bibliothek und die Namenserkennung finden Sie in der Datenschutz-Referenz weiter unten.
Siegel prüfen
Jeder Aufruf hängt einen Eintrag an die Hash-Kette. Ziehen Sie die Kette und prüfen Sie sie offline nach, der Hash jedes Eintrags ist sha256(prev_hash + record), sodass jedes veränderte Feld alle nachfolgenden Glieder bricht.
curl https://api.sluis.ai/v1/audit/export?from=genesis \ -H "Authorization: Bearer $SLUIS_KEY" | sluis verify - # → 18,442 entries · chain intact · head #4f9c2a ✓