[email protected]

Basics · Local AI for Business

AI Guardrails Compared: NeMo Guardrails, Llama Guard, Guardrails AI, LLM Guard and Presidio

Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual professional, legal or tax advice.

Keep an AI application measurable in operation? Managed LLMOps observes tracing, errors, cost and latency of an AI application (for example with Langfuse), uses evaluations and documents changes to prompt, model, provider and retrieval with a fallback path. From €1,990 excl. VAT per month (as of October 2026). See Managed LLMOps

Guardrails are check and control rules around a language model: they check inputs, outputs, retrieved content and tool calls against a policy. They are a layer next to permissions and architecture, not a replacement for them. The comparison of NeMo Guardrails, Llama Guard, Guardrails AI, LLM Guard and Presidio by licence, maintenance status, German, latency and integration follows below. As of October 2026. Four findings matter for the selection: LLM Guard is archived, Guardrails AI was acquired by Harvey in September, Llama Guard 4 is tied to a licence with an EU clause, and NeMo Guardrails sends telemetry by default.

Table of contents

What guardrails are and what they are not

Layer Task Example What it does not replace
Input check or modify requests injection classifier, masking of personal data permissions on the sources
Topics and dialog define the conversation frame topic restriction, fixed flows in Colang professional review of answers
Output check or modify answers moderation, schema, removal of personal data citation requirement and evaluation (RAG)
Tool call check calls and results parameter check before an action rights in the target system and approvals

NVIDIA draws the line itself in the security guidelines of NeMo Guardrails: the model is treated as a browser under the complete control of the user, its outputs as untrusted, and every invoked service is called in the context of the user. According to the runtime security FAQ, no single rail guarantees protection against every attack. Filters alone do not carry the load (Protection against prompt injection); the measures that do are described in AI agents: permissions and approvals and RAG with permissions.

The tools at a glance

Tool Type and licence Maintenance (28.10.2026) German Note
NeMo Guardrails (NVIDIA) framework with five rail types and Colang, Apache-2.0 active, v0.24.1 of 16.09.2026, Python 3.10 to 3.13 the check model determines the language, refusal messages of the content safety rails in 9 languages including German telemetry on by default
Llama Guard 3-8B and 4-12B (Meta) classifier for input and output, Llama Community License (3.1 and 4 respectively) Guard 3 since July 2024, Guard 4 since April 2025 (Hugging Face) yes, 8 languages including German (Guard 4 for text as well) Guard 4 natively multimodal, licence with EU clause
Llama Prompt Guard 2 (Meta) classifier for injection and jailbreak, 86M and 22M, Llama 4 Community License since April 2025 86M multilingual, 22M with a larger gap 512 tokens of context
Guardrails AI Python framework with validators, Apache-2.0 v0.11.0 of 14.08.2026, acquired by Harvey (announced 09.09.2026) per validator hub installer and hosted inference announced for shutdown in August 2026
LLM Guard (Protect AI) scanner library, MIT archived, no longer maintained per scanner unsuitable for new projects
Presidio detection and anonymisation of personal data, MIT active, 2.2.366 of 27.10.2026, community project English by default, German recognisers available originally Microsoft
Other open guard models gpt-oss-safeguard and Qwen3Guard-Gen (Apache-2.0), Nemotron Safety Guard 8B v3 (NVIDIA Open Model License, according to the model card additionally the Llama 3.1 Community License, based on Llama 3.1) model cards Qwen3Guard 119 languages, Nemotron 9 languages including German gpt-oss-safeguard reads the policy as text

Generative classifiers such as Llama Guard 3-8B and 4-12B are language models with 8 to 12 billion parameters; smaller variants such as Llama Guard 3-1B or Qwen3Guard-Gen-0.6B exist. Every call is an additional model run.

NeMo Guardrails in brief

NeMo Guardrails places rails between the application and the model. Input rails can reject or modify a request, for example to mask personal data. Dialog rails control in Colang which action or answer follows. Retrieval rails check retrieved passages, execution rails the inputs and outputs of tools, output rails the model's answer. A configuration without rails passes requests to the model unchanged. Colang 1.0 is the default, Colang 2.0 optional (README).

