Entwickeln / Anleitungen
Maskierung einschalten
Wie der Header X-Noirdoc-Mask mit der Maskierungsrichtlinie Ihrer Organisation zusammenwirkt und wie Sie die Erkennung vorab prüfen.
Das Gateway maskiert personenbezogene Daten auf den Endpunkten /v1/chat/completions, /v1/responses und /v1/messages. Ob es eine Anfrage maskiert, entscheiden zwei Dinge: die Maskierungsrichtlinie Ihrer Organisation und der Header X-Noirdoc-Mask der Anfrage. Wie die Maskierung arbeitet, beschreibt Maskierung.
-
Richtlinie prüfen
Die Maskierungsrichtlinie steht unter Models → Datenschutz im Abschnitt Maskierungsrichtlinie. Admins Ihrer Organisation können sie dort ändern. Neue Organisationen starten mit
default_off.Richtlinie Im Portal ohne Header X-Noirdoc-Mask: onX-Noirdoc-Mask: offdefault_offStandard aus nicht maskiert maskiert nicht maskiert default_onStandard an maskiert maskiert nicht maskiert enforcedErzwungen maskiert maskiert maskiert Groß- und Kleinschreibung des Header-Werts spielt keine Rolle. Andere Werte als
onundoffignoriert das Gateway.Ergebnis: Sie wissen, ob Ihre Anfragen ohne Header maskiert werden.
-
Erkennung testen
Senden Sie einen Beispieltext an
POST /v1/detect. Der Endpunkt nutzt dieselbe Erkennung wie die Maskierung und leitet nichts an einen Anbieter weiter. Ohne Feldlanguageprüft er auf Deutsch.Die Antwort enthält
entity_countund die Listeentities. Jeder Eintrag nenntentity_type, den erkanntentextund dessen Position (start,end).Ergebnis: Sie sehen, welche Stellen das Gateway durch Platzhalter wie
<<PERSON_1>>ersetzen würde. Die Felder im Detail stehen unter Erkennen & Pseudonymisieren.curl https://api.noirdoc.de/v1/detect \ -H "Authorization: Bearer $NOIRDOC_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Herr Müller zahlt auf DE89 3704 0044 0532 0130 00." }' \ | jq '.entities[] | {entity_type, text}' -
Header senden
Setzen Sie
X-Noirdoc-Mask: onan der Anfrage, die maskiert werden soll. Das Gateway entfernt den Header, bevor es die Anfrage weiterleitet. Der Anbieter sieht ihn nicht.Ergebnis: Das Modell erhält Platzhalter statt der Originalwerte. In der Antwort an Ihre Anwendung stehen wieder die Originalwerte. Der Antwort-Header
X-Noirdoc-Masked: truebestätigt, dass die Maskierung für die Anfrage aktiv war.curl https://api.noirdoc.de/v1/chat/completions \ -H "Authorization: Bearer $NOIRDOC_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Noirdoc-Mask: on" \ -d '{ "model": "qwen3.8-27b", "messages": [{ "role": "user", "content": "Was schreibt Herr Müller der Kanzlei?" }] }'import os from openai import OpenAI client = OpenAI( base_url="https://api.noirdoc.de/v1", api_key=os.environ["NOIRDOC_API_KEY"], ) response = client.chat.completions.create( model="qwen3.8-27b", messages=[ { "role": "user", "content": "Was schreibt Herr Müller der Kanzlei?", } ], # Maskierung für diese Anfrage einschalten extra_headers={"X-Noirdoc-Mask": "on"}, )import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.noirdoc.de/v1", apiKey: process.env.NOIRDOC_API_KEY, }); const response = await client.chat.completions.create( { model: "qwen3.8-27b", messages: [ { role: "user", content: "Was schreibt Herr Müller der Kanzlei?", }, ], }, // Maskierung für diese Anfrage einschalten { headers: { "X-Noirdoc-Mask": "on" } }, );
Header für alle Anfragen eines Clients setzen
Mit default_headers (Python) oder defaultHeaders (TypeScript) sendet der Client den Header bei jeder Anfrage. Nutzen Sie diesen Client nur für Endpunkte mit Maskierung (/v1/chat/completions, /v1/responses, /v1/messages). Auf Endpunkten ohne Maskierung lehnt das Gateway eine Anfrage mit X-Noirdoc-Mask: on ab (siehe unten). Für Embeddings, Audio und Bilder legen Sie einen zweiten Client ohne den Header an.
chat_client = OpenAI(
base_url="https://api.noirdoc.de/v1",
api_key=os.environ["NOIRDOC_API_KEY"],
default_headers={"X-Noirdoc-Mask": "on"},
)Endpunkte ohne Maskierung
Diese Endpunkte leiten Inhalte unmaskiert weiter:
| Endpunkt | Verhalten |
|---|---|
/v1/embeddings, /v1/audio/transcriptions, /v1/audio/speech, /v1/images/generations | Kein Maskieren. Mit X-Noirdoc-Mask: on oder der Richtlinie enforced antwortet das Gateway mit 403 masking_not_supported_for_endpoint, statt unmaskiert weiterzuleiten. |
/v1/files, /v1/skills | Kein Maskieren. Mit X-Noirdoc-Mask: on oder der Richtlinie enforced lehnt das Gateway Hochladen und Anlegen mit 403 masking_not_supported_for_endpoint ab. Auflisten, Abrufen, Herunterladen und Löschen bleiben erlaubt. Siehe Dateien. |
Welche Felder einer Anfrage das Gateway maskiert, listet Maskierte Felder.
Fehler
| Status | Code | Bedeutung |
|---|---|---|
| 403 | masking_not_supported_for_endpoint | Der Endpunkt kann nicht maskieren, aber die Maskierungsrichtlinie ist enforced oder die Anfrage sendet X-Noirdoc-Mask: on. |
| 500 | detection_error | Die Erkennung personenbezogener Daten ist fehlgeschlagen; das Gateway hat die Anfrage nicht weitergeleitet. |