Για τα τμήματα πληροφορικής

Η ίδια προστασία, στη διάθεση των προγραμμάτων σας — ένα image χωρίς κατάσταση για να το λειτουργείτε.

Πριν μια αυτοματοποιημένη ροή στείλει ένα έγγραφο σε μια ΤΝ, σε έναν μεταφραστή ή σε έναν προμηθευτή, μπορεί να ζητήσει από το DoNotLeak να εντοπίσει και να αντικαταστήσει τα προσωπικά δεδομένα του — μέσω ενός API που απαιτεί ταυτότητα και απαντά με τη μηχανή της σελίδας.

Ακόμη ένα στοιχείο λογισμικού να φιλοξενήσετε, να ασφαλίσετε, να ενημερώνετε και να παρακολουθείτε; Ιδού τι ζητά: ένα υπογεγραμμένο image, χωρίς βάση δεδομένων ούτε τόμο δεδομένων που να χρειάζεται αντίγραφα ασφαλείας, ρυθμισμένο από το περιβάλλον του, που το καλούν ταυτοποιημένες μηχανές. Και, κατόπιν αιτήματος, τον πηγαίο κώδικά του για τις ομάδες σας.

Μόνο ταυτοποιημένοι καλούντες · Τίποτα δεν διατηρείται · Υπογεγραμμένα images, amd64 και arm64

Πανοραμικό γραμμικό σχέδιο: μια στοίβα εγγράφων μπαίνει σε μια σειρά από τρία ίδια κουτιά, συνδεδεμένα μεταξύ τους· η γραμμή συνεχίζει σε έναν φορητό υπολογιστή με ένα έγγραφο και μια σύντομη λίστα, διακλαδώνεται προς ένα κτίριο γραφείων και ένα σύννεφο και ενώνεται ξανά σε ένα γρανάζι. Μια διάστικτη γραμμή, όχι ακόμη συνδεδεμένη, οδηγεί σε ένα μικρό ρομπότ μέσα σε διακεκομμένο πλαίσιο.

Δοκιμάστε το API

Στείλτε ένα αίτημα, διαβάστε την απάντηση.

Η πραγματική μηχανή, ανοιχτή εδώ ως επίδειξη, χωρίς κλειδί: η απάντηση που διαβάζετε είναι αυτή που θα λάβουν τα προγράμματά σας.

  • 1 κλήση ανά 15 s ανά διεύθυνση IP
  • κείμενα έως 4 KB
  • τίποτα δεν διατηρείται
  • ένα δίκτυο μοιράζεται τον ρυθμό
Τα ανώτατα όρια της επίδειξης

Ανά διεύθυνση — ένα δίκτυο IPv6 /64 μετρά ως μία: 100 κλήσεις την ημέρα, 300 την εβδομάδα, 600 τον μήνα, 2.000 τον χρόνο. Για όλη την επίδειξη: 600 κλήσεις το λεπτό και ένα μόνο κείμενο σε ανάλυση κάθε φορά· πέρα από αυτά απαντά 503 και η υπόλοιπη υπηρεσία δεν επηρεάζεται. Η διεύθυνσή σας κρατιέται μόνο στη μνήμη, όσο μετρώνται οι κλήσεις της· τα αρχεία καταγραφής κρατούν το ρήμα, την κατάσταση, τα μεγέθη και τη διάρκεια — ποτέ τη διεύθυνση, το κείμενο ή την απάντηση.

RateLimit-Policy · RateLimit · Retry-After

  • POSTscan
  • POSTprotectΣύντομα
  • POSTrestoreΣύντομα
  • GETcapabilitiesΣύντομα
  • POSTextractμε κλειδί
  • POSTrenderμε κλειδί

Αίτημα

POST/api/demo/scan

Εντοπίζει τα προσωπικά δεδομένα — πού βρίσκονται (σε byte UTF-8), τον τύπο τους, τη σοβαρότητά τους — και επιστρέφει το προστατευμένο κείμενο.

81 / 4096 byte

Χώρες
Δείτε το JSON που στάλθηκε
{
  "text": "Damien Morel a validé le virement vers l'IBAN FR76 3000 6000 0112 3456 7890 189.",
  "scope": [
    "FR"
  ]
}

Έτοιμο — 1 κλήση διαθέσιμη

Απάντηση

Η απάντηση θα εμφανιστεί εδώ.

Τα προγράμματά σας καλούν το /api/v1/scan με την ταυτότητά τους — ένα πιστοποιητικό πελάτη ή ένα token: αυτή είναι η επόμενη ενότητα.

Το API

Τι κάνει σήμερα: εντοπίζει, έπειτα αντικαθιστά.

