PII aus AWS Bedrock API-Aufrufen schwaerzen

Senden Sie keine Namen, E-Mails und Geheimnisse mehr an AWS Bedrock. Erfahren Sie, wie Sie PII aus jedem Bedrock API-Aufruf schwaerzen — mit einer Sicherheitsschicht auf Proxy-Ebene, ganz ohne Code-Aenderungen.

Das Problem: PII gelangt ueber AWS Bedrock API-Aufrufe nach aussen

Jeder InvokeModel- oder Converse-Aufruf sendet Ihren Prompt an ein von AWS gehostetes Foundation Model. Wenn dieser Prompt Benutzerdaten zusammensetzt — Kundendatensaetze, medizinische Notizen, Finanzdokumente — traegt er PII zum Bedrock-Service-Endpunkt.

const response = await client.send(
  new ConverseCommand({
    modelId: "anthropic.claude-sonnet-4-5-20250929-v1:0",
    messages: [
      {
        role: "user",
        content: [
          {
            text: `Review this insurance claim:

            Claimant: Robert Chen
            Email: r.chen@insuretech.com
            Phone: (617) 555-0312
            SSN: 298-55-6643
            Policy: POL-2024-88291
            Address: 45 Beacon St, Boston, MA 02108
            Claim amount: $12,450
            AWS secret: AKIAIOSFODNN7EXAMPLE`,
          },
        ],
      },
    ],
  })
);

Dieser einzelne Aufruf hat gerade einen Namen, eine E-Mail-Adresse, eine Telefonnummer, eine SSN, eine Adresse, Finanzdaten und einen AWS Access Key an den Bedrock-Endpunkt gesendet. Selbst innerhalb Ihres eigenen AWS-Kontos ist das ein Verstoss gegen die Datenminimierung der DSGVO und ein potenzieller Compliance-Vorfall.

Warum AWS Bedrock das PII-Problem nicht loest

Bedrock laeuft innerhalb Ihres AWS-Kontos und bietet VPC-Endpunkte, Verschluesselung im Ruhezustand und kein Modelltraining mit Ihren Daten. Das ist besser als oeffentliche APIs fuer viele Anwendungsfaelle. Aber:

  • PII wird weiterhin vom Foundation Model verarbeitet — Ihre Prompts werden vollstaendig an den Modell-Endpunkt gesendet
  • CloudWatch-Logs und CloudTrail koennen Prompt-Inhalte in Audit-Trails erfassen
  • Datenresidenz bedeutet nicht Datenminimierung — die DSGVO verlangt, dass Sie die verarbeiteten personenbezogenen Daten minimieren, nicht nur den Verarbeitungsort
  • Model Invocation Logging speichert, wenn aktiviert, vollstaendige Request- und Response-Payloads in S3

Die Sicherheitsgrenze schuetzt vor externem Zugriff. Sie schuetzt nicht davor, Daten zu senden, die das Modell nicht braucht.

Die Loesung: Proxy-basierte Schwaerzung mit Grepture

Grepture ist ein Open-Source-Sicherheitsproxy, der zwischen Ihrer Anwendung und AWS Bedrock sitzt. Jede Anfrage wird auf PII, Geheimnisse und sensible Muster gescannt, bevor sie das Modell erreicht. 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. grepture.fetch mit dem Bedrock Runtime Client verwenden

Da das AWS SDK intern seinen eigenen HTTP-Client verwendet, ist der einfachste Ansatz, Greptures Fetch-Wrapper mit der Bedrock REST API oder Grepture mit einem OpenAI-kompatiblen Bedrock-Gateway zu verwenden:

import { Grepture } from "@grepture/sdk";

const grepture = new Grepture({
  apiKey: process.env.GREPTURE_API_KEY!,
  proxyUrl: "https://proxy.grepture.com",
});

// Option 1: grepture.fetch mit dem Bedrock REST-Endpunkt verwenden
const response = await grepture.fetch(
  `https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-sonnet-4-5-20250929-v1:0/converse`,
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      // AWS SigV4 Signatur-Header
    },
    body: JSON.stringify({
      messages: [{ role: "user", content: [{ text: userInput }] }],
    }),
  }
);

Option 2: OpenAI-kompatibles Bedrock-Gateway verwenden

Viele Teams verwenden LiteLLM oder ein aehnliches Gateway, um Bedrock-Modelle ueber eine OpenAI-kompatible API bereitzustellen. In diesem Fall binden Sie den OpenAI-Client genauso ein:

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 client = new OpenAI({
  ...grepture.clientOptions({
    apiKey: process.env.LITELLM_API_KEY!,
    baseURL: "https://your-litellm-proxy.com/v1",
  }),
});

const response = await client.chat.completions.create({
  model: "bedrock/anthropic.claude-sonnet-4-5-20250929-v1:0",
  messages: [{ role: "user", content: userInput }],
});

Dieser Ansatz bietet Ihnen denselben Proxy-basierten Schutz, unabhaengig davon, welches Bedrock-Modell Sie verwenden.

Was erkannt wird

Grepture wird im Free-Tier mit ueber 50 Erkennungsmustern und im Pro-Tier mit ueber 80 ausgeliefert:

KategorieBeispieleTier
Persoenliche IdentifikatorenNamen, E-Mails, Telefonnummern, SSNs, GeburtsdatenFree (Regex), Pro (AI)
FinanzdatenKreditkartennummern, IBANs, BankleitzahlenFree
ZugangsdatenAPI Keys, Bearer Tokens, Passwoerter, Connection StringsFree
Netzwerk-IdentifikatorenIP-Adressen, MAC-AdressenFree
Freitext-PIINamen, Organisationen und Adressen in unstrukturiertem TextPro (lokale AI-Modelle)
Adversarial InputsPrompt-Injection-VersucheBusiness

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 ersetzt sensible Werte durch Token, sendet den bereinigten Prompt an Bedrock und stellt die Originalwerte in der Antwort wieder her.

Was Bedrock sieht:

Review this insurance claim:
Claimant: [PERSON_1]
Email: [EMAIL_1]
SSN: [SSN_1]
Address: [ADDRESS_1]
Claim amount: [FINANCIAL_1]
...

Was Ihre App zurueckbekommt:

The insurance claim from Robert Chen
(r.chen@insuretech.com) at 45 Beacon St, Boston
is for $12,450. The claim appears to be within
standard processing parameters.

Das Modell verarbeitet saubere Daten. Ihre Anwendung erhaelt die vollstaendige, personalisierte Antwort. Keine PII erreicht jemals das Foundation Model.

Naechste Schritte