Deanonymize
POST /v1/cortina/deanonymize — nimmt Text mit Platzhaltern und gibt
ihn mit aufgelösten Originalwerten zurück. Die Auflösung ist eine
reine Lookup-Operation gegen das verschlüsselte Redis-Mapping der
übergebenen Session.
Auth: Bearer Token erforderlich.
Request-Body
Section titled “Request-Body”| Feld | Typ | Required | Beschreibung |
|---|---|---|---|
text | string | ja | Text mit Platzhaltern. Length-Bounds: [1, 100_000] Zeichen. |
session_id | string (UUID) | ja | Die Session, in der die Platzhalter ursprünglich vergeben wurden. |
Beispiel-Request
Section titled “Beispiel-Request”curl -sS -X POST https://api.tup-ai.de/v1/cortina/deanonymize \ -H "Authorization: Bearer $TUP_ANON_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Bestätige Überweisung an [DE_IBAN_1] für [PERSON_1].", "session_id": "018f4a2c-3d7e-7b4a-8c1e-2f9b3d4e5a6f" }'Response (200 OK)
Section titled “Response (200 OK)”| Feld | Typ | Beschreibung |
|---|---|---|
original_text | string | Eingabetext mit aufgelösten Platzhaltern. |
session_id | string (UUID) | Echo der Session. |
Beispiel-Response
Section titled “Beispiel-Response”{ "original_text": "Bestätige Überweisung an DE89 3704 0044 0532 0130 00 für Hans Müller.", "session_id": "018f4a2c-3d7e-7b4a-8c1e-2f9b3d4e5a6f"}Verhalten bei unbekannten Platzhaltern
Section titled “Verhalten bei unbekannten Platzhaltern”Platzhalter, deren Mapping in der angegebenen Session nicht existiert (z. B. weil sie aus einer anderen Session stammen oder vom LLM halluziniert wurden), bleiben im Output wortwörtlich stehen. Cortina rät keine Originalwerte und füllt nichts auf. Beispiel:
Eingabe: "Bestätige für [PERSON_1] und [PERSON_99]." ^ ^ ^ ^- existiert ^- existiert nichtAusgabe: "Bestätige für Hans Müller und [PERSON_99]."Das ist absichtlich: ein still gefülltes „Halluzinations-Pseudonym” wäre ein DSGVO-Vorfall, ein durchgereichtes wörtlich ist diagnostisch sauber.
Error-Codes
Section titled “Error-Codes”| HTTP | code | Wann |
|---|---|---|
| 401 | unauthorized | Auth-Header fehlt oder Key ungültig. |
| 404 | session_not_found | session_id existiert nicht (mehr). |
| 422 | validation_error | text leer / >100 000 Zeichen, session_id keine UUID. |
| 429 | rate_limit_exceeded | Per-Key Rate-Limit erreicht. |