[{"data":1,"prerenderedAt":819},["ShallowReactive",2],{"blog-pii-redaction-llm-pipelines-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":96,"og":97,"expertise":98,"locales":99,"lang":101,"title":103,"description":104,"coverAlt":105,"metaTitle":106,"takeaways":107,"faq":113,"toc":132,"blocks":163,"others":533},"pii-redaction-llm-pipelines","2026-10-02",12,"security",[9,10,11,12,13],"PII redaction","GDPR","Microsoft Presidio","LLM security","Pseudonymisation",[15,16,17,18,19,20,21,22,23,24],"PII redaction LLM","how to remove PII before sending to LLM","Microsoft Presidio tutorial","PII detection German Hungarian","pseudonymisation vs anonymisation GDPR","reversible tokenization LLM prompts","redact PII in logs and traces","LLM data masking","PII guardrail LiteLLM","test PII detection recall",[26,29,32],{"name":27,"url":28},"Personal data","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPersonal_data",{"name":30,"url":31},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",{"name":33,"url":34},"Data anonymization","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FData_anonymization",[36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93],{"title":37,"url":38},"Microsoft Presidio: documentation (limitations, methods)","https:\u002F\u002Fpresidio.dataprivacystack.org\u002F",{"title":40,"url":41},"Presidio: supported entities and country-specific recognizers","https:\u002F\u002Fpresidio.dataprivacystack.org\u002Fsupported_entities\u002F",{"title":43,"url":44},"Presidio: supporting additional languages","https:\u002F\u002Fpresidio.dataprivacystack.org\u002Fanalyzer\u002Flanguages\u002F",{"title":46,"url":47},"Presidio: anonymizer operators","https:\u002F\u002Fpresidio.dataprivacystack.org\u002Fanonymizer\u002F",{"title":49,"url":50},"Google Cloud: infoTypes reference","https:\u002F\u002Fdocs.cloud.google.com\u002Fsensitive-data-protection\u002Fdocs\u002Finfotypes-reference",{"title":52,"url":53},"Google Cloud: pseudonymization in Sensitive Data Protection","https:\u002F\u002Fdocs.cloud.google.com\u002Fsensitive-data-protection\u002Fdocs\u002Fpseudonymization",{"title":55,"url":56},"Microsoft Learn: Azure Language PII detection language support","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Flanguage-service\u002Fpersonally-identifiable-information\u002Flanguage-support",{"title":58,"url":59},"AWS: Detecting PII entities with Amazon Comprehend","https:\u002F\u002Fdocs.aws.amazon.com\u002Fcomprehend\u002Flatest\u002Fdg\u002Fhow-pii.html",{"title":61,"url":62},"spaCy: models and languages","https:\u002F\u002Fspacy.io\u002Fusage\u002Fmodels",{"title":64,"url":65},"Hugging Face: novakat\u002Fnerkor-hubert (Hungarian NER)","https:\u002F\u002Fhuggingface.co\u002Fnovakat\u002Fnerkor-hubert",{"title":67,"url":68},"arXiv: An Evaluation Study of Hybrid Methods for Multilingual PII Detection","https:\u002F\u002Farxiv.org\u002Fabs\u002F2510.07551",{"title":70,"url":71},"LiteLLM: Presidio PII masking guardrail","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Fguardrails\u002Fpii_masking_v2",{"title":73,"url":74},"Langfuse: masking","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fobservability\u002Ffeatures\u002Fmasking",{"title":76,"url":77},"GDPR Article 4: definitions (pseudonymisation, 4(5))","https:\u002F\u002Fgdpr-info.eu\u002Fart-4-gdpr\u002F",{"title":79,"url":80},"EDPB: Guidelines 01\u002F2025 on Pseudonymisation","https:\u002F\u002Fwww.edpb.europa.eu\u002Four-work-tools\u002Fdocuments\u002Fpublic-consultations\u002F2025\u002Fguidelines-012025-pseudonymisation_en",{"title":82,"url":83},"IAPP: EDPB publishes draft guidelines on pseudonymization","https:\u002F\u002Fiapp.org\u002Fnews\u002Fa\u002F-what-s-in-a-name-edpb-publishes-draft-guidelines-on-pseudonymization",{"title":85,"url":86},"Taylor Wessing: Analysis of the CJEU judgment in C-413\u002F23 P (EDPS v SRB)","https:\u002F\u002Fwww.taylorwessing.com\u002Fen\u002Finsights-and-events\u002Finsights\u002F2025\u002F09\u002Fanalysis-of-the-cjeu-judgment",{"title":88,"url":89},"Jones Day: CJEU clarifies scope of personal data in EDPS v SRB","https:\u002F\u002Fwww.jonesday.com\u002Fen\u002Finsights\u002F2025\u002F09\u002Fcjeu-clarifies-scope-of-personal-data-in-edps-v-srb-decision",{"title":91,"url":92},"IAPP: leaked Council Digital Omnibus compromise drops the revised personal data definition","https:\u002F\u002Fiapp.org\u002Fnews\u002Fa\u002Feu-member-states-leaked-digital-omnibus-compromise-proposal-eliminates-revised-gdpr-definition-of-personal-data",{"title":94,"url":95},"Law Health Tech: Pseudonymisation under the GDPR and the Digital Omnibus (May 2026)","https:\u002F\u002Flawhealthtech.com\u002F2026\u002F05\u002F04\u002Fpseudonymisation-under-the-gdpr-where-we-are-what-may-change-under-the-digital-omnibus-and-what-regulators-think\u002F","\u002Fimages\u002Fblog\u002Fpii-redaction-llm-pipelines\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpii-redaction-llm-pipelines\u002Fog.jpg","ai-engineer",[100,101,102],"en","de","hu","PII-Schwärzung in LLM-Pipelines: wo, wie und was die DSGVO dazu sagt","Wo du PII in LLM-Pipelines schwärzt, umkehrbare Tokens vs. Maskierung, Presidio und Cloud-DLP, Lücken bei Deutsch und Ungarisch, DSGVO zu Pseudonymisierung, Tests.","Diagramm: Nutzereingaben durchlaufen vor dem LLM ein Schwärzungs-Gate, ein Token-Tresor stellt nach der Ausgabeprüfung die echten Werte wieder her, Logs und Traces sehen nur geschwärzten Text.","PII-Schwärzung in LLM-Pipelines · Balázs Csorba",[108,109,110,111,112],"Schwärze an jeder Grenze, nicht nur einmal: Ingest, Prompt, Ausgabe, Logs und Traces lecken jeweils anders, und Logs und Traces werden am häufigsten vergessen.","Umkehrbare Tokens (ein Tresor, der Platzhalter auf echte Werte abbildet) erhalten die Nützlichkeit der Antworten, aber der Tresor selbst wird zum Speicher für personenbezogene Daten und braucht Schlüssel, Zugriffskontrolle und kurze Aufbewahrung.","Kein Detektor findet alles. Presidio sagt das selbst, und die Abdeckung für Deutsch ist deutlich besser als für Ungarisch. Miss den Recall pro Sprache auf deinen eigenen Daten, statt einer Herstellerliste zu vertrauen.","Nach der DSGVO bleiben pseudonymisierte Daten für den Inhaber des Schlüssels personenbezogen. Das EuGH-Urteil vom 4. September 2025 ergänzt: Für einen Empfänger ohne Möglichkeit zur Re-Identifizierung können sie es nicht sein, aber das muss belegt und nicht angenommen werden.","Sieh Schwärzung als Defense in Depth neben Verträgen, EU-Hosting und Zugriffskontrolle, und teste sie wie jedes andere Feature: mit einem gelabelten mehrsprachigen Datensatz, Recall-Zielen und einem Regressions-Gate in der CI.",[114,117,120,123,126,129],{"q":115,"a":116},"Wie entferne ich PII, bevor Daten an ein LLM gehen?","Setze ein Schwärzungs-Gate zwischen Anwendung und Modell-API. Erkenne Entitäten mit einer Mischung aus Mustern, Prüfsummen und einem NER-Modell (zum Beispiel Microsoft Presidio), ersetze jede durch einen typisierten Platzhalter wie PERSON_1, sende den geschwärzten Text und bilde die Platzhalter in der Antwort optional zurück ab. Dasselbe Gate gehört vor das Indexieren von Dokumenten sowie vor Logs und Traces.",{"q":118,"a":119},"Was ist der Unterschied zwischen Schwärzung, Maskierung und Tokenisierung?","Schwärzung entfernt den Wert, Maskierung ersetzt Zeichen durch ein Symbol, und Tokenisierung ersetzt den Wert durch einen Stellvertreter, der über einen getrennten Tresor zurückgeführt werden kann. Nur Tokenisierung (oder Verschlüsselung) ist umkehrbar. Hashing ist einseitig, aber bei Werten mit wenig Entropie wie Telefonnummern erratbar.",{"q":121,"a":122},"Sind pseudonymisierte Daten nach der DSGVO personenbezogene Daten?","Für die Stelle, die die zusätzlichen Informationen zur Re-Identifizierung besitzt, ja. Artikel 4 Nr. 5 definiert Pseudonymisierung als Schutzmaßnahme, nicht als Anonymisierung. Der EuGH hat am 4. September 2025 (C-413\u002F23 P) entschieden, dass dieselben Daten für einen Empfänger ohne vernünftige Mittel zur Re-Identifizierung möglicherweise keine personenbezogenen Daten sind. Die Bewertung hängt also von der Perspektive ab.",{"q":124,"a":125},"Unterstützt Microsoft Presidio Deutsch und Ungarisch?","Presidio läuft über die Konfiguration der NLP-Engine auch in anderen Sprachen, und die Dokumentation listet deutsche Recognizer wie Steuer-ID und Personalausweis. Ungarische Recognizer habe ich in der Liste nicht gefunden, und spaCy hat keine trainierte ungarische Pipeline. Für Ungarisch brauchst du also eigene Recognizer oder ein Transformer-Modell und eine eigene Evaluation.",{"q":127,"a":128},"Kann PII-Erkennung garantieren, dass nichts abfließt?","Nein. Presidio schreibt selbst, dass es wegen der automatischen Erkennung keine Garantie gibt, alle sensiblen Informationen zu finden. Namen, Freitext, Tippfehler und kontextabhängige Kennungen erzeugen False Negatives. Schwärzung sollte deshalb eine Schicht neben Zugriffskontrolle, Verträgen und EU-Datenresidenz sein.",{"q":130,"a":131},"Wie teste ich eine PII-Schwärzungs-Pipeline?","Baue einen gelabelten Datensatz in jeder Sprache, die du bedienst, mit realistischem Rauschen, und miss den Recall pro Entitätstyp, denn ein übersehener Name schadet mehr als ein Fehlalarm. Füge Canary-Werte hinzu, die nie in Logs oder Provider-Requests auftauchen dürfen, lass die Suite in der CI laufen und wiederhole sie bei jeder Änderung von Modell, Sprachmodellen oder Recognizern.",[133,136,139,142,145,148,151,154,157,160],{"id":134,"title":135},"where-to-redact","Wo schwärzen: fünf Grenzen",{"id":137,"title":138},"techniques","Schwärzen, Maskieren, Tokenisieren: die Technik wählen",{"id":140,"title":141},"reversible-tokens","Umkehrbare Tokenisierung: nützlich, mit Tresor",{"id":143,"title":144},"tools","Tools: Presidio, Cloud-Dienste und NER-Modelle",{"id":146,"title":147},"german-hungarian","Deutsch und Ungarisch: die Abdeckungslücke",{"id":149,"title":150},"false-negatives","False Negatives: der Fehler, der zählt",{"id":152,"title":153},"gdpr","Die DSGVO-Sicht: pseudonymisiert ist nicht anonym",{"id":155,"title":156},"testing","Schwärzung wie ein Feature testen",{"id":158,"title":159},"first-steps","Was ich zuerst tun würde",{"id":161,"title":162},"sources","Quellen",[164,168,177,180,183,192,226,229,230,233,315,318,319,322,339,351,352,355,371,374,375,378,395,398,399,402,424,427,428,431,434,437,443,444,452,465,466,469,470],{"type":165,"content":166},"paragraph",[167],"Die meisten Teams bauen PII-Handling in ein LLM-Feature so ein: ein Regex für E-Mail-Adressen vor dem API-Aufruf und eine Notiz im Backlog. Das funktioniert in der Demo und scheitert in Produktion, denn personenbezogene Daten kommen nicht an einer einzigen Stelle in ein LLM-System. Sie stecken in der Nutzernachricht, in den Dokumenten, die du indexierst, in den Tool-Ergebnissen, die ein Agent liest, und werden dann in die Modellausgabe, das Anwendungslog, das Trace-Backend und das Evaluierungs-Set kopiert.",{"type":165,"content":169},[170,171,176],"Dieser Artikel zeigt, wie ich die Schwärzung für ein europäisches Unternehmen entwerfen würde: wo die Gates sitzen, welche Technik an welcher Stelle passt, was die Tools können und nicht können (auch für Deutsch und Ungarisch), wie man die aktuelle DSGVO-Lage zu pseudonymisierten Daten liest und wie man das Ganze testet. Das ist Engineering-Rat, keine Rechtsberatung, und ergänzt die Hosting- und Vertragsfragen in ",{"tag":172,"to":173,"children":174},"link","\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[175],"DSGVO und LLM-APIs: EU-Datenresidenz",".",{"type":178,"level":179,"id":134,"text":135},"heading",2,{"type":165,"content":181},[182],"Sieh die Pipeline als fünf Grenzen, an denen Text in ein System übergeht, das du nicht vollständig kontrollierst oder das länger lebt als die Anfrage. Jede braucht eine eigene Entscheidung.",{"type":184,"attrs":185,"inner":189,"caption":190},"diagram",{"viewBox":186,"role":187,"aria-labelledby":188},"0 0 764 290","img","d1-pii-t d1-pii-d","\u003Ctitle id=\"d1-pii-t\">Schwärzungs-Gates in einer LLM-Pipeline\u003C\u002Ftitle>\u003Cdesc id=\"d1-pii-d\">Ablauf von der Eingabe über ein Schwärzungs-Gate zum LLM, dann Ausgabeprüfung und Nutzer. Ein Token-Tresor verbindet das Schwärzungs-Gate und die Ausgabeprüfung. Logs und Traces darunter erhalten nur geschwärzten Text.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Schwärzungs-Gates in einer LLM-Pipeline\u003C\u002Ftext>\u003Crect x=\"20\" y=\"50\" width=\"124\" height=\"70\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"82\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">1 Eingabe\u003C\u002Ftext>\u003Ctext x=\"82\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">Chat, Dateien\u003C\u002Ftext>\u003Cpath d=\"M144 85 H162\" class=\"d-line\" \u002F>\u003Cpath d=\"M170 85 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"170\" y=\"50\" width=\"124\" height=\"70\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"232\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">2 Schwärzen\u003C\u002Ftext>\u003Ctext x=\"232\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">erkennen, ersetzen\u003C\u002Ftext>\u003Cpath d=\"M294 85 H312\" class=\"d-line\" \u002F>\u003Cpath d=\"M320 85 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"320\" y=\"50\" width=\"124\" height=\"70\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"382\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">3 LLM\u003C\u002Ftext>\u003Ctext x=\"382\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">externe API\u003C\u002Ftext>\u003Cpath d=\"M444 85 H462\" class=\"d-line\" \u002F>\u003Cpath d=\"M470 85 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"470\" y=\"50\" width=\"124\" height=\"70\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"532\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">4 Prüfung\u003C\u002Ftext>\u003Ctext x=\"532\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">Ausgabe, Rückweg\u003C\u002Ftext>\u003Cpath d=\"M594 85 H612\" class=\"d-line\" \u002F>\u003Cpath d=\"M620 85 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"620\" y=\"50\" width=\"124\" height=\"70\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"682\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">5 Nutzer\u003C\u002Ftext>\u003Ctext x=\"682\" y=\"102\" text-anchor=\"middle\" class=\"d-small\">echte Werte\u003C\u002Ftext>\u003Cpath d=\"M232 150 V129\" class=\"d-line\" \u002F>\u003Cpath d=\"M232 120 l-5 9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M532 150 V129\" class=\"d-line\" \u002F>\u003Cpath d=\"M532 120 l-5 9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"170\" y=\"150\" width=\"424\" height=\"44\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"382\" y=\"177\" text-anchor=\"middle\" class=\"d-small\">Token-Tresor: Platzhalter zu Wert, verschlüsselt, kurze TTL\u003C\u002Ftext>\u003Crect x=\"20\" y=\"222\" width=\"724\" height=\"44\" rx=\"10\" class=\"d-box d-dash\" \u002F>\u003Ctext x=\"382\" y=\"249\" text-anchor=\"middle\" class=\"d-small\">Logs, Traces, Caches, Eval-Sets: nur geschwärzter Text\u003C\u002Ftext>",[191],"Das Modell sieht nur Platzhalter. Der Tresor stellt die echten Werte für den Nutzer wieder her und verlässt nie deine Vertrauensgrenze; Logs und Traces sehen nie echte Werte.",{"type":193,"ordered":194,"items":195},"list",false,[196,206,211,216,221],[197,201,202,176],{"tag":198,"children":199},"strong",[200],"Ingest."," Schwärze Dokumente vor dem Chunking und Embedding. Ein Vektorspeicher voller roher personenbezogener Daten ist schwer zu bereinigen und vergrößert jedes spätere Leck. Entscheide pro Quelle, ob du den echten Wert überhaupt brauchst. Die Abwägungen beim Indexieren stehen in ",{"tag":172,"to":203,"children":204},"\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking",[205],"RAG-Pipeline: Chunking, Hybrid-Suche, Reranking",[207,210],{"tag":198,"children":208},[209],"Prompt."," Nutzernachricht, abgerufener Kontext und Tool-Ergebnisse laufen kurz vor dem API-Aufruf durch das Gate. Das ist die wichtigste Grenze, weil sie bestimmt, was der Provider erhält.",[212,215],{"tag":198,"children":213},[214],"Ausgabe."," Das Modell kann personenbezogene Daten wiederholen, ableiten oder erfinden. Prüfe die Antwort, bevor sie angezeigt oder gespeichert wird, und stelle Tokens nur dort wieder her, wo der Betrachter den echten Wert sehen darf.",[217,220],{"tag":198,"children":218},[219],"Logs."," Anwendungs- und Gateway-Logs sind das klassische Leck. Logge den geschwärzten Prompt oder einen Hash samt Größe, nie die rohe Nachricht.",[222,225],{"tag":198,"children":223},[224],"Traces und Evals."," Observability-Tools speichern Prompts und Completions vollständig, das ist ihr Zweck. Langfuse bietet zum Beispiel Masking-Hooks, die vor dem Export laufen, und reine OpenTelemetry-Setups können in der Anwendung oder in einem Collector maskieren. Evaluierungsdaten aus Produktionsverkehr erben alles, was in den Traces steht.",{"type":165,"content":227},[228],"Ein Gateway wie LiteLLM kann das Gate auf der Prompt-Seite übernehmen. Seine Presidio-Guardrail läuft vor dem Aufruf, nach der Antwort oder nur fürs Logging und kann die Modellausgabe parsen, um maskierte Tokens durch die Originalwerte zu ersetzen. Das ist ein bequemer Start, aber beachte die Grenze: Es deckt Request und Response ab, nicht deinen Ingest-Job und nicht dein Trace-Backend.",{"type":178,"level":179,"id":137,"text":138},{"type":165,"content":231},[232],"Die Erkennung findet die Textstellen, die Technik entscheidet, was sie ersetzt. Die Wahl ist ein Trade-off zwischen Nutzen für das Modell, Umkehrbarkeit und Schaden bei einem Leck. Die Tabelle ist meine Einschätzung auf Basis der Operatoren, die Presidio und Google Cloud Sensitive Data Protection dokumentieren.",{"type":234,"head":235,"rows":246},"table",[236,238,240,242,244],[237],"Technik",[239],"Umkehrbar",[241],"Nutzen fürs Modell",[243],"Hauptrisiko",[245],"Geeignet für",[247,258,269,284,294,305],[248,250,252,254,256],[249],"Entfernen (leer oder REDACTED)",[251],"Nein",[253],"Niedrig: Satzbau bricht",[255],"Informationsverlust",[257],"Logs, Analytics, alles ohne Bedarf am Wert",[259,261,263,265,267],[260],"Typisierter Platzhalter (PERSON_1)",[262],"Nur mit Tresor",[264],"Hoch: Rollen und Beziehungen bleiben sichtbar",[266],"Tresor wird zum Datenspeicher",[268],"Prompts, Zusammenfassungen, Support-Tickets",[270,277,278,280,282],[271,272,276],"Zeichenmaskierung (",{"tag":273,"children":274},"em",[275],"*","*1234)",[251],[279],"Niedrig bis mittel",[281],"Verrät Teilwerte und Länge",[283],"Anzeige von Karten- oder Telefonenden",[285,287,288,290,292],[286],"Gesalzener oder geschlüsselter Hash",[251],[289],"Mittel: stabile Joins, unlesbarer Text",[291],"Bei wenig Entropie erratbar",[293],"Deduplizierung, Join-Schlüssel in Analytics",[295,297,299,301,303],[296],"Deterministische oder formaterhaltende Verschlüsselung",[298],"Ja, mit Schlüssel",[300],"Mittel bis hoch: gleicher Wert, gleiches Token",[302],"Schlüsselverwaltung; Gleichheit sichtbar",[304],"Strukturierte Felder, Konsistenz über Dokumente",[306,308,309,311,313],[307],"Realistisches Surrogat (falscher Name)",[262],[310],"Hoch, liest sich natürlich",[312],"Falscher Wert kann auf echte Person fallen",[314],"Demos, Testdaten, Evals",{"type":165,"content":316},[317],"Presidio bringt Operatoren für replace, redact, hash, mask, encrypt und eigene Funktionen mit, decrypt ist die eingebaute Umkehrung. Google dokumentiert deterministische Verschlüsselung (AES-SIV), formaterhaltende Verschlüsselung (FPE-FFX) und HMAC-SHA-256-Hashing, die ersten beiden umkehrbar, und empfiehlt Schlüssel, die über Cloud KMS gewrappt sind. Mein Standard für Prompts sind typisierte, nummerierte Platzhalter: Das Modell kann weiter schließen, dass PERSON_1 an PERSON_2 geschrieben hat, und du entscheidest an der Ausgabegrenze, wer was sehen darf.",{"type":178,"level":179,"id":140,"text":141},{"type":165,"content":320},[321],"Umkehrbare Tokens lösen das Nutzbarkeitsproblem: Der Nutzer will eine Antwort an einen Kunden, das Modell formuliert sie um PERSON_1 herum, und dein Gate stellt vor der Anzeige den echten Namen wieder her. Drei Designregeln halten das sicher.",{"type":193,"ordered":194,"items":323},[324,329,334],[325,328],{"tag":198,"children":326},[327],"Tokens auf Sitzung oder Request begrenzen."," Eine frische Zuordnung pro Konversation vermeidet eine globale Lookup-Tabelle und verhindert, dass Tokens zu konversationsübergreifenden Kennungen werden.",[330,333],{"tag":198,"children":331},[332],"Tresor verschlüsseln und ablaufen lassen."," Betreibe ihn in deiner eigenen Infrastruktur, verschlüssele ihn mit einem verwalteten Schlüssel und lösche Zuordnungen am Ende der Konversation oder nach kurzer TTL. Er enthält personenbezogene Daten und braucht denselben Löschweg wie der Rest.",[335,338],{"tag":198,"children":336},[337],"Nur am Rand wiederherstellen."," Führe die Rückersetzung in der Schicht aus, die für einen berechtigten Nutzer rendert, nicht innerhalb der Agent-Schleife. Sonst kann ein Tool-Aufruf echte Werte an Orte tragen, die das Modell nicht erreichen sollte.",{"type":340,"variant":341,"title":342,"body":343},"callout","warn","Platzhalter können angegriffen werden",[344],[345,346,350],"Sieht das Modell PERSON_1 und geht die Ausgabe an ein Tool, kann eine eingeschleuste Anweisung weiterhin verlangen, dass der echte Wert wiederhergestellt oder abgeflossen wird. Behandle den Tresor als privilegierte Fähigkeit und halte ihn außerhalb der Reichweite des Modells. Die Muster aus ",{"tag":172,"to":347,"children":348},"\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns",[349],"Prompt Injection und die Lethal Trifecta"," gelten hier direkt.",{"type":178,"level":179,"id":143,"text":144},{"type":165,"content":353},[354],"Es gibt keine einzige Antwort, sondern drei Familien, und viele Produktions-Setups kombinieren sie.",{"type":193,"ordered":194,"items":356},[357,361,366],[358,360],{"tag":198,"children":359},[11]," (Open Source, selbst gehostet). Es kombiniert Named-Entity-Recognition, reguläre Ausdrücke, regelbasierte Logik, Prüfsummen und Kontextwörter. Es ist der übliche Startpunkt, weil du kontrollierst, wohin der Text geht, und Recognizer ergänzen kannst. Die Dokumentation ist ehrlich: Weil die Erkennung automatisch erfolgt, gibt es keine Garantie, dass alle sensiblen Informationen gefunden werden.",[362,365],{"tag":198,"children":363},[364],"Cloud-Dienste."," Google Cloud Sensitive Data Protection bietet eine lange Liste von InfoTypes mit einem Ort pro Typ, darunter deutsche wie Reisepass, Personalausweis, Führerschein, Steuer-ID und SCHUFA-ID. Azure Language listet Deutsch und Ungarisch für Text-PII, und die Conversation-PII ist nur für Englisch, Französisch, Deutsch und Spanisch dokumentiert. Amazon Comprehend dokumentiert PII-Erkennung für englischen oder spanischen Text. Das ist verwaltet und leicht zu starten, aber rohen Text an einen Drittanbieter-Detektor zu senden ist selbst eine Übermittlung, die du rechtfertigen musst.",[367,370],{"tag":198,"children":368},[369],"NER-Modelle und Hybride."," Feinabgestimmte Transformer lassen sich lokal betreiben. Eine Forschungsarbeit zu hybrider Erkennung (reguläre Ausdrücke plus LLMs, getestet an 13 ressourcenarmen Sprachen) berichtet einen deutlich besseren gewichteten F1-Wert als feinabgestimmte NER-Modelle und Zero-Shot-LLMs. Nimm sie als Hinweis, deterministische Muster mit kontextsensitiven Modellen zu kombinieren, nicht als fertiges Produkt.",{"type":165,"content":372},[373],"Meine Regel: deterministische Recognizer mit Validierung (IBAN-Prüfsummen, Steuer-ID-Formate) für strukturierte Kennungen, ein NER-Modell für Namen und Orte und einen LLM-basierten Durchlauf nur dort, wo Recall wichtiger ist als Kosten und das Modell innerhalb deiner Grenze läuft.",{"type":178,"level":179,"id":146,"text":147},{"type":165,"content":376},[377],"Die meisten Detektoren sind in Englisch am stärksten. Für ein Unternehmen in Österreich oder Ungarn ist das das praktische Risiko, denn der Text ist deutsch oder ungarisch, oft gemischt mit Englisch.",{"type":193,"ordered":194,"items":379},[380,385,390],[381,384],{"tag":198,"children":382},[383],"Deutsch."," Presidio dokumentiert deutsche Recognizer für Steuer-IDs, Pässe, Personalausweise, Krankenversicherungsnummern und Kfz-Kennzeichen, spaCy liefert trainierte deutsche Pipelines, und LiteLLM nennt Deutsch als unterstützte Guardrail-Sprache. Namen müssen zudem von den vielen großgeschriebenen Substantiven unterschieden werden, teste den Namens-Recall deshalb getrennt auf deutschem Text.",[386,389],{"tag":198,"children":387},[388],"Ungarisch."," In Presidios Entitätsliste und in Googles InfoType-Referenz habe ich keine ungarischen Recognizer gefunden, und spaCy zeigt keine trainierte ungarische Pipeline. Azure listet Ungarisch für Text-PII. Offene Modelle gibt es, etwa ein huBERT-basiertes NER-Modell, feinabgestimmt auf dem NerKor-Korpus mit den Labels PER, ORG, LOC und MISC, aber es steht unter GPL und ist auf 448 Token Eingabe begrenzt, was bei langen Dokumenten zählt.",[391,394],{"tag":198,"children":392},[393],"Sprachspezifischer Kontext."," Presidio-Recognizer unterstützen je eine Sprache, und laut Dokumentation sind Muster wie reguläre Ausdrücke sprachunabhängig, die Kontextwörter, die die Konfidenz erhöhen, aber nicht. Ein deutscher Recognizer braucht Wörter wie „Steuernummer“, ein ungarischer „adószám“ oder „TAJ-szám“, und ungarische Suffixe lassen Namen ihre Form ändern (Péter, Péternek, Péterrel).",{"type":165,"content":396},[397],"Ungarische Kennungen wie Steuernummer oder Sozialversicherungsnummer (TAJ) lassen sich leicht als eigene Muster-Recognizer mit Prüfsummen ergänzen, und dort würde ich anfangen. Namen sind der schwierige Teil und brauchen ein Modell plus eigene Evaluation.",{"type":178,"level":179,"id":149,"text":150},{"type":165,"content":400},[401],"Ein False Positive ersetzt ein harmloses Wort und kostet etwas Qualität. Ein False Negative schickt einen echten Namen an einen Provider und schreibt ihn in ein Log. Optimiere auf Recall bei den wichtigen Entitäten und akzeptiere eine verrauschte Precision.",{"type":193,"ordered":194,"items":403},[404,409,414,419],[405,408],{"tag":198,"children":406},[407],"Namen im Freitext:"," Spitznamen, Kleinschreibung im Chat, Namen, die auch Alltagswörter sind, und gebeugte Formen.",[410,413],{"tag":198,"children":411},[412],"Kontextabhängige Kennungen:"," Berufsbezeichnung, kleiner Ort und Datum können eine Person identifizieren, ohne dass eine einzelne Entität auffällt.",[415,418],{"tag":198,"children":416},[417],"Formatvarianten:"," Telefonnummern mit ungewöhnlichen Leerzeichen, IBANs über mehrere Zeilen, Kennungen in URLs oder Codeblöcken.",[420,423],{"tag":198,"children":421},[422],"Nicht-Text-Eingaben:"," OCR-Ausgaben gescannter Dokumente, Tool-Ergebnisse als JSON und Dateinamen.",{"type":165,"content":425},[426],"Wegen dieser Lücken verlass dich nicht allein auf Schwärzung. Ergänze Kontrollen beim Provider (EU-Region, kein Training mit Daten, Zero Retention, wo angeboten), Retrieval mit minimalen Rechten und eine Regel, dass besondere Kategorien (etwa Gesundheitsdaten) nicht an ein allgemeines Modell gehen, es sei denn, es gibt eine dokumentierte Rechtsgrundlage.",{"type":178,"level":179,"id":152,"text":153},{"type":165,"content":429},[430],"Artikel 4 Nr. 5 DSGVO definiert Pseudonymisierung als Verarbeitung, sodass Daten ohne zusätzliche Informationen keiner bestimmten Person mehr zugeordnet werden können, sofern diese Informationen getrennt aufbewahrt und durch technische und organisatorische Maßnahmen geschützt werden. Es ist eine Schutzmaßnahme, kein Ausstieg aus der Verordnung. Der EDSA hat seine Leitlinien 01\u002F2025 zur Pseudonymisierung am 16. Januar 2025 angenommen und Anfang 2025 konsultiert. Eine Endfassung konnte ich nicht bestätigen, und im Dezember 2025 hielt der EDSA eine Stakeholder-Veranstaltung zum Thema ab, nimm die Leitlinien also als noch in Entwicklung.",{"type":165,"content":432},[433],"Der EuGH hat am 4. September 2025 in EDPS gegen SRB (C-413\u002F23 P) eine Nuance ergänzt. Die Daten im Fall hatte die Single Resolution Board pseudonymisiert und den Schlüssel behalten, bevor sie an Deloitte gingen. Das Gericht bestätigte, dass solche Daten für den ursprünglichen Verantwortlichen personenbezogen sein können, aber nicht zwingend für einen Empfänger ohne vernünftige Mittel zur Re-Identifizierung, und dass die Informationspflicht des Verantwortlichen unabhängig von der Sicht des Empfängers besteht. Kommentatoren raten, zu dokumentieren, warum ein Empfänger nicht re-identifizieren kann, und neu zu bewerten, wenn sich Technik oder Datensätze ändern.",{"type":165,"content":435},[436],"Was das für eine LLM-Pipeline bedeutet, in meiner Lesart: Deine eigenen Systeme, die Tresor oder Schlüssel halten, verarbeiten weiter personenbezogene Daten. Ob der Modell-Provider personenbezogene Daten erhält, hängt davon ab, ob er vernünftige Mittel zur Re-Identifizierung hat, und das ist eine Tatsachenfrage über den Text, den du sendest. Freitext-Prompts, die nach der Schwärzung seltene Detailkombinationen enthalten, sind ein schwacher Beleg. Dokumentiere die Bewertung, halte deine Datenschutzhinweise zur Übermittlung korrekt und nenne Platzhaltertext nicht anonym.",{"type":340,"variant":438,"title":439,"body":440},"note","Das Recht kann sich noch bewegen",[441],[442],"Der Digital-Omnibus-Vorschlag der Kommission vom November 2025 sah eine relative Definition personenbezogener Daten vor und einen Artikel 41a, mit dem die Kommission festlegen könnte, wann pseudonymisierte Daten nicht personenbezogen sind. Ein durchgesickerter Ratskompromiss vom Februar 2026 strich die Neudefinition, und EDSA und EDSB empfahlen, Artikel 41a zu streichen. Das endgültige Ergebnis konnte ich nicht verifizieren, plane also für die heutigen Regeln.",{"type":178,"level":179,"id":155,"text":156},{"type":165,"content":445},[446,447,451],"Schwärzung ist ein Klassifikator, also teste sie wie einen, und binde sie in dieselben Praktiken ein wie andere LLM-Features (siehe ",{"tag":172,"to":448,"children":449},"\u002Fblog\u002Fllm-evals-for-product-features",[450],"LLM-Evals für Produkt-Features",").",{"type":193,"ordered":453,"items":454},true,[455,457,459,461,463],[456],"Baue pro bediente Sprache einen gelabelten Datensatz mit realistischem Rauschen: Tippfehler, kleingeschriebene Namen, Mischung aus Deutsch oder Ungarisch und Englisch, Tabellen und Codeblöcke.",[458],"Berichte Recall und Precision pro Entitätstyp und setze Recall-Ziele für Namen, Kontaktdaten und Kennungen getrennt. Verfolge die Rate übersehener Entitäten, nicht nur den Durchschnitt.",[460],"Füge dem Testverkehr Canary-Werte hinzu (erfundene, aber echt aussehende Namen, IBANs und Steuer-IDs) und prüfe in der CI, dass sie nie in Provider-Requests, Logs, Traces oder Caches auftauchen.",[462],"Teste den Rundlauf: tokenisieren, Modell aufrufen, wiederherstellen. Prüfe, dass Tokens Umformulierungen überstehen, dass unbekannte Tokens nicht wiederhergestellt werden und dass die Wiederherstellung ohne die richtige Sitzung unmöglich ist.",[464],"Führe die Suite bei jeder Änderung von NLP-Modell, Recognizer oder Sprachkonfiguration erneut aus und prüfe Stichproben des Live-Verkehrs manuell, um Drift zu finden.",{"type":178,"level":179,"id":158,"text":159},{"type":165,"content":467},[468],"Starte mit einem Gate auf der Prompt-Seite mit Presidio oder Gleichwertigem, typisierten Platzhaltern mit Tresor pro Sitzung, Schwärzung vor dem Indexieren und Maskierung im Trace-Backend. Ergänze eigene Recognizer für deutsche und ungarische Kennungen, miss den Recall auf deinem eigenen Text und kombiniere alles mit EU-Hosting und Verträgen. Ziel ist nicht perfekte Erkennung, die kein Tool verspricht, sondern eine Pipeline, in der ein übersehener Name nicht in fünf Systemen landet.",{"type":178,"level":179,"id":161,"text":162},{"type":193,"ordered":453,"items":471},[472,476,479,482,485,488,491,494,497,500,503,506,509,512,515,518,521,524,527,530],[473],{"tag":474,"href":38,"children":475},"a",[37],[477],{"tag":474,"href":41,"children":478},[40],[480],{"tag":474,"href":44,"children":481},[43],[483],{"tag":474,"href":47,"children":484},[46],[486],{"tag":474,"href":50,"children":487},[49],[489],{"tag":474,"href":53,"children":490},[52],[492],{"tag":474,"href":56,"children":493},[55],[495],{"tag":474,"href":59,"children":496},[58],[498],{"tag":474,"href":62,"children":499},[61],[501],{"tag":474,"href":65,"children":502},[64],[504],{"tag":474,"href":68,"children":505},[67],[507],{"tag":474,"href":71,"children":508},[70],[510],{"tag":474,"href":74,"children":511},[73],[513],{"tag":474,"href":77,"children":514},[76],[516],{"tag":474,"href":80,"children":517},[79],[519],{"tag":474,"href":83,"children":520},[82],[522],{"tag":474,"href":86,"children":523},[85],[525],{"tag":474,"href":89,"children":526},[88],[528],{"tag":474,"href":92,"children":529},[91],[531],{"tag":474,"href":95,"children":532},[94],[534,611,697,763],{"slug":535,"published":5,"minutes":6,"category":7,"tags":536,"keywords":541,"about":552,"sources":562,"cover":605,"og":606,"expertise":98,"locales":607,"lang":101,"title":608,"description":609,"coverAlt":610},"ai-agent-identity-least-privilege",[537,538,539,540],"AI agent identity","Least privilege","OAuth token exchange","Non-human identity",[542,543,544,545,546,547,548,549,550,551],"AI agent identity management","non-human identity AI agents","AI agent least privilege","OAuth token exchange for AI agents","on-behalf-of flow AI agent","Microsoft Entra Agent ID","Okta Agent SSO Cross App Access","AI agent credentials and secrets","offboarding AI agents","delegated vs autonomous agent access",[553,556,559],{"name":554,"url":555},"Identity management","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIdentity_management",{"name":557,"url":558},"Principle of least privilege","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrinciple_of_least_privilege",{"name":560,"url":561},"OAuth","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOAuth",[563,566,569,572,575,578,581,584,587,590,593,596,599,602],{"title":564,"url":565},"Microsoft Learn: What is Microsoft Entra Agent ID?","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fentra\u002Fagent-id\u002Fwhat-is-microsoft-entra-agent-id",{"title":567,"url":568},"Microsoft Learn: What are agent identities?","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fentra\u002Fagent-id\u002Fwhat-are-agent-identities",{"title":570,"url":571},"Microsoft Learn: Best practices for Microsoft Entra Agent ID","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fentra\u002Fagent-id\u002Fbest-practices-agent-id",{"title":573,"url":574},"Microsoft Learn: Microsoft Entra Agent ID logs","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fentra\u002Fagent-id\u002Fsign-in-audit-logs-agents",{"title":576,"url":577},"Microsoft Learn: How agent identity deletion works","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fentra\u002Fagent-id\u002Fconcept-agent-identity-deletion",{"title":579,"url":580},"Microsoft Learn: What's new in Microsoft Entra Agent ID","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fentra\u002Fagent-id\u002Fwhats-new-agent-id",{"title":582,"url":583},"Microsoft Learn: Microsoft Agent 365 overview","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fmicrosoft-agent-365\u002Foverview",{"title":585,"url":586},"Okta: Okta brings first-class identity to AI agents with Agent SSO (24 August 2026)","https:\u002F\u002Fwww.okta.com\u002Fnewsroom\u002Fpress-releases\u002Fokta-brings-first-class-identity-to-ai-agents-with-agent-sso\u002F",{"title":588,"url":589},"Okta: Auth0 gives developers the identity layer to securely ship agentic apps (May 2026)","https:\u002F\u002Fwww.okta.com\u002Fnewsroom\u002Farticles\u002Fauth0-may-2026-product-innovations\u002F",{"title":591,"url":592},"IETF: RFC 8693, OAuth 2.0 Token Exchange","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc8693",{"title":594,"url":595},"Model Context Protocol blog: Enterprise-Managed Authorization, zero-touch OAuth for MCP (18 June 2026)","https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002Fenterprise-managed-auth\u002F",{"title":597,"url":598},"Model Context Protocol: Security best practices","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002Fdraft\u002Fbasic\u002Fsecurity_best_practices",{"title":600,"url":601},"WorkOS: AI agents and the multi-hop delegation problem","https:\u002F\u002Fworkos.com\u002Fblog\u002Foauth-multi-hop-delegation-ai-agents",{"title":603,"url":604},"TechCrunch: OpenAI launches Dots, its bubbly agentic avatar","https:\u002F\u002Ftechcrunch.com\u002F2026\u002F09\u002F29\u002Fopenai-launches-dots-its-bubbly-agentic-avatar\u002F","\u002Fimages\u002Fblog\u002Fai-agent-identity-least-privilege\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fai-agent-identity-least-privilege\u002Fog.jpg",[100,101,102],"KI-Agenten sind Identitäten: Least Privilege für Nicht-Menschen","Gib jedem KI-Agenten eine eigene Identität, delegierte Tokens und einen Aus-Schalter. Token Exchange, Secrets, Audit, Offboarding und was Entra, Okta, Auth0 liefern.","Diagramm: Ein Nutzer, ein Agent mit eigener Identität und ein Identity Provider, der ein kurzlebiges, eng begrenztes Token für eine API ausstellt.",{"slug":612,"published":5,"minutes":6,"category":7,"tags":613,"keywords":618,"about":629,"sources":639,"cover":691,"og":692,"expertise":98,"locales":693,"lang":101,"title":694,"description":695,"coverAlt":696},"eu-ai-act-gpai-high-risk-2026",[614,615,616,617],"EU AI Act","GPAI","High-risk AI","AI compliance",[619,620,621,622,623,624,625,626,627,628],"EU AI Act high-risk deadline","AI Act digital omnibus","AI Act GPAI obligations","AI Act provider vs deployer","EU AI Act 2 December 2027","GPAI code of practice","AI literacy Article 4","AI Act compliance checklist","AI Act OpenAI API provider deployer","AI Act mid-size company",[630,633,636],{"name":631,"url":632},"Artificial Intelligence Act","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FArtificial_Intelligence_Act",{"name":634,"url":635},"General-purpose artificial intelligence","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFoundation_model",{"name":637,"url":638},"European Commission","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FEuropean_Commission",[640,643,646,649,652,655,658,661,664,667,670,673,676,679,682,685,688],{"title":641,"url":642},"Regulation (EU) 2024\u002F1689 (AI Act), EUR-Lex","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2024\u002F1689\u002Foj",{"title":644,"url":645},"Regulation (EU) 2026\u002F1744 (Digital Omnibus on AI), EUR-Lex","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2026\u002F1744\u002Foj",{"title":647,"url":648},"AI Act Explorer: Digital Omnibus on AI, full amending text","https:\u002F\u002Fartificialintelligenceact.eu\u002Fai-act-explorer\u002Fdigital-omnibus\u002F",{"title":650,"url":651},"European Commission: AI Act regulatory framework and timeline","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Fpolicies\u002Fregulatory-framework-ai",{"title":653,"url":654},"European Commission: Guidelines for providers of general-purpose AI models","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Fpolicies\u002Fguidelines-gpai-providers",{"title":656,"url":657},"European Commission: Q&A on the guidelines for GPAI providers","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Ffaqs\u002Fguidelines-obligations-general-purpose-ai-providers",{"title":659,"url":660},"European Commission: The General-Purpose AI Code of Practice","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Fpolicies\u002Fcontents-code-gpai",{"title":662,"url":663},"European Commission: AI literacy Questions and Answers","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Ffaqs\u002Fai-literacy-questions-answers",{"title":665,"url":666},"AI Act Article 25: Responsibilities along the AI value chain","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F25\u002F",{"title":668,"url":669},"AI Act Article 26: Obligations of deployers of high-risk AI systems","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F26\u002F",{"title":671,"url":672},"AI Act Article 27: Fundamental rights impact assessment","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F27\u002F",{"title":674,"url":675},"AI Act Article 53: Obligations for providers of general-purpose AI models","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F53\u002F",{"title":677,"url":678},"AI Act Article 99: Penalties","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F99\u002F",{"title":680,"url":681},"AI Act Article 101: Fines for providers of general-purpose AI models","https:\u002F\u002Fartificialintelligenceact.eu\u002Farticle\u002F101\u002F",{"title":683,"url":684},"Gibson Dunn: EU AI Act Omnibus Agreement, postponed high-risk deadlines (27 May 2026)","https:\u002F\u002Fwww.gibsondunn.com\u002Feu-ai-act-omnibus-agreement-postponed-high-risk-deadlines-and-other-key-changes\u002F",{"title":686,"url":687},"Orrick: EU AI Act Update, Digital Omnibus finalizes 8 compliance changes (29 July 2026)","https:\u002F\u002Fwww.orrick.com\u002Fen\u002FInsights\u002F2026\u002F07\u002FEU-AI-Act-Update-Digital-Omnibus-Finalizes-8-Compliance-Changes",{"title":689,"url":690},"K&L Gates: EU Digital Omnibus on AI enters into force (31 July 2026)","https:\u002F\u002Fwww.klgates.com\u002FEU-Digital-Omnibus-on-AI-Enters-Into-Force-7-31-2026","\u002Fimages\u002Fblog\u002Feu-ai-act-gpai-high-risk-2026\u002Fcover.webp","\u002Fimages\u002Fblog\u002Feu-ai-act-gpai-high-risk-2026\u002Fog.jpg",[100,101,102],"EU AI Act jenseits von Artikel 50: GPAI, Hochrisiko-Fristen und To-dos","Der AI Act nach dem Digital Omnibus: GPAI-Pflichten, Hochrisiko-Fristen (2.12.2027 und 2.8.2028), Anbieter vs. Betreiber bei OpenAI- und Anthropic-APIs, KI-Kompetenz.","Diagramm: die AI-Act-Zeitleiste von Februar 2025 bis August 2028, aufgefächert in GPAI-Pflichten, Hochrisiko-Systeme, Anbieter- und Betreiberrollen und KI-Kompetenz.",{"slug":698,"published":699,"minutes":700,"category":7,"tags":701,"keywords":707,"about":717,"sources":726,"cover":757,"og":758,"expertise":98,"locales":759,"lang":101,"title":760,"description":761,"coverAlt":762},"prompt-injection-lethal-trifecta-patterns","2026-09-27",9,[702,703,704,705,706],"Prompt injection","AI agent security","Lethal trifecta","Design patterns","Red teaming",[708,709,703,710,711,712,713,714,715,716],"prompt injection","lethal trifecta","indirect prompt injection","dual LLM pattern","prompt injection design patterns","how to prevent prompt injection in AI agents","agents rule of two","prompt injection egress allowlist","OWASP agentic top 10 goal hijack",[718,720,723],{"name":702,"url":719},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_injection",{"name":721,"url":722},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":724,"url":725},"OWASP","https:\u002F\u002Fowasp.org\u002F",[727,730,733,736,739,742,745,748,751,754],{"title":728,"url":729},"Simon Willison: The lethal trifecta for AI agents","https:\u002F\u002Fsimonwillison.net\u002F2025\u002FJun\u002F16\u002Fthe-lethal-trifecta\u002F",{"title":731,"url":732},"Design Patterns for Securing LLM Agents against Prompt Injections","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.08837",{"title":734,"url":735},"Simon Willison: Design patterns for securing LLM agents (summary)","https:\u002F\u002Fsimonwillison.net\u002F2025\u002FJun\u002F13\u002Fprompt-injection-design-patterns\u002F",{"title":737,"url":738},"Simon Willison: The Dual LLM pattern","https:\u002F\u002Fsimonwillison.net\u002F2023\u002FApr\u002F25\u002Fdual-llm-pattern\u002F",{"title":740,"url":741},"Defeating Prompt Injections by Design (CaMeL)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2503.18813",{"title":743,"url":744},"The Attacker Moves Second","https:\u002F\u002Farxiv.org\u002Fabs\u002F2510.09023",{"title":746,"url":747},"Meta: Agents Rule of Two","https:\u002F\u002Fai.meta.com\u002Fblog\u002Fpractical-ai-agent-security\u002F",{"title":749,"url":750},"Anthropic: How we contain Claude","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fhow-we-contain-claude",{"title":752,"url":753},"Claude Code documentation: Sandboxing","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsandboxing",{"title":755,"url":756},"promptfoo: OWASP Top 10 for Agentic Applications","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fred-team\u002Fowasp-agentic-ai\u002F","\u002Fimages\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns\u002Fog.jpg",[100,101,102],"Prompt Injection abwehren: lethal trifecta und sechs Designmuster","Warum sich Prompt Injection nicht filtern lässt: das lethal trifecta, sechs Designmuster, Egress-Regeln und eine Red-Team-Checkliste für KI-Agenten.","Schilddiagramm mit Ringen für Egress-Kontrolle, Datenscope und Musterwahl um einen mit trifecta beschrifteten Kern, gebrochen",{"slug":764,"published":699,"minutes":765,"category":7,"tags":766,"keywords":772,"about":781,"sources":792,"cover":813,"og":814,"expertise":98,"locales":815,"lang":101,"title":816,"description":817,"coverAlt":818},"mcp-server-security-checklist",10,[767,768,769,770,771],"MCP security","Tool poisoning","MCP OAuth","Supply chain","Audit logs",[767,773,774,775,769,776,777,778,779,780],"MCP server security","MCP tool poisoning","MCP rug pull","MCP vulnerabilities","how to secure an MCP server","MCP authorization RFC 9207","NSA MCP guidance","MCP audit logging",[782,785,787,790],{"name":783,"url":784},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",{"name":786,"url":561},"OAuth 2.0",{"name":788,"url":789},"OpenTelemetry","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",{"name":724,"url":791},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOWASP",[793,796,799,802,805,808,811],{"title":794,"url":795},"Invariant Labs: MCP Security Notification – Tool Poisoning Attacks (1 April 2025)","https:\u002F\u002Finvariantlabs.ai\u002Fblog\u002Fmcp-security-notification-tool-poisoning-attacks",{"title":797,"url":798},"OWASP: Top 10 for Agentic Applications for 2026 (9 December 2025)","https:\u002F\u002Fgenai.owasp.org\u002Fresource\u002Fowasp-top-10-for-agentic-applications-for-2026\u002F",{"title":800,"url":801},"MCP specification 2026-07-28: changelog (SEP-2468, SEP-2352, SEP-414)","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fmodelcontextprotocol\u002Fblob\u002Fmain\u002Fdocs\u002Fspecification\u002F2026-07-28\u002Fchangelog.mdx",{"title":803,"url":804},"RFC 9207: OAuth 2.0 Authorization Server Issuer Identification","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc9207",{"title":806,"url":807},"NSA: Model Context Protocol (MCP) – Security Design Considerations for AI-Driven Automation (May 2026)","https:\u002F\u002Fmedia.defense.gov\u002F2026\u002FJun\u002F02\u002F2003943289\u002F-1\u002F-1\u002F0\u002FCSI_MCP_SECURITY.PDF",{"title":809,"url":810},"Reed Smith: NSA publishes security guidance on designing AI systems with MCP (4 June 2026)","https:\u002F\u002Fwww.reedsmith.com\u002Four-insights\u002Fblogs\u002Fviewpoints\u002F102mvg9\u002Fnsa-publishes-security-guidance-on-designing-ai-systems-with-model-context-protoc\u002F",{"title":812,"url":750},"Anthropic: How we contain Claude across products (25 May 2026)","\u002Fimages\u002Fblog\u002Fmcp-server-security-checklist\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-server-security-checklist\u002Fog.jpg",[100,101,102],"MCP-Sicherheits-Checkliste: Tool-Poisoning, Rug Pulls und OAuth","MCP-Sicherheits-Checkliste: Bedrohungsmodell, Tool-Poisoning, Rug Pulls, RFC-9207-Issuer-Prüfung, Credentials pro Issuer, Tokens mit engem Scope und Audit-Logs.","Konzentrische Ringe von außen nach innen: NSA-Richtlinie, OWASP-Agentikrisiken, an den Issuer gebundene Credentials, gepinnte Tool-Definitionen und ein Token mit engem Scope im Kern",1791009037575]