Dla działów IT
Ta sama ochrona, wywoływana przez twoje programy – jeden bezstanowy obraz do uruchomienia.
Zanim proces wyśle dokument do AI, tłumacza lub dostawcy, może poprosić DoNotLeak o znalezienie i zastąpienie zawartych w nim danych osobowych – przez API, które wymaga tożsamości i które obsługuje silnik strony.
Jeszcze jeden komponent do hostowania, zabezpieczania, aktualizowania i monitorowania? Oto jego wymagania: podpisany obraz, bez bazy danych i bez wolumenu do kopii zapasowych, konfigurowany przez środowisko, wywoływany przez zidentyfikowane maszyny. A na życzenie – jego kod źródłowy dla twoich zespołów.
Tylko zidentyfikowani wywołujący · Nic nie jest przechowywane · Podpisane obrazy, amd64 i arm64

Wypróbuj API
Wyślij żądanie, przeczytaj odpowiedź.
Prawdziwy silnik, otwarty tu jako demo, bez klucza: odpowiedź, którą czytasz, to ta, którą otrzymają twoje programy.
- 1 wywołanie co 15 s na adres IP
- teksty do 4 KB
- nic nie jest przechowywane
- jedna sieć dzieli rytm
Pułapy demonstracji
Na adres — sieć IPv6 /64 liczy się jako jeden: 100 wywołań dziennie, 300 tygodniowo, 600 miesięcznie, 2000 rocznie. Dla całej demonstracji: 600 wywołań na minutę i jeden tekst analizowany naraz; powyżej odpowiada 503, a reszta usługi pozostaje nienaruszona. Twój adres jest trzymany tylko w pamięci, na czas liczenia jego wywołań; logi zachowują czasownik, status, rozmiary i czas trwania — nigdy adres, tekst ani odpowiedź.
RateLimit-Policy · RateLimit · Retry-After
- POSTscan
- POSTprotectWkrótce
- POSTrestoreWkrótce
- GETcapabilitiesWkrótce
- POSTextractz kluczem
- POSTrenderz kluczem
Żądanie
POST/api/demo/scan
Znajduje dane osobowe — gdzie są (w bajtach UTF-8), ich typ, ich wagę — i zwraca chroniony tekst.
81 / 4096 bajtów
Zobacz wysłany JSON
{
"text": "Damien Morel a validé le virement vers l'IBAN FR76 3000 6000 0112 3456 7890 189.",
"scope": [
"FR"
]
}Gotowe — 1 wywołanie dostępne
Odpowiedź
Tu pojawi się odpowiedź.
Twoje programy wywołują /api/v1/scan ze swoją tożsamością — certyfikatem klienta lub tokenem: to następna sekcja.
API
Co robi dziś: znajduje, potem zastępuje.
Jedno wywołanie: JSON na wejściu, wykrycia i chroniony tekst na wyjściu. Odpowiada ten sam silnik co na stronie.
Znajdowanie
Każda dana osobowa w tekście, z typem, pozycją i poziomem pewności. Formaty zależą od krajów, które wskażesz.
findings · counts · scope
Zastępowanie
Ta sama odpowiedź zawiera chroniony tekst: każda wartość staje się typowanym, numerowanym znacznikiem. Wartości wskazane do zachowania pozostają bez zmian.
anonymized_text · replacements · kept
Wywołanie
curl -sS --cacert ca.pem --cert client.pem --key client.key \
-H 'Content-Type: application/json' \
-X POST --data '{"text":"Contact: jean.dupont@example.org"}' \
https://donotleak.example.org/api/v1/scanZ tokenem zamiast certyfikatu
-H "Authorization: Bearer $TOKEN"Odpowiedź – nagrana z silnika, z dodanymi podziałami wierszy
{"version":1,
"findings":[{"id":0,"kind":"Pii","span":{"start":9,"end":32},
"primary":{"label":"EMAIL","severity":"Medium","confidence":85},
"alternatives":[],"entity_id":0,"kept":false,"applied":0}],
"counts":{"total":1,"low":0,"medium":1,"high":0,"critical":0},
"anonymized_text":"Contact: [[EMAIL-1]]",
"replacements":[{"span":{"start":9,"end":32},"placeholder":"[[EMAIL-1]]"}],
"entities":[{"id":0,"label":"EMAIL","value":"jean.dupont@example.org",
"placeholder":"[[EMAIL-1]]"}],
"skipped_overlaps":0}Odmowy i tabela encji
Odmowy nigdy nie cytują treści: 400 pusty tekst lub nie JSON, 413 powyżej 1 MiB, 422 podejrzana treść, 401 brak tożsamości, 403 brak uprawnień, 429 przekroczony budżet.
Tabela encji zwraca każdą oryginalną wartość temu, kto ją wysłał – to ona umożliwi przywracanie. Do AI trafia tylko chroniony tekst.
Czego jeszcze nie robi
- Przywracanie: wstawianie oryginałów z powrotem do odpowiedzi AI Wkrótce
- Dokumenty Word przez API Wkrótce
- Opublikowany kontrakt v1: opis OpenAPI, jednolite błędy, limity dla każdego wywołującego Wkrótce
Gdzie to wpiąć w twoje procesy
Kontrola przed wywołaniem zewnętrznym.
Proces – system zarządzania dokumentami, CRM, partia plików – wywołuje DoNotLeak tuż przed wywołaniem AI lub partnera. Dalej idzie tylko chroniony tekst.
To ty decydujesz, gdzie stoi kontrola i co następuje potem: wysłać od razu albo najpierw dać człowiekowi przejrzeć wykrycia i wysłać tekst ponownie, zachowując wartości potrzebne do zadania.