Μία κλήση: JSON στην είσοδο, τα ευρήματα και το προστατευμένο κείμενο στην έξοδο. Απαντά η ίδια η μηχανή της σελίδας.

  • Εντοπισμός

    Κάθε προσωπικό δεδομένο του κειμένου, με τον τύπο του, τη θέση του και έναν βαθμό βεβαιότητας. Οι μορφές ακολουθούν τις χώρες που ορίζετε.

    findings · counts · scope

  • Αντικατάσταση

    Η ίδια απάντηση περιέχει το προστατευμένο κείμενο: κάθε τιμή γίνεται ένα τυποποιημένο, αριθμημένο σύμβολο κράτησης θέσης. Οι τιμές που δηλώνετε ότι κρατάτε μένουν ως έχουν.

    anonymized_text · replacements · kept

Η κλήση

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/scan
Με token αντί για πιστοποιητικό
-H "Authorization: Bearer $TOKEN"

Η απάντηση — καταγεγραμμένη από τη μηχανή, με προσθήκη αλλαγών γραμμής

{"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}
Οι απορρίψεις και ο πίνακας οντοτήτων

Οι απορρίψεις δεν παραθέτουν ποτέ το περιεχόμενο: 400 κενό ή όχι JSON, 413 πάνω από 1 MiB, 422 ύποπτο περιεχόμενο, 401 χωρίς ταυτότητα, 403 χωρίς άδεια, 429 υπέρβαση ορίου.

Ο πίνακας οντοτήτων επιστρέφει κάθε αρχική τιμή στον καλούντα που την έστειλε — αυτός κάνει δυνατή την επαναφορά. Μόνο το προστατευμένο κείμενο συνεχίζει προς την ΤΝ.

Τι δεν κάνει ακόμη
  • Επαναφορά: τα πρωτότυπα πίσω στην απάντηση της ΤΝ Σύντομα
  • Έγγραφα Word μέσω του API Σύντομα
  • Το δημοσιευμένο συμβόλαιο v1: περιγραφή OpenAPI, ενιαία σφάλματα, όρια ανά καλούντα Σύντομα

Πού ταιριάζει στις ροές εργασίας σας

Ένας έλεγχος πριν από την εξωτερική κλήση.

Μια ροή — ένα σύστημα διαχείρισης εγγράφων, ένα CRM, μια παρτίδα αρχείων — καλεί το DoNotLeak αμέσως πριν καλέσει μια ΤΝ ή έναν συνεργάτη. Μόνο το προστατευμένο κείμενο συνεχίζει.

Εσείς επιλέγετε πού μπαίνει ο έλεγχος και τι ακολουθεί: αποστολή αμέσως ή πρώτα έλεγχος των ευρημάτων από έναν άνθρωπο και νέα αποστολή του κειμένου με τις τιμές που χρειάζεται η εργασία.

Γραμμικό σχέδιο: έγγραφα με πορτοκαλί γραμμές περνούν σε ταινία μέσα από μια πύλη σάρωσης και μετά κάτω από έναν μεγεθυντικό φακό. Ένας δρόμος, εγκεκριμένος, φέρνει μια προστατευμένη σελίδα σε ένα τσιπ ΤΝ· ο άλλος, διαγραμμένος, βάζει τα πρωτότυπα στην άκρη.
Ο έλεγχος μπαίνει πριν από το σύνορο — εκεί όπου αποφασίζετε.

Ταυτότητα μηχανών

Ποτέ ανώνυμα: κάθε κλήση κατονομάζει τον καλούντα.

Το API δεν έχει ανοιχτή πόρτα. Ο διακομιστής αρνείται να ξεκινήσει όσο δεν ξέρει πώς να ταυτοποιήσει έναν καλούντα, και κάθε κλήση κρίνεται με βάση την πολιτική σας.

  • Ένα πιστοποιητικό πελάτη

    Αμοιβαίο TLS, που τερματίζεται από τον ίδιο τον διακομιστή: το πιστοποιητικό πρέπει να ανάγεται στην αρχή πιστοποίησης που εμπιστεύεστε, και το SPIFFE ID του — αλλιώς το όνομα DNS, ποτέ το common name — γίνεται ο καλών.

    TLS_CLIENT_CA · TLS_CLIENT_IDENTITY=san

  • Ένα token από τον πάροχο ταυτότητάς σας

    Ο εκδότης OpenID Connect που ορίζετε — η υπηρεσία καταλόγου σας, το SSO σας: υπογραφή, εκδότης, αποδέκτης και λήξη κάθε token ελέγχονται με τα κλειδιά που δημοσιεύει, και οι ρόλοι του το συνοδεύουν.

    OIDC_ISSUER_URL · OIDC_CLIENT_ID · επαληθευμένο στο CI με Keycloak

  • Άρνηση εξ ορισμού: ένας καλών χωρίς ρόλο στο αρχείο πολιτικής σας απορρίπτεται (403), και η σάρωση είναι ξεχωριστό δικαίωμα.
  • Κανένα στατικό κλειδί API που μπορεί να διαρρεύσει: ο καλών αποδεικνύεται με πιστοποιητικό ή υπογεγραμμένο token.

Φιλοξενία και κυριαρχία

Φιλοξενία από την Contee ή μέσα στο δικό σας πληροφοριακό σύστημα.

Το ίδιο headless image και στις δύο περιπτώσεις.

  • Από την Contee, στην ΕΕ

    Η Contee λειτουργεί τον διακομιστή, εσείς τον καλείτε. Η δημόσια σελίδα λειτουργεί ήδη έτσι, στην OVH SAS, έναν γαλλικό πάροχο φιλοξενίας (βλ. τη νομική σημείωση).

    Το φιλοξενούμενο API, με δικό του συμβόλαιο υπηρεσίας Σύντομα

  • Μέσα στο πληροφοριακό σας σύστημα

    Το image τρέχει στους διακομιστές σας, πίσω από τη δική σας PKI και τον πάροχο ταυτότητάς σας: τα κείμενα δεν βγαίνουν ποτέ από το περιβάλλον σας. Κατόπιν αιτήματος, με τον πηγαίο κώδικά του: η προσφορά εντός εγκαταστάσεων, παρακάτω.

Γραμμικό σχέδιο: μια γυναίκα τοποθετεί έναν κύβο με μια ασπίδα μέσα σε έναν κύκλο που περικλείει μια ικρίωση διακομιστών· ένας φορητός υπολογιστής του στέλνει ένα έγγραφο· βγαίνει μία σελίδα, και μόνο ένα διακεκομμένο βέλος οδηγεί σε ένα μακρινό σύννεφο.
Το πού τρέχει ο έλεγχος είναι δική σας αρχιτεκτονική επιλογή.

Η προσφορά εντός εγκαταστάσεων

Ο πηγαίος κώδικας στα χέρια σας, και οι ομάδες σας για να τον εξελίξουν.

Για έναν οργανισμό που θέλει το DoNotLeak μέσα στο δικό του πληροφοριακό σύστημα, χωρίς να εξαρτάται από την Contee για να το κρατά ζωντανό.

  • Παράδοση του πηγαίου κώδικα

    Για την εσωτερική χρήση του οργανισμού σας: οι ομάδες σας τον διαβάζουν, τον χτίζουν και τον αναπτύσσουν μέσα στο περιβάλλον σας.

  • Εκπαίδευση των ομάδων σας

    Για να τον συντηρούν, να τον βελτιώνουν και να τον επεκτείνουν: οι δεξιότητες χτίζονται στον δικό σας οργανισμό, όχι στον δικό μας.

  • Η μικρότερη δυνατή εξάρτηση

    Ο κώδικας και η τεχνογνωσία μένουν στον οργανισμό σας· ο διακομιστής φτάνει μόνο σε ό,τι ρυθμίζετε, ποτέ σε υπηρεσία της Contee.

  • Εφάπαξ, όχι συνδρομή SaaS

Διαθέσιμη από σήμερα, κατόπιν αιτήματος, για το περιβάλλον σας.

Το headless image

Μόνο ο πυρήνας σάρωσης — υπογεγραμμένος, για δύο αρχιτεκτονικές.

Χωρίς σελίδα, χωρίς cookie, χωρίς κώδικα προγράμματος περιήγησης: το API και η μηχανή, τίποτε άλλο.

  • Η μηχανή της σελίδας

    Η σελίδα και το API καλούν την ίδια συνάρτηση σάρωσης: ό,τι βλέπει ένας άνθρωπος στη σελίδα, το παίρνει και ένα πρόγραμμα.

    ένας πυρήνας · δύο πόρτες

  • Μικρό και κλειστό εξ ορισμού

    Μια βάση distroless — χωρίς shell, χωρίς διαχειριστή πακέτων — και ένας χρήστης χωρίς δικαιώματα root. Αρνείται να ξεκινήσει χωρίς πηγή ταυτότητας ή με μισή ρύθμιση TLS.

    θύρα 3000 · TLS και mTLS στην εφαρμογή ή πίσω από τον proxy σας

  • Χτισμένο και υπογεγραμμένο όπως το web image

    Η ίδια αλυσίδα το χτίζει και το σαρώνει, και έπειτα το υπογράφει ανά digest με το κλειδί του ίδιου του DoNotLeak — το image, τον κατάλογο υλικών του και την προέλευση του build.

    amd64 + arm64 · cosign · SBOM SPDX · προέλευση SLSA · Trivy, Grype, Dockle, Dive

Διαχείριση λειτουργίας

Τι ζητά το image από τις ομάδες λειτουργίας σας.

Ένα container ανάμεσα στα άλλα.

  • Χωρίς κατάσταση

    Καμία βάση δεδομένων, κανένας τόμος δεδομένων για αντίγραφα ασφαλείας: κάθε αίτημα υποβάλλεται σε επεξεργασία στη μνήμη και έπειτα ξεχνιέται. Τίποτα προς επαναφορά.

    καμία βάση δεδομένων · κανένας τόμος δεδομένων

  • Ρυθμίζεται από το περιβάλλον του

    Διεύθυνση ακρόασης, πιστοποιητικά, αρχή πιστοποίησης πελατών, εκδότης OIDC, αρχείο πολιτικής, προϋπολογισμοί: μεταβλητές, και αρχεία προσαρτημένα μόνο για ανάγνωση. Με μισή ρύθμιση, αρνείται να ξεκινήσει.

    LEPTOS_SITE_ADDR · TLS_CERT · TLS_CLIENT_CA · CASBIN_POLICY_FILE · SCAN_*

  • Παρακολουθείται με τα εργαλεία σας

    Τα ίχνη (traces) φεύγουν μέσω OpenTelemetry προς τον συλλέκτη σας, αλλιώς στην τυπική έξοδο· τα αρχεία καταγραφής δεν περιέχουν ποτέ σαρωμένο κείμενο.

    OTEL_EXPORTER_OTLP_ENDPOINT

  • Ενημερώνεται ανά digest

    Μια έκδοση είναι ένα υπογεγραμμένο image που προσδιορίζεται από το digest του: ελέγχετε την υπογραφή, αλλάζετε το digest, κάνετε επανεκκίνηση. Ένα πιστοποιητικό που αλλάζει: νέα αρχεία, έπειτα επανεκκίνηση.

    cosign verify · amd64 + arm64

Όπου κι αν τρέχει

Τρία πράγματα που δεν αλλάζουν.

  • Τίποτα δεν διατηρείται

    Κάθε κείμενο αναλύεται στη μνήμη του αιτήματος που το μεταφέρει, στον διακομιστή, και χάνεται μαζί του: κανένα αντίγραφο, καμία καταγραφή του περιεχομένου.

    Κάθε pipeline περνά ένα κείμενο-μάρτυρα από τον headless διακομιστή και αποτυγχάνει αν το δείξει ποτέ το αρχείο καταγραφής του.

  • Κανείς άλλος δεν καλείται

    Ο εντοπισμός βασίζεται σε μορφές, κανόνες και λεξικά: κανένα γλωσσικό μοντέλο, καμία υπηρεσία τρίτων. Ο διακομιστής φτάνει μόνο σε ό,τι ρυθμίζετε — τον πάροχο ταυτότητάς σας, τον συλλέκτη τηλεμετρίας σας.

  • Κάθε έκδοση επαληθεύσιμη

    Κάθε image υπογράφεται ανά digest, μαζί με τον κατάλογο υλικών και την προέλευσή του· η αλυσίδα ελέγχει την υπογραφή πριν δημοσιευτεί οτιδήποτε.

Γραμμικό σχέδιο: σελίδες σημαδεμένες με πορτοκαλί περνούν σε ταινία μέσα από μια μικρή μηχανή με γρανάζια και ένα καντράν και βγαίνουν με διακεκομμένα κουτάκια στη θέση των σημαδιών· δίπλα, μια μεγάλη μηχανή με έναν εγκέφαλο στην οθόνη μένει αποσυνδεδεμένη, με το φις να κρέμεται.
Κανόνες και λεξικά κάνουν τη δουλειά: κανένα γλωσσικό μοντέλο για να κληθεί.

Δοκιμάστε το στη σελίδα και, έπειτα, στείλτε μήνυμα στην Contee.

Η σελίδα απαντά με την ίδια μηχανή με το API: επικολλήστε ένα τυπικό κείμενο από τις ροές εργασίας σας. Η ασφάλεια του image επαληθεύεται έλεγχο προς έλεγχο στη σελίδα «CISO». Για το φιλοξενούμενο API ή την προσφορά εντός εγκαταστάσεων, στείλτε μήνυμα στην Contee.