Dokumentation

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 die Produktion und eu-uk-us für eine Forschungs-Sandbox 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"],
)

Anfrage senden

Rufen Sie es genau so auf, wie Sie den Anbieter aufrufen würden. Sluis prüft die Anfrage, routet sie durch Ihre Policy und liefert die Antwort des Modells mit zwei zusätzlichen Headern, die zeigen, wo sie lief und wie sie versiegelt wurde.

# 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 · versiegelt in 3 ms
{
  "x-sluis-region": "eu multi-region",
  "x-sluis-provider": "vertex · claude-opus-4-8",
  "x-sluis-decision": "in-region",
  "x-sluis-seal": "#4f9c2a",
  "x-sluis-prev": "#e1b7d9"
}

Residency pro Anfrage setzen

Die Policy des Keys ist der Default. Überschreiben Sie sie für einen einzelnen Aufruf per Header, nützlich, wenn ein Endpunkt eine strengere Datenklasse verarbeitet als der Rest des Keys.

resp = client.chat.completions.create(
    model="mistral/mistral-large-latest",
    messages=msgs,
    extra_headers={"X-Sluis-Residency": "eu-only"},
)
# PHI in the prompt? Sluis routes EU-only and
# blocks with 451 if no EU provider is available.

Der Header kann eine Anfrage nur strenger machen als die Policy des Keys, niemals lockerer. Eine Anfrage kann ihre eigene Residency nie ausweiten. Um zu erweitern, wohin Daten dürfen (etwa US- oder chinesische Anbieter erlauben) ändern Sie die Basis-Policy in der Console.

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 eines US- oder chinesischen 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 ✓