Tożsamość maszyn
Nigdy anonimowo: każde wywołanie wskazuje wywołującego.
API nie ma otwartych drzwi. Serwer nie uruchomi się, dopóki nie wie, jak identyfikować wywołującego, a każde wywołanie jest oceniane według twojej polityki.
Certyfikat klienta
Wzajemne TLS, obsługiwane przez sam serwer: certyfikat musi prowadzić do urzędu certyfikacji, któremu ufasz, a jego identyfikator SPIFFE – w przeciwnym razie nazwa DNS, nigdy common name – staje się wywołującym.
TLS_CLIENT_CA · TLS_CLIENT_IDENTITY=san
Token od twojego dostawcy tożsamości
Wskazany przez ciebie wystawca OpenID Connect – twój katalog, twoje SSO: podpis, wystawca, odbiorca i ważność każdego tokenu są sprawdzane kluczami, które on publikuje, a role tokenu przychodzą razem z nim.
OIDC_ISSUER_URL · OIDC_CLIENT_ID · przetestowane w CI z serwerem Keycloak
- Domyślnie odmowa: wywołujący bez roli w twoim pliku polityki zostaje odrzucony (403), a skanowanie to osobne uprawnienie.
- Brak statycznego klucza API, który mógłby wyciec: wywołujący potwierdza się certyfikatem lub podpisanym tokenem.
Hosting i suwerenność
Hostowane przez Contee albo w twoim własnym systemie informatycznym.
W obu przypadkach ten sam obraz headless.
Przez Contee, w UE
Contee utrzymuje serwer, a ty go wywołujesz. Publiczna strona już tak działa, u OVH SAS, francuskiego dostawcy hostingu (zob. notę prawną).
Hostowane API, z własną umową o świadczenie usługi Wkrótce
W twoim systemie informatycznym
Obraz działa na twoich serwerach, za twoją PKI i twoim dostawcą tożsamości: teksty nigdy nie opuszczają twojego środowiska. Na życzenie – z kodem źródłowym: oferta on-premises, poniżej.

