Voor IT-afdelingen
Dezelfde bescherming, aangeroepen door uw programma’s – één stateless image om te draaien.
Voordat een workflow een document naar een AI, een vertaler of een leverancier stuurt, kan hij DoNotLeak de persoonsgegevens erin laten vinden en vervangen – via een API die een identiteit eist en die de engine van de pagina beantwoordt.
Nog een component om te hosten, te beveiligen, bij te werken en te monitoren? Dit is wat het vraagt: een ondertekende image, zonder database en zonder volume om te back-uppen, geconfigureerd via de omgeving, aangeroepen door geïdentificeerde machines. En, op verzoek, de broncode voor uw teams.
Alleen geïdentificeerde aanroepers · Niets wordt bewaard · Ondertekende images, amd64 en arm64

De API uitproberen
Stuur een verzoek, lees het antwoord.
De echte engine, hier open als demo, zonder sleutel: het antwoord dat u leest, is het antwoord dat uw programma’s zullen krijgen.
- 1 aanroep per 15 s per IP-adres
- teksten tot 4 kB
- er wordt niets bewaard
- één netwerk deelt het ritme
De plafonds van de demo
Per adres — een IPv6-/64-netwerk telt als één: 100 aanroepen per dag, 300 per week, 600 per maand, 2.000 per jaar. Voor de hele demo: 600 aanroepen per minuut en één tekst tegelijk in analyse; daarboven antwoordt ze 503 en blijft de rest van de dienst onaangeroerd. Uw adres wordt alleen in het geheugen gehouden, zolang de aanroepen ervan worden geteld; de logs bewaren het werkwoord, de status, de groottes en de duur — nooit het adres, de tekst of het antwoord.
RateLimit-Policy · RateLimit · Retry-After
- POSTscan
- POSTprotectBinnenkort
- POSTrestoreBinnenkort
- GETcapabilitiesBinnenkort
- POSTextractmet een sleutel
- POSTrendermet een sleutel
Verzoek
POST/api/demo/scan
Vindt de persoonsgegevens — waar ze staan (in UTF-8-bytes), hun type, hun ernst — en geeft de beschermde tekst terug.
81 / 4096 bytes
Het verzonden JSON bekijken
{
"text": "Damien Morel a validé le virement vers l'IBAN FR76 3000 6000 0112 3456 7890 189.",
"scope": [
"FR"
]
}Klaar — 1 aanroep beschikbaar
Antwoord
Het antwoord verschijnt hier.
Uw programma’s roepen /api/v1/scan aan met hun identiteit — een clientcertificaat of een token: dat is de volgende sectie.
De API
Wat ze vandaag doet: vinden, dan vervangen.
Eén aanroep: JSON erin, de vondsten en de beschermde tekst eruit. De engine van de pagina zelf antwoordt.
Vinden
Elk persoonsgegeven in de tekst, met zijn type, zijn positie en een betrouwbaarheidsscore. De formaten volgen de landen die u opgeeft.
findings · counts · scope
Vervangen
Hetzelfde antwoord bevat de beschermde tekst: elke waarde wordt een getypeerde, genummerde placeholder. Waarden die u als te behouden opgeeft, blijven zoals ze zijn.
anonymized_text · replacements · kept
De aanroep
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/scanMet een token in plaats van een certificaat
-H "Authorization: Bearer $TOKEN"Het antwoord – opgenomen uit de engine, regeleinden toegevoegd
{"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}Weigeringen en de entiteitentabel
Weigeringen citeren nooit de inhoud: 400 leeg of geen JSON, 413 boven 1 MiB, 422 verdachte inhoud, 401 geen identiteit, 403 niet toegestaan, 429 budget overschreden.
De entiteitentabel geeft elke oorspronkelijke waarde terug aan de aanroeper die haar stuurde – daarmee wordt herstellen mogelijk. Alleen de beschermde tekst gaat door naar de AI.
Wat ze nog niet doet
- Herstellen: de originelen terugzetten in het antwoord van de AI Binnenkort
- Word-documenten via de API Binnenkort
- Het gepubliceerde v1-contract: een OpenAPI-beschrijving, uniforme fouten, quota per aanroeper Binnenkort
Waar het past in uw workflows
Een controle vóór de externe aanroep.
Een workflow – een documentbeheersysteem, een CRM, een batch bestanden – roept DoNotLeak aan vlak voordat hij een AI of een partner aanroept. Alleen de beschermde tekst gaat verder.
U kiest waar de controle zit en wat er volgt: meteen versturen, of eerst een persoon de vondsten laten nakijken en de tekst opnieuw sturen met de waarden die de taak nodig heeft.

Machine-identiteit
Nooit anoniem: elke aanroep noemt zijn aanroeper.
De API heeft geen open deur. De server weigert te starten zolang hij niet weet hoe hij een aanroeper identificeert, en elke aanroep wordt beoordeeld volgens uw beleid.
Een clientcertificaat
Wederzijdse TLS, door de server zelf afgehandeld: het certificaat moet teruggaan op de certificeringsinstantie die u vertrouwt, en zijn SPIFFE-ID – anders zijn DNS-naam, nooit zijn common name – wordt de aanroeper.
TLS_CLIENT_CA · TLS_CLIENT_IDENTITY=san
Een token van uw identiteitsprovider
De OpenID Connect-uitgever die u aanwijst – uw directory, uw SSO: handtekening, uitgever, doelgroep en vervaldatum van elk token worden gecontroleerd met de sleutels die hij publiceert, en zijn rollen komen mee.
OIDC_ISSUER_URL · OIDC_CLIENT_ID · in de CI getest tegen Keycloak
- Standaard geweigerd: een aanroeper zonder rol in uw beleidsbestand wordt afgewezen (403), en scannen is een recht op zich.
- Geen statische API-sleutel die kan uitlekken: een aanroeper bewijst zich met een certificaat of een ondertekend token.
Hosting en soevereiniteit
Gehost door Contee, of binnen uw eigen informatiesysteem.
In beide gevallen dezelfde headless image.
Door Contee, in de EU
Contee beheert de server, u roept hem aan. De openbare pagina draait al zo, bij OVH SAS, een Franse hostingprovider (zie de juridische kennisgeving).
De gehoste API, onder een eigen dienstcontract Binnenkort
Binnen uw informatiesysteem
De image draait op uw servers, achter uw PKI en uw identiteitsprovider: de teksten verlaten uw omgeving nooit. Op verzoek, met de broncode: het aanbod on-premises, hieronder.

Het aanbod on-premises
De broncode in uw handen, en uw eigen teams om hem verder te ontwikkelen.
Voor een organisatie die DoNotLeak binnen haar eigen informatiesysteem wil, zonder van Contee afhankelijk te zijn om het in leven te houden.
De broncode, geleverd
Voor intern gebruik binnen uw organisatie: uw teams lezen hem, bouwen hem en rollen hem uit binnen uw omgeving.
Uw teams, opgeleid
Om hem te onderhouden, te verbeteren en uit te breiden: de kennis wordt bij u opgebouwd, niet bij ons.
Zo min mogelijk lock-in
De code en de knowhow blijven in huis; de server bereikt alleen wat u configureert, nooit een dienst van Contee.
Eenmalig, geen SaaS-abonnement
Nu beschikbaar, op verzoek, voor uw omgeving.
De headless image
Alleen de scankern – ondertekend, voor twee architecturen.
Geen pagina, geen cookie, geen browsercode: de API en de engine, verder niets.
De engine van de pagina
De pagina en de API roepen dezelfde scanfunctie aan: wat een persoon op de pagina ziet, krijgt een programma ook.
één kern · twee deuren
Klein, en standaard gesloten
Een distroless basis – geen shell, geen pakketbeheerder – en een niet-root-gebruiker. Zonder identiteitsbron of met een halve TLS-configuratie start ze niet.
poort 3000 · TLS en mTLS in de app, of achter uw proxy
Gebouwd en ondertekend zoals de webimage
Dezelfde pipeline bouwt en scant haar en ondertekent haar daarna per digest met de eigen sleutel van DoNotLeak – de image, haar stuklijst en haar build-herkomst.
amd64 + arm64 · cosign · SPDX-SBOM · SLSA-herkomst · Trivy, Grype, Dockle, Dive
Beheer
Wat de image van uw beheer vraagt.
Eén container tussen de andere.
Stateless
Geen database, geen volume om te back-uppen: elk verzoek wordt in het geheugen verwerkt en daarna vergeten. Niets om te herstellen.
geen database · geen datavolume
Geconfigureerd via de omgeving
Luisteradres, certificaten, client-CA, OIDC-uitgever, beleidsbestand, budgetten: variabelen, en bestanden die alleen-lezen zijn gemount. Met een halve configuratie start ze niet.
LEPTOS_SITE_ADDR · TLS_CERT · TLS_CLIENT_CA · CASBIN_POLICY_FILE · SCAN_*
Gemonitord met uw tools
Traces gaan via OpenTelemetry naar uw collector, anders naar de standaarduitvoer; de logs bevatten nooit een gescande tekst.
OTEL_EXPORTER_OTLP_ENDPOINT
Bijgewerkt per digest
Een release is een ondertekende image, aangeduid met haar digest: controleer de handtekening, wijzig de digest, herstart. Een certificaat dat verandert: nieuwe bestanden, dan een herstart.
cosign verify · amd64 + arm64
Waar ze ook draait
Drie dingen die niet veranderen.
Niets wordt bewaard
Elke tekst wordt geanalyseerd in het geheugen van het verzoek dat hem draagt, op de server, en verdwijnt daarmee: geen kopie, geen log van de inhoud.
Elke pipeline stuurt een controletekst door de headless server en faalt zodra het log hem toont.
Niemand anders wordt aangeroepen
De detectie steunt op formaten, regels en woordenboeken: geen taalmodel, geen dienst van derden. De server bereikt alleen wat u configureert – uw identiteitsprovider, uw telemetrie-collector.
Elke release verifieerbaar
Elke image is per digest ondertekend, met haar stuklijst en haar herkomst; de pipeline controleert de handtekening voordat er iets wordt uitgeleverd.

Probeer het op de pagina, en stuur Contee dan een bericht.
De pagina antwoordt met dezelfde engine als de API: plak er een typische tekst uit uw workflows in. De beveiliging van de image is maatregel voor maatregel te controleren op de CISO-pagina. Voor de gehoste API of het aanbod on-premises: stuur Contee een bericht.