Four findings on maintenance, licence and outbound connections

LLM Guard is archived

The README of the repository states that the project and the associated Hugging Face models are no longer developed or maintained. The Open WebUI example pipeline depends on this library.

Guardrails AI was acquired by Harvey

Harvey announced the acquisition on 9 September 2026. Harvey's announcement contains no statement about the further development of the open-source framework. The repository remains under Apache-2.0 and had a push on 27.10.2026. According to the project's announcement of 6 July 2026, the hub installation procedure (guardrails hub install) with the private validator registry and the hosted remote inference were scheduled for shutdown on 25 August 2026 (the README speaks of a "planned cutoff"); the same text also names 6 August 2026 for the hosted inference. Whether the shutdown has taken place is not shown by the primary sources; the issue is still open on 28.10.2026. According to the migration guide, validators are standalone PyPI packages (pip install guardrails-ai-<name>, 50 of 64 at the time of the announcement), and models run locally (use_local=True) or at your own endpoint. guardrails configure enables anonymous metrics by default, and --disable-metrics switches them off (source code).

Llama Guard 4 and the EU clause

The Llama Guard 4 folder contains the Llama 4 Community License and the acceptable use policy. For multimodal Llama 4 models, the policy does not grant the rights under section 1(a) to individuals domiciled in, or companies with their principal place of business in, the EU; end users of a product or service that incorporates such a model are excepted. According to its model card, Llama Guard 4 is natively multimodal. Whether the clause covers operation as a guard model is for the legal department to assess before use (LLM licences). The same policy also ships with the text classifier Prompt Guard 2 (mDeBERTa base), which is not a multimodal model.

NeMo Guardrails sends telemetry

The README describes an anonymous ping to NVIDIA at start and periodically afterwards. The payload contains no prompts, completions, model names, endpoints or IP addresses, but the ping itself is an outbound connection. It can be switched off before start with NEMO_GUARDRAILS_NO_USAGE_STATS=1 or DO_NOT_TRACK=1. The documentation also notes: NIM containers need an NGC key to download, and examples use the hosted NVIDIA endpoint (NVIDIA Build), which according to the README is for evaluation and testing only, without confidential data or personal data. For the egress list see GDPR-compliant AI, question 5.

German, latency and integration

German

Meta evaluates Prompt Guard 2 on German, the 22M model with a larger gap. Llama Guard 3 supports German. In its default configuration, Presidio contains recognisers and models for English. For German you add a German NLP model for names and the German recognisers, for example for tax ID, identity card and insurance numbers. The example pipeline in the Open WebUI Pipelines project sets language to en and lists US entities, so it has to be adapted.

Latency

NVIDIA writes in its FAQ that there is no deployment-independent p50, p95 or throughput figure. Meta reports 92.4 ms (86M) and 19.3 ms (22M) per classification for Prompt Guard 2 on an A100 at 512 tokens. Levers according to the FAQ: parallel rails (rails.input.parallel, rails.output.parallel), speculative generation in IORails, which runs the input check in parallel with the response and discards the response if the check blocks, and stream_first: False for streaming, which checks outputs before delivery but costs latency.

Integration with LiteLLM and Open WebUI

LiteLLM runs guardrails from config.yaml in the modes pre_call, during_call, post_call and logging_only, with Presidio, Guardrails AI and other providers. The Generic Guardrail API (beta) connects your own service that answers BLOCKED, NONE or GUARDRAIL_INTERVENED. Assignment per API key, tag-based modes, model-level guardrails, dynamic parameters per call and blocking teams from changing guardrails require an Enterprise licence according to the documentation. In Open WebUI, Filter Functions implement the rules with inlet, request, stream and outlet. According to the documentation, enforcement belongs in request because it runs before every model call, including tool loops. An exception in inlet or in the first request call of a turn aborts the turn, whereas in outlet it is usually only logged. A filter runs as Python code on the server and can only be created by administrators. The Pipelines project itself advises against Pipelines for basic filters.

