Ochrona danych
Tryby wykrywania, biblioteka 60 detektorów, wykrywanie nazwisk, powiadomienie modelu i retencja.
Ochrona danych działa na każdym żądaniu przed wysyłką. Domyślny tryb to tokenize: każda wykryta wartość jest zamieniana na stabilny typizowany token, taki jak «EMAIL_1». Do dostawcy trafiają wyłącznie tokeny, a w drodze powrotnej do Ciebie odpowiedź jest przywracana do prawdziwych wartości, niezależnie od tego, czy jest strumieniowana. Mapa tokenów żyje w pamięci przez czas trwania żądania i nigdy nie jest utrwalana.
# 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." }] }'
# what the model provider receives — only stable typed tokens { "role": "user", "content": "Mail «EMAIL_1» that IBAN «IBAN_1» is active." }
# what you get back — restored at the single client egress, streaming included { "choices": [{ "message": { "role": "assistant", "content": "Draft: Dear j.devries@acme.nl, your account NL91ABNA0417164300 is active…" } }] }
Inne tryby: mask nieodwracalnie przepisuje wykryte wartości, block odrzuca żądanie z kodem 422, a allow_log przepuszcza je, oznaczając wpis w audycie.
60 wbudowanych detektorów działa od ręki: 28 dla danych osobowych, od amerykańskiego numeru SSN po pakiet krajowych numerów identyfikacyjnych z walidacją sumą kontrolną dla 12 krajów UE, oraz 32 dla sekretów i poświadczeń. Każdy można włączać per organizacja, a terminy własne (zwykłe lub regex) obejmują wszystko, co specyficzne dla Twojej firmy:
Wykrywanie encji
Osoby, organizacje i lokalizacje trudno wychwycić samym wzorcem. Sluis dodaje cztery opcjonalne warstwy: heurystyki kontekstowe (tytuły grzecznościowe, zwroty, podpisy; tylko osoby), korelację e-mail (wyprowadza nazwiska z adresów w tym samym tekście), katalog nazwisk tenanta oraz NER: wielojęzyczny model rozpoznawania dostarczany z wdrożeniem (wagi spaCy xx_ent_wiki_sm, obsługiwany przez Sluis jako wewnętrzny sidecar), więc tekst nigdy nie opuszcza Twojego perymetru w celu przeskanowania. NER znajduje osoby, organizacje i lokalizacje w zwykłej prozie.
Powiadomienie dla modelu
Gdy tokenizacja przepisała żądanie, Sluis wstrzykuje na początku wiadomość systemową informującą model, że tokeny «…» to nieprzezroczyste symbole zastępcze, które musi zachować w nienaruszonym stanie; to właśnie zapewnia niezawodne przywracanie. Domyślnie włączone; dostosuj lub wyłącz per organizacja.
Retencja i wierność audytu
Retencja treści (body żądań i odpowiedzi dla dziennika audytu) jest domyślnie włączona i szyfrowana w spoczynku; wierność audytu decyduje, czy zachowana treść przechowuje tokeny, czy wartości oryginalne. Wyłącz retencję, by mieć rejestr wyłącznie z metadanymi; to wyłącza także cache'e odpowiedzi.
Anonimizacja dokumentów
Wyślij plik docx, pdf, obraz lub tekst na POST /v1/documents/anonymize a ten sam dokument wraca z PII i sekretami zastąpionymi znacznikami jak «PERSON_NAME_1» w tekście oraz rozmytymi na obrazach i stronach PDF. Przetwarzanie pozostaje lokalne w gateway, wraz z OCR; operacja jest pieczętowana w łańcuchu audytu i rozliczana za stronę/obraz. Mapa tokenów jest zwracana tylko na żądanie i nigdy nie jest przechowywana. Zredagowane PDF-y zachowują niewidoczną, przeszukiwalną warstwę tekstu zbudowaną z zanonimizowanego tekstu. Dla dużych dokumentów zakolejkuj zadanie asynchroniczne i odbierz wynik później przez podpisany URL o ograniczonej ważności.
Ta sama ochrona działa w tranzycie: z włączoną polityką dlp_documents pliki wysyłane przez /v1/files i dokumenty OCR inline są anonimizowane zanim wyjdą do dostawcy, odrzucane w trybie block i skanowane w trybie 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"
{
"id": "9c31…",
"state": "succeeded",
"filename": "archive.pdf",
"summary": { "pages": 12, "images": 3, "categories": ["PERSON_NAME", "EMAIL"], "downgraded": false },
"download_url": "https://api.sluis.ai/v1/documents/deliverables/9c31…?tenant=…&exp=…&sig=…"
}Embeddingi
Pseudonimizowane tokeny są stabilne w obrębie jednego żądania, nie między żądaniami; embeddingi tokenizowanego tekstu mogą się więc różnić między wywołaniami. Ustawienie dlp_embeddings decyduje, czy skanowanie obejmuje /v1/embeddings: domyślnie włączone, ustawienie na off wysyła dane wejściowe embeddingów do dostawcy bez skanowania. Każde zwolnione wywołanie jest odnotowane w dzienniku audytu.
Nadpisania per klucz
Owner lub admin może utworzyć klucz API z allow_dlp_override. Żądania z takim kluczem mogą nadpisać tryb ochrony danych organizacji dla tego jednego wywołania przez nagłówek x-sluis-dlp: off, allow_log, mask, block lub 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
Klucz bez tego uprawnienia otrzymuje 403 przy wysłaniu nagłówka, a ta odmowa również jest pieczętowana w dzienniku audytu. Każde zastosowane nadpisanie jest ujawniane w zapieczętowanym wierszu audytu, więc dziennik zawsze pokazuje, który tryb faktycznie zadziałał.