Wie du PII aus CrewAI-Agent-Calls redigierst

Ein CrewAI-Workflow faechert einen einzelnen Nutzer-Input auf viele Modell-Calls auf — Researcher, Writer, Critic, Planner. Jeder Schritt ist ein weiterer Leak-Pfad. So wendest du eine PII-Redaktions-Policy ueber eine ganze CrewAI-Crew mit Grepture an.

Das Problem: Agents vervielfachen die Leak-Oberflaeche

Eine einzelne Chat-Completion hat einen Prompt und eine Antwort. Eine CrewAI-Crew kann acht haben. Ein Researcher-Agent ruft ein Modell auf. Ein Planner-Agent ruft ein Modell auf. Ein Writer entwirft. Ein Critic prueft. Ein Summarizer komprimiert. Jeder Schritt bekommt denselben Nutzer-Input oder eine Ableitung davon. Jeder Schritt ist eine weitere Chance, dass ein Kundenname, ein API-Key oder ein Stack-Trace in OpenAIs Logs landet.

Input am Eintritt der Crew zu scrubben ist notwendig, aber nicht ausreichend — Zwischen-Modell-Outputs fliessen in nachfolgende Prompts, und PII, das einen Schritt ueberlebt hat, kann im naechsten leaken.

Der richtige Ort, eine Redaktions-Policy durchzusetzen, ist der Request-Pfad jedes Agent-Modell-Calls. Genau das macht Grepture.

Das Setup

CrewAI nutzt LLM-Wrapper (OpenAI, Anthropic, LiteLLM, custom). Zeige die Base-URL des Wrappers auf Grepture, und jeder Agent-Call fliesst durch dieselbe Redaktion.

from crewai import Agent, Crew, Task
from crewai.llm import LLM
import os

llm = LLM(
    model="openai/gpt-4o",
    base_url="https://proxy.grepture.com/v1",
    api_key=os.environ["OPENAI_API_KEY"],
    extra_headers={
        "X-Grepture-Auth": f"Bearer {os.environ['GREPTURE_API_KEY']}",
    },
)

researcher = Agent(
    role="Research-Analyst",
    goal="Alle relevanten Fakten zur Frage des Nutzers hervorholen",
    backstory="Du liest sorgfaeltig und zitierst Quellen",
    llm=llm,
)

writer = Agent(
    role="Technischer Autor",
    goal="Recherche in eine klare Antwort verwandeln",
    backstory="Du schreibst fuer Engineers",
    llm=llm,
)

crew = Crew(
    agents=[researcher, writer],
    tasks=[
        Task(description=user_request, agent=researcher),
        Task(description="Schreibe eine finale Antwort", agent=writer),
    ],
)

result = crew.kickoff()

Jeder Modell-Call jedes Agents laeuft jetzt durch den Grepture-Proxy. PII wird redigiert, Secrets werden durch stabile Labels ersetzt, reversible Tokens tragen Nutzerdaten durch die Crew, ohne sie dem Modell zu zeigen.

Warum Reversibilitaet in Agent-Workflows wichtig ist

Wenn Agent A „Sarah Chen at 742 Evergreen Terrace ordered widgets" an Agent B uebergibt, und du es zu „[PERSON_1] at [ADDRESS_1] ordered widgets" gescrubbt hast, kann Agent B trotzdem darueber argumentieren. Wenn Agent C die finale, nutzersichtbare Antwort produziert, stellt Grepture die Original-Tokens wieder her — der Nutzer sieht seinen eigenen Namen und seine Adresse, das Modell hat sie nie gesehen.

Ein naiver Scrubber (PII einfach loeschen) bricht die Agent-Kette, weil Zwischenmodelle den referenziellen Faden verlieren. Reversible Tokenisierung haelt die Kette am Laufen.

Was an jedem Schritt abgefangen wird

Dieselbe Policy gilt fuer jeden Modell-Call in der Crew:

  • PII (reversibel): E-Mail, Telefon, SSN, Kreditkarte, IP, Postadresse, Personennamen, Geburtsdaten
  • Secrets (permanente Ersetzung): API-Keys, Tokens, Passwoerter, Webhooks ueber 25+ Credential-Familien
  • Provider-agnostisch: wenn deine Crew OpenAI fuer einen Agent und Anthropic fuer einen anderen mischt, fliessen beide durch dieselben Regeln

Eine Notiz zu Tool-Outputs

CrewAI-Agents rufen Tools auf — Web-Suche, Code-Ausfuehrung, Dokumentensuche — und die Ergebnisse fliessen zurueck in Prompts. Tool-Outputs sind eine haeufige PII-Oberflaeche (ein Such-Ergebnis liefert eine echte E-Mail; ein DB-Lookup liefert einen Kundendatensatz). Weil Grepture im Request-Pfad sitzt, wird Tool-Output, der in den naechsten Modell-Call fliesst, genauso redigiert wie Nutzer-Input.

Der Agent-Plattform-Use-Case

Wenn du eine Agent-Plattform baust, auf der Kunden ihre eigenen Crews konfigurieren, werden die Prompts von Endnutzern (oder ihren Daten) getrieben, und du kannst nicht jeden pruefen. Andere Oberflaeche als ein Chat-UI, gleiches Grundproblem:

Migration

  1. Bei app.grepture.com anmelden.
  2. base_url an der/den LLM-Instanz(en) deiner Agents aendern.
  3. X-Grepture-Auth-Header ergaenzen.
  4. Im Traffic-Log bestaetigen, dass jeder Agent-Call durch den Proxy fliesst.

Naechste Schritte

Schützen Sie Ihren API-Traffic noch heute

Scannen Sie Anfragen auf PII, Geheimnisse und sensible Daten in Minuten. Kostenloser Plan verfügbar.

Kostenlos starten