Segui una richiesta attraverso la chiusa.
Cambia una base_url e i tuoi SDK e streaming OpenAI attraversano tre porte.
La porta si chiude dietro di te.
Prima che esca un byte, il prompt passa oltre 60 rilevatori e tutto ciò che trova è pseudonimizzato in modo reversibile.
I nomi sono i dati personali più difficili da cogliere per pattern, quindi il rilevamento dei nomi è fatto di cinque livelli che attivi tu: euristiche di contesto, correlazione delle email, una rubrica di nomi per tenant, un dizionario dei nomi incluso compilato da dati aperti della pubblica amministrazione e il modello di riconoscimento multilingue di Sluis, che gira dentro il tuo deployment e non invia mai un nome a terzi. Il modello esiste in due livelli selezionabili: uno veloce che risponde in pochi millisecondi e uno profondo (GLiNER2-PII) che rileva sensibilmente di più al costo di qualche centinaio di millisecondi per segmento analizzato. I numeri misurati per livello sono nella documentazione.
Il rilevamento opzionale di prompt injection e jailbreak gira alla stessa chiusa (Llama Prompt Guard 2, Built with Llama), in parallelo con la scansione delle entità, in modalità log o block; i rilevamenti finiscono nel registro di audit, e la scansione fallisce in apertura, quindi non ferma mai il traffico.
Lavora con dati personali e segreti. Il modello non li vede mai.
La scansione sostituisce ogni valore PII e ogni segreto con un token stabile e inoltra al modello solo i token. “Anna de Vries” diventa «PERSON_1», in modo coerente per tutta la conversazione, così il modello può continuare a ragionare. La risposta arriva con i token e lascia la chiusa con i nomi: il ripristino avviene nello stream, token dopo token, così il tuo utente non si accorge di nulla. La tabella di corrispondenza resta all'interno. Sempre.
Il livello dell'acqua si pareggia.
Definisci per chiave quali modelli, regioni e proprietari sono consentiti; se uno cade, subentra il successivo.
Sovrano UE di default
Il default è l'impostazione più severa: solo provider di proprietà europea come Mistral e Scaleway, più cloud in regione UE. Anche i provider statunitensi e cinesi diretti sono disponibili, disattivati per impostazione predefinita: autorizzali nella policy e Sluis applica esattamente quella linea.
Proprietà, non solo regione
Ogni modello porta un'etichetta: dove gira e chi può raggiungerlo. Una capogruppo statunitense soggetta al CLOUD Act è scritta lì sopra (owner_is_eu = false), così una rotta statunitense o cinese diretta è sempre una scelta che vedi, mai presa al posto tuo.
Blocchi netti, non best-effort
Se nessun provider soddisfa la policy, la richiesta viene respinta alla porta e torna alla tua app con un codice motivo chiaro. Un blocco, non una supposizione.
Un endpoint. Sempre il modello migliore.
La policy prima del benchmark: lo stesso alias sluis/auto si risolve in modo diverso per tenant quando la policy lo richiede. Un’organizzazione EU-only non viene mai instradata verso un provider non conforme, anche se i benchmark lo indicano come più veloce.
Chiama un nome stabile
Usa sluis/auto per il routing per richiesta o nomi per caso d’uso come sluis/code, sluis/cheap e sluis/vision. Gli id modello escono dalla tua app.
Aggiornato da benchmark live
Le route gestite vengono aggiornate ogni giorno dai benchmark Artificial Analysis, poi curate da Sluis prima di diventare attive.
La tua policy vince
I tuoi alias tenant possono riusare un nome riservato e oscurare la route gestita. Le chiavi possono allow-listare sluis/auto o sluis/code come un id modello.
Classifiche: Artificial Analysis · target rivalutati ogni giorno, sempre risolti dentro la tua policy di residenza.
# One stable name. Tenant policy still decides the target. $ curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -d '{ "model": "sluis/auto", "messages": [...] }' # → x-sluis-route: sluis/auto # → x-sluis-model: mistral/mistral-large-latest # → x-sluis-region: EU · policy-aware
Il passaggio entra nel registro.
Ogni richiesta entra in un registro concatenato per hash che esporti come JSON Lines e riverifichi offline.
Il diritto alla cancellazione (art. 17 GDPR ed equivalenti) elimina contenuti delle richieste, cache e credenziali dei provider, e conserva la catena dei metadati, così verify-chain continua a passare anche dopo che i dati sono spariti.
I tuoi agenti passano le stesse tre porte.
Le chiamate agli strumenti MCP sono richieste come le altre, quindi passano le stesse tre porte. Un agente che legge il tuo CRM o crea un ticket lo fa dietro la chiusa: ispezionato, instradato, sigillato.
L'unico gateway MCP in cui ogni invocazione di strumento passa Ispeziona → Instrada → Sigilla, così «è rimasto dentro la tua policy» copre i tuoi strumenti, non solo i tuoi prompt.
- inspect
Ispeziona la chiamata allo strumento
La stessa passata DLP scansiona argomenti e risultati degli strumenti per PII e segreti.
arguments · scannedpass - route
Instrada l'uscita dello strumento
Un'uscita di strumento fuori dalla tua policy di residenza viene bloccata alla porta.
egress · eu-sovereignin-region - seal
Sigillala nello stesso registro
La chiamata e un hash dei suoi argomenti si concatenano nello stesso registro a prova di manomissione.
ledger · #4f9c2averified
tool.callinspect.passroute.eu-sovereignseal.#4f9c2aCostruito per non intralciare la richiesta.
La conformità non può costarti latenza. L'hot path è progettato perché i controlli girino senza mai bloccarsi su un database, un lock o un buffer.
Senza stato by design
Nessuno stato per richiesta: scali aggiungendo repliche e l'hot path non tocca mai Postgres.
Sigillato fuori dall'hot path
Le scritture di audit sono asincrone e a lotti: la risposta non aspetta mai il registro.
In streaming, mai bufferizzato
L'SSE passa dritto per un tee; il corpo non viene mai trattenuto per intero in memoria.
Una spesa che non va alla deriva
La spesa è addebitata in denaro reale e riconciliata dal registro durevole; fallisce chiuso.
Misurato, non promesso
Con tutte le porte attive, l'overhead misurato è +1 ms alla mediana, nulla contro un modello dal vivo.
Anonimizzazione di documenti
Consegna alla gateway un docx, un pdf, un'immagine o testo semplice e ricevi lo stesso documento con ogni nome, numero e segreto sostituito da «MERGE_TAG» nel testo e sfocato nei pixel. Rendering e OCR girano nel processo della gateway; nulla raggiunge un provider di modelli, l'operazione viene sigillata nella catena di audit e la mappa dei token resta solo tua.
Paga una sola volta la stessa risposta.
Attiva per tenant una cache esatta e una semantica, isolate per tenant e cifrate AEAD, senza mai indebolire la residenza.
Costruito per lo stack che hai già.
Compatibile OpenAI fino al byte. Tieni il tuo SDK, i tuoi prompt, i tuoi strumenti. Punta una base_url su Sluis e aggiungi un header di residenza quando vuoi vincolare una classe di traffico.
API compatibile OpenAI
/v1/chat/completions, /v1/embeddings, /v1/models: stesse forme, stesso streaming, niente da riscrivere.
Funziona con gli SDK che usi già
Client OpenAI ufficiali, LangChain o semplice curl: nessuna nuova libreria, nessun protocollo proprietario.
Una base_url, una chiave
Conia una chiave virtuale per app, ognuna con la propria allow-list di modelli, limiti e budget.
Osservabilità integrata
Metriche Prometheus e tracce OTLP, etichettate jurisdiction, owner e decision, dritte in Grafana.
# Same API. One endpoint. You set the residency policy. # eu-sovereign is the safe default; allow more deliberately. $ curl https://api.sluis.ai/v1/chat/completions \ -H "Authorization: Bearer $SLUIS_KEY" \ -H "X-Sluis-Residency: eu-sovereign" \ -d '{ "model": "mistral/mistral-large", "messages": [...] }' # → mistral-large @ mistral-fr · in-region # → sealed · #4f9c2a · streamed
Guarda la chiusa al lavoro sul tuo traffico.
Il prezzo di listino del tuo provider più un 10% fisso. Niente postazioni, niente minimi, niente giochi di margine. Attivi con carta o SEPA e paghi a consumo, e nessuna richiesta esce mai dalla tua policy di residenza.