Skip to content

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.

FeldTypRequiredBeschreibung
textstringjaText mit Platzhaltern. Length-Bounds: [1, 100_000] Zeichen.
session_idstring (UUID)jaDie Session, in der die Platzhalter ursprünglich vergeben wurden.
Terminal window
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"
}'
FeldTypBeschreibung
original_textstringEingabetext mit aufgelösten Platzhaltern.
session_idstring (UUID)Echo der Session.
{
"original_text": "Bestätige Überweisung an DE89 3704 0044 0532 0130 00 für Hans Müller.",
"session_id": "018f4a2c-3d7e-7b4a-8c1e-2f9b3d4e5a6f"
}

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 nicht
Ausgabe: "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.

HTTPcodeWann
401unauthorizedAuth-Header fehlt oder Key ungültig.
404session_not_foundsession_id existiert nicht (mehr).
422validation_errortext leer / >100 000 Zeichen, session_id keine UUID.
429rate_limit_exceededPer-Key Rate-Limit erreicht.