Pentru echipele IT
Aceeași protecție, apelată de programele dumneavoastră — o singură imagine, fără stare, de operat.
Înainte ca un flux de lucru să trimită un document unei IA, unui traducător sau unui furnizor, poate cere DoNotLeak să găsească și să înlocuiască datele personale din el — printr-un API care cere o identitate, deservit de motorul paginii.
Încă o componentă de găzduit, securizat, actualizat și monitorizat? Iată ce cere: o imagine semnată, fără bază de date și fără volum de salvat, configurată prin mediul ei, apelată de mașini identificate. Și, la cerere, codul ei sursă pentru echipele dumneavoastră.
Doar apelanți identificați · Nimic nu este păstrat · Imagini semnate, amd64 și arm64

Încercați API-ul
Trimiteți o cerere, citiți răspunsul.
Motorul real, deschis aici ca demonstrație, fără cheie: răspunsul pe care îl citiți este cel pe care îl vor primi programele dumneavoastră.
- 1 apel la 15 s pe adresă IP
- texte de până la 4 KB
- nu se păstrează nimic
- aceeași rețea împarte ritmul
Plafoanele demonstrației
Pe adresă — o rețea IPv6 /64 contează ca una singură: 100 de apeluri pe zi, 300 pe săptămână, 600 pe lună, 2.000 pe an. Pentru întreaga demonstrație: 600 de apeluri pe minut și un singur text analizat odată; peste acestea, răspunde 503, iar restul serviciului nu este afectat. Adresa dumneavoastră este ținută doar în memorie, cât timp i se numără apelurile; jurnalele păstrează verbul, starea, dimensiunile și durata — niciodată adresa, textul sau răspunsul.
RateLimit-Policy · RateLimit · Retry-After
- POSTscan
- POSTprotectÎn curând
- POSTrestoreÎn curând
- GETcapabilitiesÎn curând
- POSTextractcu o cheie
- POSTrendercu o cheie
Cerere
POST/api/demo/scan
Găsește datele personale — unde sunt (în octeți UTF-8), tipul lor, gravitatea lor — și returnează textul protejat.
81 / 4096 de octeți
Vedeți JSON-ul trimis
{
"text": "Damien Morel a validé le virement vers l'IBAN FR76 3000 6000 0112 3456 7890 189.",
"scope": [
"FR"
]
}Gata — 1 apel disponibil
Răspuns
Răspunsul va apărea aici.
Programele dumneavoastră apelează /api/v1/scan cu identitatea lor — un certificat de client sau un token: este secțiunea următoare.
API-ul
Ce face astăzi: găsește, apoi înlocuiește.
Un singur apel: JSON la intrare, detecțiile și textul protejat la ieșire. Răspunde chiar motorul paginii.
Găsire
Fiecare dată personală din text, cu tipul, poziția și un scor de încredere. Formatele urmează țările pe care le indicați.
findings · counts · scope
Înlocuire
Același răspuns conține textul protejat: fiecare valoare devine un marcaj tipizat și numerotat. Valorile pe care le indicați ca păstrate rămân neschimbate.
anonymized_text · replacements · kept
Apelul
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/scanCu un token în loc de un certificat
-H "Authorization: Bearer $TOKEN"Răspunsul — înregistrat din motor, cu rânduri noi adăugate
{"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}Refuzurile și tabelul entităților
Refuzurile nu citează niciodată conținutul: 400 gol sau nu e JSON, 413 peste 1 MiB, 422 conținut suspect, 401 fără identitate, 403 nepermis, 429 buget depășit.
Tabelul entităților returnează fiecare valoare originală apelantului care a trimis-o — datorită lui va fi posibilă restaurarea. Doar textul protejat merge mai departe spre IA.
Ce nu face încă
- Restaurare: readucerea originalelor în răspunsul IA În curând
- Documentele Word prin API În curând
- Contractul v1 publicat: o descriere OpenAPI, erori uniforme, cote pe apelant În curând
Unde se integrează în fluxurile dumneavoastră
O verificare înaintea apelului extern.
Un flux — un sistem de gestiune a documentelor, un CRM, un lot de fișiere — apelează DoNotLeak chiar înainte de a apela o IA sau un partener. Doar textul protejat merge mai departe.
Dumneavoastră alegeți unde stă verificarea și ce urmează: trimiterea imediată sau revizuirea detecțiilor de către o persoană, apoi retrimiterea textului cu valorile de care are nevoie sarcina.

Identitatea mașinilor
Niciodată anonim: fiecare apel își numește apelantul.
API-ul nu are nicio ușă deschisă. Serverul refuză să pornească până nu știe cum să identifice un apelant, iar fiecare apel este judecat după politica dumneavoastră.
Un certificat de client
TLS mutual, terminat chiar de server: certificatul trebuie să ducă la autoritatea de certificare în care aveți încredere, iar ID-ul său SPIFFE — altfel numele DNS, niciodată common name — devine apelantul.
TLS_CLIENT_CA · TLS_CLIENT_IDENTITY=san
Un token de la furnizorul dumneavoastră de identitate
Emitentul OpenID Connect pe care îl desemnați — directorul dumneavoastră de utilizatori, SSO-ul dumneavoastră: semnătura, emitentul, audiența și expirarea fiecărui token sunt verificate cu cheile pe care acesta le publică, iar rolurile îl însoțesc.
OIDC_ISSUER_URL · OIDC_CLIENT_ID · validat în CI cu Keycloak
- Refuz implicit: un apelant fără rol în fișierul dumneavoastră de politică este respins (403), iar scanarea este un drept separat.
- Nicio cheie API statică ce ar putea să scape: un apelant se dovedește cu un certificat sau un token semnat.
Găzduire și suveranitate
Găzduit de Contee sau în propriul dumneavoastră sistem informatic.
Aceeași imagine headless în ambele cazuri.
De către Contee, în UE
Contee operează serverul, iar dumneavoastră îl apelați. Pagina publică funcționează deja așa, la OVH SAS, un furnizor francez de găzduire (vedeți mențiunile legale).
API-ul găzduit, cu propriul contract de servicii În curând
În sistemul dumneavoastră informatic
Imaginea rulează pe serverele dumneavoastră, în spatele PKI-ului și al furnizorului dumneavoastră de identitate: textele nu vă părăsesc niciodată perimetrul. La cerere, împreună cu codul ei sursă: oferta pe propriile servere, mai jos.

Oferta pe propriile servere
Codul sursă în mâinile dumneavoastră, iar echipele dumneavoastră îl duc mai departe.
Pentru o organizație care vrea DoNotLeak în propriul sistem informatic, fără să depindă de Contee pentru a-l menține în viață.
Codul sursă livrat
Pentru uzul intern al organizației dumneavoastră: echipele dumneavoastră îl citesc, îl construiesc și îl implementează în perimetrul dumneavoastră.
Echipele dumneavoastră instruite
Să îl întrețină, să îl îmbunătățească și să îl extindă: competențele se construiesc la dumneavoastră, nu la noi.
Cea mai mică dependență posibilă
Codul și know-how-ul rămân în organizație; serverul ajunge doar la ce configurați, niciodată la un serviciu Contee.
O singură dată, nu un abonament SaaS
Disponibilă de acum, la cerere, pentru perimetrul dumneavoastră.
Imaginea headless
Doar nucleul de scanare — semnat, pentru două arhitecturi.
Fără pagină, fără cookie, fără cod de browser: API-ul și motorul, nimic altceva.
Motorul paginii
Pagina și API-ul apelează aceeași funcție de scanare: ce vede o persoană pe pagină primește și un program.
un nucleu · două uși
Mică și închisă implicit
O bază distroless — fără shell, fără manager de pachete — și un utilizator non-root. Refuză să pornească fără o sursă de identitate sau cu o configurație TLS incompletă.
port 3000 · TLS și mTLS în aplicație sau în spatele proxy-ului dumneavoastră
Construită și semnată ca imaginea web
Același pipeline o construiește și o scanează, apoi o semnează după digest cu cheia proprie DoNotLeak — imaginea, lista ei de componente și proveniența compilării.
amd64 + arm64 · cosign · SBOM SPDX · proveniență SLSA · Trivy, Grype, Dockle, Dive
Operare
Ce le cere imaginea operațiunilor dumneavoastră.
Un container printre celelalte.
Fără stare
Nicio bază de date, niciun volum de salvat: fiecare cerere este prelucrată în memorie, apoi uitată. Nimic de restaurat.
nicio bază de date · niciun volum de date
Configurată prin mediul ei
Adresa de ascultare, certificatele, autoritatea de certificare a clienților, emitentul OIDC, fișierul de politică, bugetele: variabile și fișiere montate doar pentru citire. O configurație incompletă refuză să pornească.
LEPTOS_SITE_ADDR · TLS_CERT · TLS_CLIENT_CA · CASBIN_POLICY_FILE · SCAN_*
Monitorizată de instrumentele dumneavoastră
Trace-urile pleacă prin OpenTelemetry către colectorul dumneavoastră sau, altfel, către ieșirea standard; jurnalele nu conțin niciodată un text scanat.
OTEL_EXPORTER_OTLP_ENDPOINT
Actualizată prin digest
O versiune este o imagine semnată, desemnată prin digestul ei: verificați semnătura, schimbați digestul, reporniți. Un certificat care se schimbă: fișiere noi, apoi o repornire.
cosign verify · amd64 + arm64
Oriunde ar rula
Trei lucruri care nu se schimbă.
Nimic nu este păstrat
Fiecare text este analizat în memoria cererii care îl poartă, pe server, și dispare odată cu ea: nicio copie, niciun jurnal al conținutului.
Fiecare pipeline trece un text-martor prin serverul headless și eșuează dacă jurnalul îl arată vreodată.
Nimeni altcineva nu este apelat
Detecția se bazează pe formate, reguli și dicționare: niciun model de limbaj, niciun serviciu terț. Serverul ajunge doar la ce configurați — furnizorul de identitate, colectorul de telemetrie.
Fiecare versiune verificabilă
Fiecare imagine este semnată după digest, cu lista de componente și proveniența; pipeline-ul verifică semnătura înainte de orice publicare.

Încercați pe pagină, apoi trimiteți un mesaj către Contee.
Pagina răspunde cu același motor ca API-ul: lipiți un text tipic din fluxurile dumneavoastră. Securitatea imaginii se verifică control cu control pe pagina CISO. Pentru API-ul găzduit sau pentru oferta pe propriile servere, trimiteți un mesaj către Contee.