Cortina
Cortina ist ein Pseudonymisierungs-Microservice, der vor deinen
LLM-Aufrufen sitzt. Du schickst Originaltext rein, bekommst
anonymisierten Text mit Platzhaltern wie [PERSON_1] oder [DE_IBAN_1]
zurück, schickst diesen Text an OpenAI / Anthropic / Vertex / Bedrock,
und löst die Platzhalter im LLM-Output auf der Rückseite wieder gegen
das Original auf.
Hans Müller, IBAN DE89 3704 0044 0532 0130 00, ruft +49 89 1234567 an. │ ▼ POST /v1/cortina/anonymize │ "[PERSON_1], IBAN [DE_IBAN_1], ruft [DE_PHONE_NUMBER_1] an." │ ▼ → an dein LLM │ anonymisierte Antwort vom LLM │ ▼ POST /v1/cortina/deanonymize │ Original-PII über das verschlüsselte Redis-Mapping rekonstruiert.Warum Cortina?
Section titled “Warum Cortina?”DSGVO-Pseudonymisierung (Art. 32) als technische Schutzmaßnahme. Drei harte Garantien, die im Code verdrahtet sind:
- Originaltext landet nie in Postgres. Nur Redis, verschlüsselt mit AES-256-GCM und einer TTL pro Session.
- Audit-Logs enthalten nie Originaltext, Pseudonyme oder rohe IPs — nur aggregierte Stage- und Entity-Type-Counts plus Audit-Flags.
- API-Keys werden mit Salt SHA256-gehasht gespeichert. Plaintext wird genau einmal beim Erstellen ausgegeben; ein verlorener Key wird neu generiert, nicht wiederhergestellt.
Architektur-Überblick
Section titled “Architektur-Überblick”Cortina hat drei Endpoints — Session, Anonymize, Deanonymize — und eine vierstufige Pipeline:
| Stage | Tooling | Was es findet |
|---|---|---|
| 1 | Presidio + DE-Pattern-Recognizer | IBAN (Mod-97), Steuer-ID, Telefon, Adresse, Email, Kreditkarte, IP |
| 2 | spaCy NER (de_core_news_md) | PERSON, ORG, LOCATION |
| 3 | Bedrock Claude (eu-central-1) — strict additiv | NATIONALITY, RELIGION, EVENT, MISC_OTHER (Art. 9-Lücke) |
| 4 | Vertex Gemini (europe-west3) — Adversarial-Loop | Re-ID-Risiken, die nach Stages 1–3 noch im Output stehen |
Earlier-Stage-wins-Regel auf Span-Überlappung: ein per Mod-97 validiertes IBAN überstimmt einen LLM-„Ich bin unsicher”-Vorschlag immer.
Getting Started Drei cURL-Calls, dann dasselbe mit den SDKs.
4-Stage Pipeline Was jede Stage macht, wann sie nicht läuft, was ?stages= bewirkt.
Sessions & Mappings Lifecycle, TTL-Bounds, wann Sessions wiederverwenden.
Compliance & Audit DSGVO Art. 32, AVV, Sub-Prozessoren, Hosting-Region.
API Reference Endpoints, Schemas, Beispiel-Calls, Error-Codes.
SDKs TypeScript (`@tup-ai/cortina`) und Python (`cortina-sdk`).