PII aus OpenAI-API-Aufrufen schwaerzen
Senden Sie keine Namen, E-Mails und Geheimnisse mehr an OpenAI. Erfahren Sie, wie Sie PII aus jedem OpenAI-API-Aufruf mit einer Proxy-basierten Sicherheitsschicht schwaerzen koennen — ohne Code-Aenderungen.
Das Problem: PII gelangt ueber OpenAI-API-Aufrufe nach aussen
Jeder chat.completions.create-Aufruf sendet Ihren Prompt an die Server von OpenAI. Wenn dieser Prompt vom Benutzer eingereichte Texte enthaelt — Support-Tickets, Formulareingaben, CRM-Daten, medizinische Unterlagen — ist die Wahrscheinlichkeit hoch, dass Namen, E-Mail-Adressen, Telefonnummern und andere personenbezogene Daten (PII) enthalten sind.
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [
{
role: "user",
content: `Summarize this support ticket:
From: Sarah Chen <sarah.chen@acme.com>
Phone: (415) 555-0142
Account: 4532-8891-2201-6644
SSN: 521-44-8832
My order #38291 hasn't arrived. I live at
742 Evergreen Terrace, Springfield, IL 62704.
Please help — my API key is sk-abc123secret.`,
},
],
});
Diese einzelne Anfrage hat gerade einen Namen, eine E-Mail-Adresse, eine Telefonnummer, eine Kreditkartennummer, eine SSN, eine Privatadresse und einen API Key an einen externen Dienst gesendet. Unter DSGVO, CCPA und HIPAA ist das ein Compliance-Vorfall.
So sieht PII in OpenAI-Payloads aus
Die API von OpenAI akzeptiert Freitextfelder im messages-Array. Jedes Feld, in das Ihre Benutzer tippen koennen, ist ein Vektor fuer PII-Leakage:
- Namen und E-Mails in Support-Kontexten
- Telefonnummern und Adressen aus CRM-Daten
- Kreditkartennummern aus zahlungsbezogenen Prompts
- SSNs und Steuer-IDs in Finanz- oder HR-Workflows
- API Keys und Tokens, die versehentlich von Entwicklern eingefuegt wurden
- Quellcode mit fest eingebauten Zugangsdaten
Der Authorization: Bearer sk-...-Header selbst ist sicher — er enthaelt Ihren OpenAI Key und wird benoetigt. Das Problem ist, was im Request Body steckt.
Die Loesung: Proxy-basierte Schwaerzung mit Grepture
Grepture ist ein Open-Source-Sicherheitsproxy, der zwischen Ihrer Anwendung und OpenAI sitzt. Jede Anfrage wird auf PII, Geheimnisse und sensible Muster gescannt, bevor sie Ihre Infrastruktur verlaesst. Sensible Daten werden mit umkehrbaren Token maskiert — und in der Antwort wiederhergestellt, sodass Ihre Anwendung normal funktioniert.
Ihr Code aendert sich nicht. Ihre Prompts bleiben nuetzlich. Das Modell sieht niemals echte PII.
Einrichtung in 3 Minuten
1. SDK installieren
npm install @grepture/sdk
2. API Key erhalten
Registrieren Sie sich unter grepture.com/en/pricing — der kostenlose Plan umfasst 1.000 Anfragen/Monat. Kopieren Sie Ihren API Key aus dem Dashboard.
3. OpenAI-Client einbinden
import OpenAI from "openai";
import { Grepture } from "@grepture/sdk";
const grepture = new Grepture({
apiKey: process.env.GREPTURE_API_KEY!,
proxyUrl: "https://proxy.grepture.com",
});
const openai = new OpenAI({
...grepture.clientOptions({
apiKey: process.env.OPENAI_API_KEY!,
baseURL: "https://api.openai.com/v1",
}),
});
// Every request is now scanned and protected
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: userInput }],
});
Das war's. clientOptions() gibt ein Konfigurationsobjekt zurueck, das den Traffic ueber den Grepture Proxy leitet. Ihr OpenAI Key wird sicher ueber den X-Grepture-Auth-Forward-Header weitergeleitet — OpenAI authentifiziert Ihre Anfragen weiterhin wie gewohnt.
Was erkannt wird
Grepture wird im Free-Tier mit ueber 50 Erkennungsmustern und im Pro-Tier mit ueber 80 ausgeliefert:
| Kategorie | Beispiele | Tier |
|---|---|---|
| Persoenliche Identifikatoren | Namen, E-Mails, Telefonnummern, SSNs, Geburtsdaten | Free (Regex), Pro (AI) |
| Finanzdaten | Kreditkartennummern, IBANs, Bankleitzahlen | Free |
| Zugangsdaten | API Keys, Bearer Tokens, Passwoerter, Connection Strings | Free |
| Netzwerk-Identifikatoren | IP-Adressen, MAC-Adressen | Free |
| Freitext-PII | Namen, Organisationen und Adressen in unstrukturiertem Text | Pro (lokale AI-Modelle) |
| Adversarial Inputs | Prompt-Injection-Versuche | Business |
Die gesamte Erkennung laeuft auf der Grepture-Infrastruktur — es werden keine Daten an weitere Drittanbieter weitergeleitet.
Maskieren und Wiederherstellen: umkehrbare Schwaerzung
Grepture entfernt PII nicht einfach nur — es kann sensible Werte durch Token ersetzen, den bereinigten Prompt an OpenAI senden und dann die Originalwerte in der Antwort wiederherstellen.
Was OpenAI sieht:
Summarize this support ticket:
From: [PERSON_1] <[EMAIL_1]>
Phone: [PHONE_1]
Account: [CREDIT_CARD_1]
...
Was Ihre App zurueckbekommt:
The customer Sarah Chen (sarah.chen@acme.com) is
asking about order #38291 which hasn't been delivered
to 742 Evergreen Terrace, Springfield, IL 62704.
Das Modell verarbeitet saubere Daten. Ihre Anwendung erhaelt die vollstaendige, personalisierte Antwort. Keine PII erreicht jemals OpenAI.
Streaming-Unterstuetzung
Grepture verarbeitet die Server-Sent Events von OpenAI nativ. Wenn Sie stream: true verwenden, detokenisiert der Proxy die Chunks in Echtzeit — kein Puffern der gesamten Antwort, kein Latenz-Nachteil.
const stream = await openai.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: userInput }],
stream: true,
});
for await (const chunk of stream) {
// Tokens are restored in real time
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
Naechste Schritte
- Preise ansehen — kostenlos fuer bis zu 1.000 Anfragen/Monat
- Dokumentation lesen — SDK-Referenz, Konfiguration und Dashboard-Anleitung
- So funktioniert es — Architektur, Erkennungsregeln und Zero-Data-Modus