[{"data":1,"prerenderedAt":669},["ShallowReactive",2],{"tool-guardrails-ai-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":21,"sources":31,"cover":59,"og":60,"expertise":61,"locales":62,"lang":64,"title":66,"description":67,"coverAlt":68,"url":69,"pricing":70,"kind":10,"metaTitle":71,"takeaways":72,"faq":78,"toc":91,"blocks":116,"others":464},"guardrails-ai","2026-09-29",10,"security",[9,10,11,12],"Guardrails","Output validation","LLM reliability","Python",[14,15,16,17,18,19,20],"guardrails ai","guardrails ai validators","llm output validation python","guardrails vs nemo guardrails","guardrails on_fail actions","llm guardrails framework","pii validation llm output",[22,25,28],{"name":23,"url":24},"NVIDIA","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNVIDIA",{"name":26,"url":27},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",{"name":29,"url":30},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[32,35,38,41,44,47,50,53,56],{"title":33,"url":34},"Guardrails AI on GitHub: README, news and FAQ","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails",{"title":36,"url":37},"guardrails-ai 0.11.0 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fguardrails-ai\u002F",{"title":39,"url":40},"Guardrails Hub: 65 validators","https:\u002F\u002Fwww.guardrailsai.com\u002Fhub",{"title":42,"url":43},"Guardrails documentation: error remediation and on-fail actions","https:\u002F\u002Fwww.guardrailsai.com\u002Fdocs\u002Fconcepts\u002Ferror_remediation",{"title":45,"url":46},"Guardrails documentation: use on-fail actions","https:\u002F\u002Fwww.guardrailsai.com\u002Fguardrails\u002Fdocs\u002Fhow-to-guides\u002Fuse_on_fail_actions",{"title":48,"url":49},"Migration issue 1560: moving off hosted remote inferencing","https:\u002F\u002Fgithub.com\u002Fguardrails-ai\u002Fguardrails\u002Fissues\u002F1560",{"title":51,"url":52},"NVIDIA NeMo Guardrails on GitHub","https:\u002F\u002Fgithub.com\u002FNVIDIA-NeMo\u002FGuardrails",{"title":54,"url":55},"NVIDIA NeMo Guardrails documentation","https:\u002F\u002Fdocs.nvidia.com\u002Fnemo\u002Fguardrails\u002Flatest\u002Findex.html",{"title":57,"url":58},"OpenAI API pricing, including moderation","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing","\u002Fimages\u002Fblog\u002Fguardrails-ai\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fguardrails-ai\u002Fog.jpg","ai-engineer",[63,64,65],"en","de","hu","Guardrails AI: prüfen, was das Modell zurückgibt","Ein Test von Guardrails AI: 65 Validatoren, acht on-fail-Aktionen, das Ende der gehosteten Inferencing im August 2026 und wann NeMo Guardrails besser passt.","Covergrafik von Guardrails AI mit Validierungs-Pipeline-Labels","https:\u002F\u002Fwww.guardrailsai.com","Apache-2.0","Guardrails AI: Ausgabeprüfung für LLMs · Balázs Csorba",[73,74,75,76,77],"Der Hub liefert 65 Validatoren als eigene guardrails-ai-Pakete, und jeder Validator erklärt eine von acht Fehleraktionen, von noop bis refrain.","Nur noop und exception funktionieren bei Stream-Ausgaben; reask, fix, fix_reask, filter und refrain brauchen die vollständige Ausgabe.","Die gehostete Remote-Inferencing wurde zum 25. August 2026 abgeschaltet; das Framework läuft danach vollständig lokal.","Reask ist ein zweiter vollständiger Modellaufruf pro Versuch, also ist die Lizenz Apache-2.0, aber die Wiederholungsschleife wächst mit der Fehlerrate.","OpenAI führt omni-moderation-latest als kostenlos, deshalb muss der Fall für Guardrails auf Regeln, Struktur und Protokoll stehen, nicht auf Moderation allein.",[79,82,85,88],{"q":80,"a":81},"Ist Guardrails AI kostenlos?","Framework und Validatoren stehen unter Apache-2.0 und lassen sich ohne Lizenzgebühr über PyPI installieren. Kosten entstehen dort, wo Validatoren etwas aufrufen: ein LLM-Validator kostet pro Antwort einen zusätzlichen Modellaufruf, und reask erzeugt den Antworttext für jeden Versuch komplett neu.",{"q":83,"a":84},"Was passiert, wenn ein Validator fehlschlägt?","Der Fehler wird in guard.history geschrieben, danach läuft die on-fail-Aktion des Validators: noop protokolliert und gibt den Wert durch, exception wirft eine Ausnahme, fix repariert, etwa durch Anonymisieren von personenbezogenen Daten, reask fragt das Modell erneut, filter verwirft das fehlerhafte Feld, refrain gibt nichts zurück, und eine eigene Funktion erhält Wert und Fehlerergebnis.",{"q":86,"a":87},"Funktioniert es mit Streaming-Ausgaben?","Nur noop und exception sind als streaming-kompatibel dokumentiert. reask, fix, fix_reask, filter und refrain brauchen die vollständige Ausgabe, ein Token-Strom muss also zuerst gepuffert werden.",{"q":89,"a":90},"Guardrails AI oder NVIDIA NeMo Guardrails?","Guardrails ist eine Python-Bibliothek von Validatoren um einen Aufruf, den es bereits gibt; NeMo ist eine Laufzeit, die den Gesprächsfluss mit YAML-Regeln und Colang-Dialogen übernimmt. Das erste fügt sich in bestehenden Code ein, das zweite ersetzt einen Teil davon.",[92,95,98,101,104,107,110,113],{"id":93,"title":94},"what-it-is","Was es wirklich ist",{"id":96,"title":97},"how-it-works","So funktioniert es",{"id":99,"title":100},"error-handling","Wenn ein Validator fehlschlägt",{"id":102,"title":103},"getting-started","Erste Schritte",{"id":105,"title":106},"cost","Kosten",{"id":108,"title":109},"where-it-shingles","Wo es schwächelt",{"id":111,"title":112},"verdict","Fazit",{"id":114,"title":115},"sources","Quellen",[117,121,130,133,141,176,177,184,193,196,197,200,278,281,282,285,287,290,299,300,303,329,332,338,339,342,389,392,393,396,409,418,424,425],{"type":118,"content":119},"paragraph",[120],"Guardrails AI ist ein Open-Source-Framework für Python, das prüft, was ein Modell zurückgibt, bevor eine Anwendung darauf handelt. Die Validatoren liegen in einem Hub aus 65 Paketen, jedes legt fest, was beim Fehlschlag passiert: Ausnahme, Reparatur, erneute Anfrage, Filtern oder keine Rückgabe. Das Projekt steht unter Apache-2.0, die Version 0.11.0 wurde am 14. August 2026 veröffentlicht, gesteuert wird es aus Python, JavaScript ist im README unterstützt.",{"type":118,"content":122},[123,124,129],"Es besetzt die Schicht zwischen einem LLM-Aufruf und dem Code, der dessen Ausgabe konsumiert, und dort entscheidet sich, ob ein durchgesickertes Systemprompt, eine Zusammenfassung mit personenbezogenen Daten oder ein defektes JSON beim Nutzer ankommt. Es konkurriert mit ",{"tag":125,"to":126,"children":127},"link","\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns",[128],"Mustern zur Prompt-Injection-Abwehr"," um dieselbe Stelle wie NVIDIA NeMo Guardrails, mit dem Moderations-Endpunkt von OpenAI als gehostete Abkürzung und mit den handgeschriebenen Prüfungen, die die meisten Teams bereits haben. Die hier vertretene Position: die vollständigste Validatoren-Bibliothek des Feldes, deren Fehlermodell besser konstruiert ist als sein Betriebsmodell, bei dem der kostenlose Teil die Software ist und der teure Teil die Wiederholungen.",{"type":131,"level":132,"id":93,"text":94},"heading",2,{"type":118,"content":134},[135,136,140],"Die Arbeitseinheit ist ein Guard: eine geordnete Liste von Validatoren, die entweder auf die ausgehenden Nachrichten angewendet wird, mit ",{"tag":137,"children":138},"code",[139],"on=\"messages\"",", oder auf die Antwort. Die Validatoren kommen aus dem Hub und installieren als eigene PyPI-Pakete, eine Deployment führt also nur die Prüfungen aus, die es auch nutzt. Manche sind Regeln wie Regex, Länge und JSON-lesbarkeit, manche laufen als kleines lokales Modell, und manche rufen ein zweites LLM auf, um das erste zu bewerten.",{"type":142,"ordered":143,"items":144},"list",false,[145,151,156,161,166,171],[146,150],{"tag":147,"children":148},"strong",[149],"Hub. ","65 Validatoren, gruppiert nach Risiko: Markenrisiko, Formatierung, Etikette, Jailbreaking, Datenabfluss, Code-Exploits und Faktizität.",[152,155],{"tag":147,"children":153},[154],"Paketierung. ","Jeder Validator ist ein eigenes Paket, das nach guardrails configure installiert wird, etwa guardrails-ai-regex-match oder guardrails-ai-detect-pii.",[157,160],{"tag":147,"children":158},[159],"Zwei Richtungen. ","Guards laufen auf den Nachrichten vor dem Aufruf und auf der Modellausgabe danach, und dasselbe Guard-Objekt kann beides.",[162,165],{"tag":147,"children":163},[164],"Strukturierte Generierung. ","Guard.for_pydantic steuert das Modell gegen eine Pydantic-Klasse und prüft das geparste Objekt, per Function Calling wo das Modell es kann und über Prompt-Vorlagen wo nicht.",[167,170],{"tag":147,"children":168},[169],"Lizenz und Version. ","Apache-2.0, Python 3.10 bis 3.13, Version 0.11.0 vom 14. August 2026, mit rund 7.500 Sternen auf GitHub.",[172,175],{"tag":147,"children":173},[174],"Servermodus. ","guardrails start startet einen Flask-Dienst, der jeden Guard hinter einer OpenAI-kompatiblen Basis-URL ausliefert, ein bestehender Client ändert damit nur eine Zeichenkette.",{"type":131,"level":132,"id":96,"text":97},{"type":118,"content":178},[179,180,183],"Die Validierung ist standardmäßig synchron: die Rohausgabe hinein, jeder Validator der Reihe nach, jeder Fehler wird an ",{"tag":137,"children":181},[182],"guard.history.last.failed_validations"," angehängt, und die on-fail-Aktion dieses Validators entscheidet, was den Guard verlässt. Die Aktion wird pro Validator statt pro Guard gesetzt, ein Guard kann also bei personenbezogenen Daten eine Ausnahme werfen und bei einem Formatfehler nur protokollieren. reask baut einen Prompt mit dem gescheiterten Kriterium neu auf und fragt das Modell erneut, bis zur Grenze num_reasks.",{"type":185,"attrs":186,"inner":190,"caption":191},"diagram",{"viewBox":187,"role":188,"aria-labelledby":189},"0 0 720 300","img","guardrails-d1-t guardrails-d1-d","\u003Ctitle id=\"guardrails-d1-t\">Guardrails AI: ein geschützter Modellaufruf\u003C\u002Ftitle>\u003Cdesc id=\"guardrails-d1-d\">Nachrichten laufen durch einen Input-Guard, das Modell antwortet, die Antwort läuft durch einen Output-Guard, und jeder Validierungsfehler wird protokolliert und an eine von acht on-fail-Aktionen weitergereicht, von denen nur noop und exception mit Streaming funktionieren.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Guardrails AI: ein geschützter Modellaufruf\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">guardrailsai.com docs\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"56\" class=\"d-label\">EIN GESCHÜTZTER ABRUF\u003C\u002Ftext>\u003Crect x=\"20\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Nachrichten\u003C\u002Ftext>\u003Ctext x=\"80\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">Nutzereingabe\u003C\u002Ftext>\u003Cpath d=\"M140 102 H152\" class=\"d-line\" \u002F>\u003Cpath d=\"M160 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"160\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"220\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Input-Guard\u003C\u002Ftext>\u003Ctext x=\"220\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">on=messages\u003C\u002Ftext>\u003Cpath d=\"M280 102 H292\" class=\"d-line\" \u002F>\u003Cpath d=\"M300 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"300\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"360\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Modell\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">beliebiger Anbieter\u003C\u002Ftext>\u003Cpath d=\"M420 102 H432\" class=\"d-line\" \u002F>\u003Cpath d=\"M440 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"440\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"500\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Output-Guard\u003C\u002Ftext>\u003Ctext x=\"500\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">65 Validatoren\u003C\u002Ftext>\u003Cpath d=\"M560 102 H572\" class=\"d-line\" \u002F>\u003Cpath d=\"M580 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"580\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"640\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Rückgabe\u003C\u002Ftext>\u003Ctext x=\"640\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">geprüft\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"172\" class=\"d-label\">WENN EIN VALIDATOR FEHLSCHLÄGT\u003C\u002Ftext>\u003Cpath d=\"M470 134 C470 162 185 160 185 176\" class=\"d-line\" \u002F>\u003Cpath d=\"M185 186 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Cpath d=\"M530 134 C530 162 535 160 535 176\" class=\"d-line\" \u002F>\u003Cpath d=\"M535 186 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"20\" y=\"186\" width=\"330\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"185\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">on-fail-Aktion\u003C\u002Ftext>\u003Ctext x=\"185\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">Ausnahme, Reparatur, reask\u003C\u002Ftext>\u003Crect x=\"370\" y=\"186\" width=\"330\" height=\"64\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"535\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">guard.history\u003C\u002Ftext>\u003Ctext x=\"535\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">failed_validations\u003C\u002Ftext>",[192],"on-fail wird pro Validator statt pro Guard gesetzt, ein Guard kann also bei personenbezogenen Daten eine Ausnahme werfen und bei einem Formatfehler nur protokollieren.",{"type":118,"content":194},[195],"Da Fehler unabhängig davon protokolliert werden, ob sie den Ablauf stoppen, liefert auch ein Guard auf noop eine Prüfspur, und noop ist ohnehin die Voreinstellung. Bei Aufrufen an einen Anbieter wiederholt das Framework Verbindungsfehler, Ratenlimits und Zeitüberschreitungen mit exponentiellem Backoff bis zu einer Wartezeit von sechzig Sekunden, ein Anbieterausfall erscheint damit als Latenz im Guard und nicht als sofortige Ausnahme.",{"type":131,"level":132,"id":99,"text":100},{"type":118,"content":198},[199],"Acht Aktionen stehen zur Verfügung, und sie sind die eigentliche Schnittstelle dieses Tools, mehr als die Validatorenliste. Die Dokumentationstabelle markiert, welche davon gegen eine Streaming-Ausgabe funktionieren, und diese Spalte entscheidet mehr Architekturfragen als die Feature-Liste.",{"type":201,"head":202,"rows":211},"table",[203,205,207,209],[204],"Aktion",[206],"Was sie tut",[208],"Streaming",[210],"Einsatzort",[212,221,229,238,246,254,262,270],[213,215,217,219],[214],"noop",[216],"Protokolliert den Fehler und gibt die Ausgabe unverändert zurück; das ist die Voreinstellung",[218],"Ja",[220],"Messen, wie oft Prüfungen scheitern",[222,224,226,227],[223],"exception",[225],"Wirft eine Ausnahme, damit der Aufrufer den Fehler behandelt",[218],[228],"Eingabevalidierung und strenge Pipelines",[230,232,234,236],[231],"reask",[233],"Baut den Prompt mit dem gescheiterten Kriterium neu auf und fragt das Modell erneut",[235],"Nein",[237],"Weiche Fehler, die ein zweiter Durchgang behebt",[239,241,243,244],[240],"fix",[242],"Wendet den Reparaturwert des Validators an, etwa anonymisierte personenbezogene Daten",[235],[245],"Scrubbing und Formatkorrekturen",[247,249,251,252],[248],"fix_reask",[250],"Repariert zuerst und fragt erneut, wenn der reparierte Wert weiterhin fehlschlägt",[235],[253],"Reparaturen, die unvollständig bleiben können",[255,257,259,260],[256],"filter",[258],"Verwirft das fehlerhafte Feld und gibt den Rest des strukturierten Objekts zurück",[235],[261],"Strukturierte Daten mit optionalen Feldern",[263,265,267,268],[264],"refrain",[266],"Gibt nichts zurück, wenn die Ausgabe nicht ausgeliefert werden darf",[235],[269],"Inhalt, der Nutzer nicht erreichen darf",[271,273,275,276],[272],"custom",[274],"Führt eine eigene Funktion über Wert und Fehlerergebnis aus",[235],[277],"Richtlinien, die bereits im Code stehen",{"type":118,"content":279},[280],"Der mutige Teil: reask ist die beworbene Funktion und die, die man sorgfältig budgetieren muss, denn jeder reask ist eine zweite vollständige Generierung zum selben Satz wie die erste, und er multipliziert sich mit der Fehlerrate statt mit dem Traffic. Die Dokumentation selbst weist komplexe Fälle von reask weg und empfiehlt einen ansatzbasierten Ansatz, sobald die Fälle wachsen, weil eine Ausnahme einem Handler erlaubt, je nach gescheitertem Validator zu verzweigen, statt das still zurückgegebene Ergebnis von reask zu interpretieren.",{"type":131,"level":132,"id":102,"text":103},{"type":118,"content":283},[284],"Die Installation besteht aus dem Kernpaket und den Validatoren, die der Guard braucht, danach richtet guardrails configure die Zugangsdaten ein. Ein Guard entsteht im Code, nicht in einer Konfigurationsdatei, dadurch steht die Fehleraktion neben der Prüfung, zu der sie gehört.",{"type":137,"code":286},"# pip install guardrails-ai guardrails-ai-detect-pii\nfrom guardrails import Guard, OnFailAction\nfrom guardrails_ai.detect_pii import DetectPII\n\nguard = Guard().use(\n    DetectPII(pii_entities=\"pii\", on_fail=OnFailAction.FIX)\n)\n\nresult = guard.validate(\n    \"Hello, my name is John Doe and my email is john.doe@example.com\"\n)\n\nprint(result.validation_passed)   # True once the scrub lands\nprint(result.validated_output)    # \u003CPERSON> and \u003CEMAIL_ADDRESS>",{"type":118,"content":288},[289],"Für Aufrufer ohne Python bedient guardrails start jeden Guard an einer Basis-URL der Form localhost:8000\u002Fguards\u002F\u003Cname>\u002Fopenai\u002Fv1\u002F, ein bestehender OpenAI-Client zeigt darauf hin, ohne neues SDK. Das README nennt zusätzlich JavaScript als unterstützt, wobei das Python-Paket die Referenzimplementierung bleibt.",{"type":291,"variant":292,"title":293,"body":294},"callout","warn","Der gehostete Weg endete im August 2026",[295,297],[296],"Das Projekt kündigte am 6. Juli 2026 an, die gehostete Remote-Inferencing abzuschalten, mit einem geplanten Stichtag am 25. August 2026, und Validatoren auf Standard-PyPI-Pakete umzustellen, die direkt mit pip installiert werden. Alles, was sich auf den gehosteten Inferencing-Dienst stützte, musste bis zu diesem Datum über Issue 1560 migrieren.",[298],"Nach dem Stichtag läuft das Framework vollständig lokal, was der vorhersehbarere Betriebsmodus ist, gleichzeitig verbrauchen die ML-Validatoren jetzt Speicher und CPU des eigenen Deployings statt eines Anbieter-Endpunkts.",{"type":131,"level":132,"id":105,"text":106},{"type":118,"content":301},[302],"Die Software ist im strengen Sinne kostenlos: Apache-2.0 deckt das Framework und jeden Hub-Validator, und zwischen Installation und Validierung steht nichts Abrechenbares. Die Rechnung entsteht woanders, bei dem, was die Validatoren unterwegs aufrufen.",{"type":142,"ordered":143,"items":304},[305,310,315,320,325],[306,309],{"tag":147,"children":307},[308],"Lizenz. ","Apache-2.0 für Framework und Validatoren; es gibt keine bezahlte Stufe der Bibliothek selbst.",[311,314],{"tag":147,"children":312},[313],"LLM-Prüfungen. ","Validatoren wie llm_critic, provenance_llm und qa_relevance_llm_eval kosten pro Prüfung und Antwort einen zusätzlichen Modellaufruf.",[316,319],{"tag":147,"children":317},[318],"Reasks. ","Jeder reask ist eine vollständige Neugenerierung, und num_reasks legt fest, wie oft eine Antwort neu erzeugt werden darf, bevor der Guard aufgibt.",[321,324],{"tag":147,"children":322},[323],"Lokales ML. ","Validatoren wie detect_pii laufen mit Presidio im Prozess, ihr Preis ist Speicher und Latenz statt Tokens.",[326,328],{"tag":147,"children":327},[174],"Der optionale Flask-Dienst ist Infrastruktur, die das Deployment selbst betreibt, skaliert und absichert.",{"type":118,"content":330},[331],"Der Vergleich, der zählt, ist der gegen gehostete Moderation. OpenAI führt omni-moderation-latest auf der Preisseite als kostenlos, und NeMo Guardrails steht ebenfalls unter Apache-2.0, keiner der beiden Wettbewerber verlangt also eine Lizenz für dieselbe Aufgabe. Was Guardrails verkauft, ist Abdeckung: ein Moderations-Endpunkt beantwortet eine Frage zur Inhaltspolitik, der Hub kann im selben Durchgang auch Schema, Länge, Wettbewerbernennungen, Prompt-Leakage und Provenienz erzwingen.",{"type":291,"variant":333,"title":334,"body":335},"tip","Den Guard rechnen, nicht das Paket",[336],[337],"Kosten Sie einen Guard pro Antwort als Modellaufrufe der Validatoren plus Reask-Rate mal num_reasks mal Tokenkosten. Ein Moderations-Endpunkt, der nichts kostet, und eine Reask-Schleife, die eine zweite Generierung kostet, sind keine vergleichbaren Positionen, und die zweite wächst mit der Fehlerrate statt mit dem Traffic.",{"type":131,"level":132,"id":108,"text":109},{"type":118,"content":340},[341],"Die Schwächen sind betrieblicher Natur und zeigen sich nach der ersten Woche. Der Hub mischt eine Regex, ein BERT-Modell und einen LLM-Judge hinter einer Abstraktion, die Latenz unterscheidet sich also um Größenordnungen zwischen den Validatoren und die Dokumentation kennt keinen Latenzbudget-Wert pro Validator. Der Sprachfilter des Hubs listet nur Englisch. Die Streaming-Unterstützung endet bei noop und exception, was das Tool für Ausgabe Token für Token ausschließt, wenn die Antwort nicht vollständig gepuffert wird. Und die Abschaltung der gehosteten Inferencing im August 2026 war eine Breaking Change an einem Dienst, den einige Deployings aufgebaut hatten.",{"type":201,"head":343,"rows":352},[344,346,348,350],[345],"Merkmal",[347],"Guardrails AI",[349],"NVIDIA NeMo Guardrails",[351],"OpenAI Moderation API",[353,362,371,380],[354,356,358,360],[355],"Gestalt",[357],"Python-Bibliothek plus 65 Hub-Validatoren",[359],"YAML-Regeln und Colang-Dialoge",[361],"Ein gehosteter Endpunkt",[363,365,367,369],[364],"Lizenz",[366],"Apache-2.0, nach August 2026 vollständig lokal",[368],"Apache-2.0, optionale anonyme Telemetrie",[370],"Geschlossen, von OpenAI betrieben",[372,374,376,378],[373],"Konfiguration",[375],"Python-Code, on_fail pro Validator",[377],"Dateien in einem rails-Verzeichnis",[379],"Eine einzelne Moderationsanfrage",[381,383,385,387],[382],"Kosten pro Anfrage",[384],"Freie Software; LLM-Validatoren und Reasks werden separat berechnet",[386],"Freie Software; Rails können ein LLM aufrufen",[388],"omni-moderation-latest als kostenlos geführt",{"type":118,"content":390},[391],"Die dritte Alternative ist die, die die meisten Teams tatsächlich ausliefern: handgeschriebene Prüfungen um den Aufruf, eine if-Abfrage für das JSON-Parsing und ein Regex für alles, was wie eine Kontonummer aussieht. Das ist billiger als alle drei Zeilen oben und scheitert konstruktiv still, und genau dieser Fehlertyp ist der Grund für diese Kategorie. Der ehrliche Vergleich ist nicht Guardrails gegen NeMo, sondern Guardrails gegen das, was ein Team nachmittags schreibt und danach vergisst zu erweitern.",{"type":131,"level":132,"id":111,"text":112},{"type":118,"content":394},[395],"Einsetzen, wo eine schlechte Antwort Geld, Daten oder Glaubwürdigkeit kostet und wo die Aufzeichnung dessen, was fehlschlug, ebenso zählt wie der Fehler selbst. Das ist das vollständigste Validatorenkatalog unter freier Lizenz, und die Fehleraktion pro Validator ist ein besserer Entwurf als ein globaler Politikschalter. Die Kosten sind die jedes prüfenden Codes im Prozess: man betreibt ihn, man justiert ihn, und man zahlt für die Aufrufe, die die Validatoren auslösen.",{"type":142,"ordered":397,"items":398},true,[399,401,403,405,407],[400],"Verwenden, wenn eine Antwort den Dienst verlässt: personenbezogene Daten in einer Support-Zusammenfassung, SQL, das ein Nutzer ausführt, strukturierte Ausgabe, die ein anderer Dienst parst.",[402],"Verwenden, wenn eine Prüfspur verlangt wird, denn jeder Fehler landet in guard.history, und eine handgeschriebene Prüfung zeichnet sonst wenig auf.",[404],"NeMo Guardrails vorziehen, wenn es um Gesprächspolitik geht, etwa wann abgelehnt oder das Thema gewechselt wird, dafür sind Colang-Rails gebaut.",[406],"Den kostenlosen Moderations-Endpunkt vorziehen, wenn anstößiger Inhalt das einzige Risiko ist und ein Dependency es nicht wert ist.",[408],"Keine Streaming-Reparaturen erwarten: nur noop und exception reagieren auf eine Teilausgabe, also puffern oder die reparierenden Tools weglassen.",{"type":410,"content":411},"quote",[412,413,417],"Der Rat der Dokumentation, sobald ein Fall den einfachen Pfad verlässt, lautet: ",{"tag":414,"children":415},"em",[416],"as usecases get more complex, we recommend switching to an exception-based approach",". Ein Framework, das empfiehlt, seine Kopffunktion zu verlassen, sobald es schwierig wird, ist ehrlich darüber, wo diese Funktion hingehört.",{"type":291,"variant":419,"title":420,"body":421},"note","Eine Faustregel",[422],[423],"Einen Validator auf exception setzen, immer wenn ein Fehler einem Nutzer oder einem Log-Prüfer erklärt werden müsste, reask nur dort nutzen, wo ein zweiter Durchgang tatsächlich eine bessere Antwort ergibt, und diese Durchgänge vorher in die Rechnung nehmen, bevor sie in den Latenzgraphen kommen.",{"type":131,"level":132,"id":114,"text":115},{"type":142,"ordered":397,"items":426},[427,432,436,440,444,448,452,456,460],[428],{"tag":429,"href":34,"children":430},"a",[431],"Guardrails AI auf GitHub: README, News und FAQ",[433],{"tag":429,"href":37,"children":434},[435],"guardrails-ai 0.11.0 auf PyPI",[437],{"tag":429,"href":40,"children":438},[439],"Guardrails Hub: 65 Validatoren",[441],{"tag":429,"href":43,"children":442},[443],"Guardrails-Dokumentation: Fehlerbehandlung und on-fail-Aktionen",[445],{"tag":429,"href":46,"children":446},[447],"Guardrails-Dokumentation: on-fail-Aktionen nutzen",[449],{"tag":429,"href":49,"children":450},[451],"Migrations-Issue 1560: Weg von der gehosteten Inferencing",[453],{"tag":429,"href":52,"children":454},[455],"NVIDIA NeMo Guardrails auf GitHub",[457],{"tag":429,"href":55,"children":458},[459],"NVIDIA NeMo Guardrails-Dokumentation",[461],{"tag":429,"href":58,"children":462},[463],"OpenAI-API-Preise, einschließlich Moderation",[465,521,578,635],{"slug":466,"published":467,"minutes":6,"category":7,"tags":468,"keywords":474,"about":481,"sources":488,"cover":513,"og":514,"expertise":61,"locales":515,"lang":64,"title":516,"description":517,"coverAlt":518,"url":484,"pricing":519,"kind":520},"semgrep","2026-08-14",[469,470,471,472,473],"SAST","Static analysis","CI security","Rule authoring","AppSec",[466,475,476,477,478,479,480],"semgrep vs codeql","semgrep rules","semgrep pricing","semgrep pro engine","free sast tools","semgrep ci github actions",[482,485],{"name":483,"url":484},"Semgrep","https:\u002F\u002Fsemgrep.dev",{"name":486,"url":487},"Static application security testing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStatic_application_security_testing",[489,492,495,498,501,504,507,510],{"title":490,"url":491},"Semgrep pricing: Free, Teams and Enterprise","https:\u002F\u002Fsemgrep.dev\u002Fpricing\u002F",{"title":493,"url":494},"Semgrep Community Edition","https:\u002F\u002Fsemgrep.dev\u002Fproducts\u002Fcommunity-edition",{"title":496,"url":497},"Semgrep documentation: cross-file analysis","https:\u002F\u002Fdocs.semgrep.dev\u002Fsemgrep-code\u002Fsemgrep-pro-engine-intro\u002F",{"title":499,"url":500},"Semgrep documentation: usage and billing","https:\u002F\u002Fdocs.semgrep.dev\u002Fusage-and-billing\u002Foverview\u002F",{"title":502,"url":503},"Semgrep releases: v1.179.0","https:\u002F\u002Fgithub.com\u002Fsemgrep\u002Fsemgrep\u002Freleases",{"title":505,"url":506},"Semgrep Rules License v1.0","https:\u002F\u002Fsemgrep.dev\u002Flegal\u002Frules-license\u002F",{"title":508,"url":509},"Important updates to Semgrep OSS, 13 December 2024","https:\u002F\u002Fsemgrep.dev\u002Fblog\u002F2024\u002Fimportant-updates-to-semgrep-oss\u002F",{"title":511,"url":512},"OpenGrep repository","https:\u002F\u002Fgithub.com\u002Fopengrep\u002Fopengrep","\u002Fimages\u002Fblog\u002Fsemgrep\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemgrep\u002Fog.jpg",[63,64,65],"Semgrep: statische Analyse, die in einen Pull Request passt","Semgrep parst über 30 Sprachen und gleicht YAML-Muster in Sekunden ab, die Engine steht unter LGPL-2.1. Cross-file-Analyse, Regelsätze und KI-Triage liegen hinter den bezahlten Stufen.","Diagramm der Semgrep-Scan-Pipeline, von Quelldateien über Parsing und Regelabgleich bis zu gemeldeten Findings","Free · from $30 per seat","Static analysis with AI rules",{"slug":522,"published":523,"minutes":524,"category":7,"tags":525,"keywords":529,"about":538,"sources":544,"cover":569,"og":570,"expertise":61,"locales":571,"lang":64,"title":572,"description":573,"coverAlt":574,"url":575,"pricing":576,"kind":577},"lakera-guard","2026-08-04",9,[526,9,527,528],"Prompt injection","LLM security","Content moderation",[530,531,532,533,534,535,536,537],"lakera guard","lakera guard review","prompt injection filter","prompt injection detection","llm guardrails comparison","pint benchmark","check point ai guardrails","lakera pricing",[539,541],{"name":526,"url":540},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_injection",{"name":542,"url":543},"Check Point","https:\u002F\u002Fwww.checkpoint.com\u002F",[545,548,551,554,557,560,563,566],{"title":546,"url":547},"Lakera documentation: Guard API","https:\u002F\u002Fdocs.lakera.ai\u002Fdocs\u002Fapi\u002Fguard",{"title":549,"url":550},"Guard API endpoint reference","https:\u002F\u002Fdocs.lakera.ai\u002Fapi-reference\u002Flakera-api\u002Fguard\u002Fscreen-content",{"title":552,"url":553},"Lakera documentation: projects","https:\u002F\u002Fdocs.lakera.ai\u002Fdocs\u002Fprojects",{"title":555,"url":556},"Lakera documentation: self-hosting","https:\u002F\u002Fdocs.lakera.ai\u002Fdocs\u002Fselfhosting",{"title":558,"url":559},"Lakera platform pricing","https:\u002F\u002Fplatform.lakera.ai\u002Fpricing",{"title":561,"url":562},"PINT benchmark on GitHub","https:\u002F\u002Fgithub.com\u002Flakeraai\u002Fpint-benchmark",{"title":564,"url":565},"Lakera homepage","https:\u002F\u002Fwww.lakera.ai\u002F",{"title":567,"url":568},"Check Point press release on the Lakera acquisition","https:\u002F\u002Fwww.checkpoint.com\u002Fpress-releases\u002Fcheck-point-acquires-lakera-to-deliver-end-to-end-ai-security-for-enterprises\u002F","\u002Fimages\u002Fblog\u002Flakera-guard\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flakera-guard\u002Fog.jpg",[63,64,65],"Lakera Guard: Prompt-Injection-Filter an der Request-Grenze","Ein Test von Lakera Guard: ein Endpunkt vor dem Modell, die PINT-Benchmark-Ergebnisse dahinter und warum die Gratis-Stufe bei 10.000 Anfragen pro Monat endet.","Coverbild zum Lakera-Guard-Test: ein Filterschirm vor einem Sprachmodell","https:\u002F\u002Fwww.lakera.ai","Free tier · from $20 per month","Prompt injection filter",{"slug":579,"published":580,"minutes":6,"category":7,"tags":581,"keywords":586,"about":593,"sources":600,"cover":628,"og":629,"expertise":61,"locales":630,"lang":64,"title":631,"description":632,"coverAlt":633,"url":603,"pricing":70,"kind":634},"detect-secrets","2026-08-03",[582,583,584,585],"Secret scanning","Pre-commit","Git","DevSecOps",[579,587,588,589,590,591,592],"detect-secrets vs gitleaks","detect-secrets baseline","secret scanning tools comparison","gitleaks vs trufflehog","rotate leaked api keys","pre-commit secret hook",[594,597,599],{"name":595,"url":596},"Yelp","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FYelp",{"name":584,"url":598},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGit",{"name":26,"url":27},[601,604,607,610,613,616,619,622,625],{"title":602,"url":603},"Yelp\u002Fdetect-secrets: README and usage","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets",{"title":605,"url":606},"Yelp\u002Fdetect-secrets: CHANGELOG (v1.5.0, 6 May 2024)","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":608,"url":609},"Yelp\u002Fdetect-secrets: plugin and verification documentation","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets\u002Fblob\u002Fmaster\u002Fdocs\u002Fplugins.md",{"title":611,"url":612},"detect-secrets 1.5.0 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fdetect-secrets\u002F",{"title":614,"url":615},"Yelp\u002Fdetect-secrets: releases","https:\u002F\u002Fgithub.com\u002FYelp\u002Fdetect-secrets\u002Freleases",{"title":617,"url":618},"Gitleaks README (MIT, Go)","https:\u002F\u002Fgithub.com\u002Fgitleaks\u002Fgitleaks",{"title":620,"url":621},"TruffleHog README (AGPL-3.0, credential verification)","https:\u002F\u002Fgithub.com\u002Ftrufflesecurity\u002Ftrufflehog",{"title":623,"url":624},"GitHub Docs: About secret scanning","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcode-security\u002Fsecret-scanning\u002Fintroduction\u002Fabout-secret-scanning",{"title":626,"url":627},"betterleaks\u002Fbetterleaks","https:\u002F\u002Fgithub.com\u002Fbetterleaks\u002Fbetterleaks","\u002Fimages\u002Fblog\u002Fdetect-secrets\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdetect-secrets\u002Fog.jpg",[63,64,65],"detect-secrets: Secret Scanning mit eingecheckter Baseline","Was detect-secrets tut, wie sich seine eingecheckte Baseline von gitleaks und TruffleHog unterscheidet, warum Verifikationsaufrufe in der CI zählen und wo das Tool aufhört.","Diagramm: Dateien laufen durch Transformer, Plugins, Filter und Verifikation in eine JSON-Baseline, die dann das Pre-Commit-Gate und die Audit-Sitzung speist.","Secret detection",{"slug":636,"published":637,"minutes":524,"category":7,"tags":638,"keywords":640,"about":645,"sources":650,"cover":662,"og":663,"expertise":61,"locales":664,"lang":64,"title":665,"description":666,"coverAlt":667,"url":648,"pricing":70,"kind":668},"rebuff","2026-06-22",[526,527,9,639],"Canary tokens",[636,533,641,642,643,644],"rebuff python sdk","llm prompt injection guardrail","canary token leak detection","rebuff alternative",[646,649],{"name":647,"url":648},"Rebuff","https:\u002F\u002Fgithub.com\u002Fprotectai\u002Frebuff",{"name":29,"url":30},[651,653,656,659],{"title":652,"url":648},"Rebuff repository, archived 16 May 2025",{"title":654,"url":655},"Rebuff 0.1.1 on PyPI, released 20 January 2024","https:\u002F\u002Fpypi.org\u002Fproject\u002Frebuff\u002F",{"title":657,"url":658},"LangChain: Rebuff, detecting prompt injection attacks","https:\u002F\u002Fwww.langchain.com\u002Fblog\u002Frebuff",{"title":660,"url":661},"LLM Guard repository, archived 9 July 2026","https:\u002F\u002Fgithub.com\u002Fprotectai\u002Fllm-guard","\u002Fimages\u002Fblog\u002Frebuff\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frebuff\u002Fog.jpg",[63,64,65],"Rebuff: vier Schichten Prompt-Injection-Erkennung, inzwischen archiviert","Rebuff bewertete Prompts mit Heuristiken, einem LLM, einem Vektorstore früherer Angriffe und Canary-Tokens. Das Repository wurde im Mai 2025 archiviert, die letzte Version stammt von Januar 2024.","Diagramm des Rebuff-Erkennungspfads, vom eingehenden Prompt über Heuristiken, LLM-Check und Vektorsuche bis zum Ergebnis","Prompt injection detection",1791383550505]