Oferta on-premises
Kod źródłowy w twoich rękach, a jego rozwój – w rękach twoich zespołów.
Dla organizacji, która chce mieć DoNotLeak we własnym systemie informatycznym, nie zależąc od Contee w jego dalszym utrzymaniu.
Dostarczony kod źródłowy
Do użytku wewnętrznego twojej organizacji: twoje zespoły go czytają, budują i wdrażają w twoim środowisku.
Przeszkolone zespoły
Do utrzymania, ulepszania i rozbudowy kodu: kompetencje powstają u ciebie, nie u nas.
Jak najmniejsze uzależnienie
Kod i know-how zostają w firmie; serwer łączy się tylko z tym, co skonfigurujesz, nigdy z usługą Contee.
Jednorazowo, nie w abonamencie SaaS
Dostępna już dziś, na życzenie, dla twojego środowiska.
Obraz headless
Sam rdzeń skanowania – podpisany, dla dwóch architektur.
Bez strony, bez ciasteczek, bez kodu przeglądarki: API i silnik, nic więcej.
Silnik strony
Strona i API wywołują tę samą funkcję skanowania: to, co człowiek widzi na stronie, dostaje też program.
jeden rdzeń · dwoje drzwi
Mały i domyślnie zamknięty
Baza distroless – bez powłoki, bez menedżera pakietów – i użytkownik bez uprawnień roota. Nie uruchomi się bez źródła tożsamości ani z niepełną konfiguracją TLS.
port 3000 · TLS i mTLS w aplikacji albo za twoim proxy
Budowany i podpisywany jak obraz webowy
Ten sam pipeline go buduje i skanuje, a potem podpisuje po skrócie (digest) własnym kluczem DoNotLeak – obraz, jego wykaz komponentów i pochodzenie kompilacji.
amd64 + arm64 · cosign · SBOM SPDX · pochodzenie SLSA · Trivy, Grype, Dockle, Dive
Eksploatacja
Czego obraz wymaga od twojego zespołu utrzymania.
Jeden kontener wśród innych.
Bezstanowy
Bez bazy danych i bez wolumenu do kopii zapasowych: każde żądanie jest przetwarzane w pamięci, a potem zapominane. Nic do przywracania.
bez bazy danych · bez wolumenu danych
Konfigurowany przez środowisko
Adres nasłuchu, certyfikaty, urząd certyfikacji klientów, wystawca OIDC, plik polityki, budżety: zmienne oraz pliki montowane tylko do odczytu. Przy niepełnej konfiguracji obraz się nie uruchomi.
LEPTOS_SITE_ADDR · TLS_CERT · TLS_CLIENT_CA · CASBIN_POLICY_FILE · SCAN_*
Monitorowany twoimi narzędziami
Ślady (traces) trafiają przez OpenTelemetry do twojego kolektora, a w przeciwnym razie na standardowe wyjście; logi nigdy nie zawierają skanowanego tekstu.
OTEL_EXPORTER_OTLP_ENDPOINT
Aktualizowany po skrócie
Wydanie to podpisany obraz wskazany swoim skrótem: sprawdź podpis, zmień skrót, uruchom ponownie. Zmiana certyfikatu: nowe pliki, potem restart.
cosign verify · amd64 + arm64
Gdziekolwiek działa
Trzy rzeczy, które się nie zmieniają.
Nic nie jest przechowywane
Każdy tekst jest analizowany w pamięci żądania, które go przenosi, na serwerze, i znika razem z nim: bez kopii, bez logów jego treści.
Każdy pipeline przepuszcza tekst kontrolny przez serwer headless i kończy się błędem, jeśli kiedykolwiek pojawi się on w logu.
Nikt inny nie jest wywoływany
Wykrywanie opiera się na formatach, regułach i słownikach: bez modelu językowego, bez usług zewnętrznych. Serwer łączy się tylko z tym, co skonfigurujesz – twoim dostawcą tożsamości, twoim kolektorem telemetrii.
Każde wydanie do sprawdzenia
Każdy obraz jest podpisany po skrócie, razem z wykazem komponentów i pochodzeniem; pipeline sprawdza podpis, zanim cokolwiek zostanie wydane.

Wypróbuj na stronie, a potem napisz do Contee.
Strona odpowiada tym samym silnikiem co API: wklej typowy tekst ze swoich procesów. Bezpieczeństwo obrazu sprawdzisz zabezpieczenie po zabezpieczeniu na stronie CISO. W sprawie hostowanego API lub oferty on-premises napisz do Contee.