Decision aid

Task Building block Prerequisite
Mask personal data before the model Presidio, in the gateway or as a filter German NLP model, German recognisers, test with German cases
Detect injection as an additional layer Prompt Guard 2 (86M) split documents into 512-token segments
Moderate content Llama Guard 3-8B, Nemotron Safety Guard, Qwen3Guard, gpt-oss-safeguard licence per model, additional model run
Restrict topics, define a flow NeMo Guardrails (topic control, dialog rails, Colang) only if the flow needs rules, maintenance of the flows
Enforce the output format schema validation in code, Guardrails AI consider the project status
Limit tool rights not a guardrail: rights in the target system, tool catalogue, approval permission concept
Ground answers in sources RAG with citation requirement and evaluation Measuring RAG quality

Rule: one building block per task, each with test cases and a metric. Six points are checked before adoption:

  1. Licence: code, model weights and usage policy, not just the repository label.
  2. Maintenance: latest version, archival, owner of the project.
  3. Self-hosting and outbound connections: does everything run on your own infrastructure? Telemetry, model downloads, hosted endpoints, entered in the egress list.
  4. German: own test cases, not vendor statements.
  5. Latency: p50 and p95 of your own configuration on real traffic, including streaming.
  6. Failure behaviour: a decision whether a failed check opens or closes, tested with timeouts and errors.

Policy as code

The policy exists as text, the rules as configuration in the repository, the test cases next to them. Maintenance effort arises with thresholds and rules (false alarms), with test cases (new attack patterns, new data sources) and with dependencies (model and library versions, project status). NeMo Guardrails separates config.yml (models, active rails), Colang files (flows) and actions.py (custom checks); LiteLLM uses config.yaml. One possible layout, with the structure of config following the NeMo Guardrails README:

