🛡️ MITAnon Anonymisierungsdienst

API

Basis-URL: https://mitanon.mollet.it/api/v1 · Authentifizierung über Authorization: Bearer <API-Schlüssel> (alternativ X-Api-Key). Schlüssel legst du unter API-Schlüssel an.

Der ĂĽbliche Ablauf

  1. Session anlegen (oder eine bestehende weiterverwenden).
  2. POST /anonymize mit dem Originaltext – zurück kommt der Text mit Platzhaltern.
  3. Diesen Text an die öffentliche KI geben.
  4. POST /deanonymize mit der KI-Antwort und derselben sessionId.

Ohne sessionId legt /anonymize selbst eine an und gibt sie zurück – praktisch für Einzeiler im Skript.

Endpunkte

MethodePfadZweck
GET/healthDienst und Modell erreichbar?
GET/entity-typesListe der erkannten Typen
POST/sessionsSession anlegen
GET/sessionsSessions auflisten
GET/sessions/{id}Eine Session
DELETE/sessions/{id}Session samt Zuordnung löschen
GET/sessions/{id}/mappings?klartext=trueZuordnung abfragen
POST/anonymizeText anonymisieren
POST/deanonymizePlatzhalter zurĂĽcksetzen
POST/extractText aus einer Datei holen (multipart)
POST/anonymize-fileDatei lesen und gleich anonymisieren (multipart)

Beispiel

curl -s -X POST https://mitanon.mollet.it/api/v1/anonymize \
  -H "Authorization: Bearer $MITANON_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "titel": "Ticket 4711",
        "text": "Herr MĂĽller von der Muster GmbH meldet sich unter 07033 123456.",
        "llmVerwenden": true
      }'

Antwort:

{
  "sessionId": "3b6f5e44-cb1d-4624-851d-db9e92d5e6df",
  "text": "Herr [PERSON_1] von der [FIRMA_1] meldet sich unter [TELEFON_1].",
  "ersetzungen": 3,
  "llmGenutzt": true,
  "warnungen": [],
  "platzhalter": [
    { "platzhalter": "[PERSON_1]", "typ": "PERSON", "bezeichnung": "Person", "vorkommen": 1, "erkanntVon": "llm" }
  ]
}

Und der RĂĽckweg:

curl -s -X POST https://mitanon.mollet.it/api/v1/deanonymize \
  -H "Authorization: Bearer $MITANON_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "sessionId": "3b6f5e44-cb1d-4624-851d-db9e92d5e6df",
        "text": "Bitte rufen Sie [PERSON_1] unter [TELEFON_1] zurĂĽck."
      }'

Dateien

Gelesen werden PDF, DOCX, XLSX, E-Mail (.eml/.msg, inklusive Anhängen) sowie Text-, CSV-, Log-, JSON-, XML- und HTML-Dateien. Ein PDF ohne Textebene wird erkannt und per Bilderkennung auf der GPU gelesen.

curl -s -X POST https://mitanon.mollet.it/api/v1/anonymize-file \
  -H "Authorization: Bearer $MITANON_KEY" \
  -F "datei=@rechnung.pdf" \
  -F "titel=Rechnung 0815" \
  -F "llmVerwenden=true"

Nur den Text herausholen, ohne zu anonymisieren, geht mit /extract – gleicher Aufbau, nur das Feld datei.

FormularfeldBedeutung
dateiPflicht. Die Datei selbst.
sessionIdOptional, sonst wird eine neue Session angelegt.
titelOptional. Standard ist der Dateiname.
llmVerwendentrue/false, Standard true.
typenAusKommagetrennt, z.B. DOMAIN,URL.
originaleZurueckgebentrue/false, Standard false.

Stammt der Text aus der Bilderkennung, steht das in der Antwort unter datei.bilderkennung und als Warnung. OCR-Lesefehler bedeuten: ein falsch erkannter Name wird nicht ersetzt.

Felder von /anonymize

FeldTypBedeutung
textstringPflicht. Der Originaltext.
sessionIdguidOptional. Fehlt sie, wird eine neue Session angelegt.
titelstringOptional. Titel einer neu angelegten Session.
llmVerwendenboolStandard true. Auf false laufen nur die Regeln – schnell, aber ohne Namen und Firmen.
typenAusstring[]Typen, die stehen bleiben sollen, z.B. ["DOMAIN","URL"].
originaleZurueckgebenboolStandard false. Nur setzen, wenn der Aufrufer die Klartexte wirklich braucht.

Was zu beachten ist

  • Ist das lokale Modell nicht erreichbar, antwortet /anonymize trotzdem – aber mit einer Warnung im Feld warnungen. Wer automatisiert weiterverarbeitet, sollte das prĂĽfen, sonst gehen Klarnamen an die öffentliche KI.
  • Platzhalter gelten nur innerhalb ihrer Session. Andere Session, andere Nummern.
  • Sessions verfallen nach 30 Tagen (einstellbar ĂĽber lebensdauerTage) und werden dann samt Originalwerten gelöscht.
  • /deanonymize meldet unter unbekanntePlatzhalter, was es nicht zuordnen konnte.
Es ist ein Fehler aufgetreten. Neu laden đź—™