guardrails/
  POLICY.md           policy in text form, with version
  config/config.yml   models, active rails, thresholds
  config/*.co         Colang flows for topics and sequences
  config/actions.py   custom checks
  tests/cases.jsonl   attack, legitimate and German cases with expected result

Excerpt from the documentation for masking personal data:

rails:
  config:
    sensitive_data_detection:
      input:
        entities:
          - PERSON
          - EMAIL_ADDRESS
  input:
    flows:
      - mask sensitive data on input

The NVIDIA FAQ recommends versioning library, configuration, prompts, custom actions and external model versions together and releasing them only after a regression test, with staged rollout and rollback.

Policy line Rule Test cases Metric
No third-party personal data to external models masking before the model call German names, IBAN, tax ID, addresses hit rate per entity, false masking
Only topics from the list topic restriction cases on and off topic block rate, false block rate
No write action without approval not a guardrail: permission and approval step in the target system call with insufficient rights all cases rejected (blocking)

Testing guardrails

You test the configuration, not the tool: attack cases direct and indirect (instructions in documents and tool outputs), legitimate cases with technical terms and code, personal data cases and German cases. You measure the block rate for attacks and the false block rate for legitimate cases per category, with thresholds agreed in advance, as a gate on every change to model, library, configuration and prompt. NeMo Guardrails offers check() and nemoguardrails evaluate for this, garak (Apache-2.0) scans specifically for vulnerabilities, and Langfuse datasets keep the test set versioned.

The trade-off is shown by a study of the built-in guardrails of three cloud platforms (Unit 42, 2 June 2025) with 1,000 benign and 123 malicious prompts, with the filters at their strictest setting (percentages as stated in the study):

Platform Malicious prompts blocked at the input filter (of 123) Benign prompts blocked in error (of 1,000)
1 65 (53%) 1 (0.1%)
2 112 (91%) 6 (0.6%)
3 114 (92%) 131 (13.1%)

Similar detection rates (91 and 92 percent) come with very different false block rates (0.6 and 13.1 percent). The detection rate alone says little; both values belong in the same measurement. Rounding: 114 of 123 is arithmetically 92.7%, while the study states "approximately 92%". For platform 3 the running text of the study elsewhere gives 14.0% of benign prompts blocked in error, whereas table 1 and the calculation (131 of 1,000) give 13.1%. A regression test of your own configuration is not a penetration test.

Operation and monitoring with Langfuse

Every rail decision should be logged with rule name, version, result (in NeMo PASSED, MODIFIED or BLOCKED) and duration; according to the NVIDIA FAQ, the application adds the configuration version and the reason for the decision. Langfuse breaks down the latency of the checks within a trace; the documentation recommends using it to assess whether a check is worth the wait. Scores and annotation queues support sampling for false alarms. Personal data in traces can be redacted with masking. Failures of the check itself (timeout, error) are logged as their own event.

Our approach at WZ-IT

Managed LLMOps observes tracing, errors, latency and cost of an application, uses evaluations to make changes in quality visible, and documents changes to prompt, model, provider and retrieval with a fallback path. Essential covers one application with agreed trace and evaluation volumes and best-effort handling within the agreed service hours, from €1,990 excl. VAT per month. The measures that carry the load, permissions before the search and a narrow tool catalogue with approvals, are described in Protection against prompt injection. Prices excl. VAT, as of October 2026.

Status and methodology

  • Status: 28.10.2026. Licences, versions and maintenance status come from the LICENSE files, READMEs, releases and model cards of the repositories; the sources were retrieved on that day.
  • Not measured: There are no benchmarks of our own. Latency figures come from vendors (Meta); the Unit 42 detection rates concern cloud platforms (evaluation before 10 March 2025), not the tools compared here, and come from a vendor of security products.
  • Licences: The Llama licences have to be read per model. The model page of Llama Guard 3-8B names the Llama 3.1 Community License, while the folder in the repository contains licence texts of other Llama versions. Whether the EU clause applies to Llama Guard 4 is a legal question and is not decided here. This article is not legal advice.
  • Guardrails AI: The statements on the hub and inference follow the project's announcement (the dates there are inconsistent: 6 and 25 August 2026); whether the shutdown has taken place is not documented. Harvey's announcement contains no statement on its plans for the framework.

Further guides

Keep an AI application measurable in operation? Managed LLMOps makes quality, cost and latency of an AI application visible and documents changes with a fallback path. Managed LLMOps · LLM hosting

Rather have it operated?

You'd rather not run Local AI for Business yourself? WZ-IT handles setup, operations and maintenance - privacy-focused from Germany.

Enquiry

Assess local AI for your use case

Start with the AI Cube or have us assess a custom AI platform, knowledge connection, or integration.

  • Straight with Timo and Robin - no sales team, no pitch
  • A professional assessment of your situation
  • Concrete next steps for infrastructure, software or AI

The conversation is free and non-binding.

I got to know Timo and Robin as dedicated and professional partners who make a lot of things possible for their clients that initially seem impossible. I felt very well advised. The services offered have thoroughly convinced me. (translated)
Andrea PawlowskiCommunications Manager, Golem.de, Germany
Timo and Robin, founders of WZ-IT

Assess local AI for your use case

I got to know Timo and Robin as dedicated and professional partners who make a lot of things possible for their clients that initially seem impossible. I felt very well advised. The services offered have thoroughly convinced me. (translated)
Andrea PawlowskiCommunications Manager, Golem.de, Germany

Frequently Asked Questions

Answers to the most important questions

Knowledge

More on Local AI for Business

All Local AI for Business articles

Companies worldwide trust WZ-IT

  • Stadtwerke Brühl
  • DGHO e.V.
  • solarwerkstatt berlin
  • Krüger Dirndl
  • ABCO Water Systems
  • Golem.de
  • EVADXB
  • nextGYM
  • AInergy
  • ml&s
  • Odiseo Solutions
  • Annota
  • ARGE
  • SweetConnect GmbH
  • Aphy AG
  • CORGOS
  • Rekorder
  • SolidProof
  • Yonju
  • Keymate
  • Paritel
  • Mr. Clipart
  • Millenium
  • Negosh
  • Führerscheinmacher
  • BTI
  • Deutsche Gesellschaft für Datenschutz
Read client reviews