NeMo Guardrails vs LLM Guard

NeMo Guardrails is the maintained choice for new self-hosted LLM guardrails. LLM Guard was archived in July 2026, so existing deployments need a plan to move. This page explains the trade-offs.

On this page

Which guardrail should a regulated team choose for a new LLM application?

If your team is shortlisting self-hosted runtime guardrails for a new LLM application, NeMo Guardrails is the option to start from. It is licensed under Apache 2.0, it is developed in the NVIDIA-NeMo/Guardrails repository, and its v0.24.1 release arrived on September 16, 2026. LLM Guard was archived on July 9, 2026, and its README states that it is no longer under active development or maintained, so it receives no security fixes. For a regulated team, that alone rules it out for new work. Confirm the current release history and license file in your own review, because archived projects can change status and you want your evidence to match the day you sign off.

The one condition under which LLM Guard's catalog still matters is an existing deployment that must keep running while you migrate. LLM Guard documents 15 input scanners and 20 output scanners, including Prompt Injection, Secrets, Anonymize, Sensitive and Malicious URLs, and a team may depend on several of them today. Treat that deployment as a bounded risk. Inventory which scanners are in the request path, pin the versions you run, decide which controls need to be re-implemented, and set a dated cutover plan. Ask your implementation partner to document each scanner's replacement or compensating control so the migration does not quietly remove a check your auditors have already seen.

The decision turns on one question: is your risk a conversation policy problem or a content scanning problem? If you need to keep an assistant on approved topics, follow a defined dialog flow, or steer retrieval and tool use, NeMo Guardrails' Colang rails are built for that work, and you should plan for the effort of writing and reviewing policies in config.yml and Colang files. If your main exposure is malicious or sensitive text entering or leaving the model, a scanner-style control may match the problem more directly. Map your top risks against both models before you choose, and confirm each control in a test environment rather than relying on the product description.

Which platform fits which scenario

This table matches common team situations to the platform that fits them better, and names the condition under which the other option wins. Read each row as a starting point, then check it against your own traffic, team skills and existing deployments.

ScenarioBetter fit and reasonWhen the other option wins
New customer-facing chatbot needing topic and dialog controlNeMo Guardrails. Its Colang rails define allowed topics, dialog flows and off-topic handling, which is the core of this need.LLM Guard wins only if the main risk is content scanning of prompts and responses, not conversation scope.
Existing LLM Guard API server already in productionKeep the current deployment stable for now and plan a migration. LLM Guard is archived and receives no security fixes, so no new rollout is advised.Any team choosing a new platform should not start with LLM Guard. Confirm your own support and patching needs before any migration.
RAG assistant that needs retrieval railsNeMo Guardrails. It has a dedicated retrieval rail type for checking RAG chunks before they reach the model.LLM Guard wins if retrieved content only needs scanning for secrets, PII or invisible text, with no per-chunk dialog logic.
Pipeline that only scans prompts and responses for secrets or PIILLM Guard, for existing deployments only. Its input and output scanners cover Secrets and Anonymize, but its maintenance status is the main constraint.NeMo Guardrails is the better choice for new work, since it is maintained, though its scanning coverage must be verified against your exact PII and secret rules.
Team with no Python or Colang skillsNeither is a low-effort option. LLM Guard can be run as an API server, which may suit teams that only call an endpoint, but its archived status makes it a poor long-term base.NeMo Guardrails suits teams willing to learn Colang and Python, and it has a server with a /v1/chat/completions endpoint for teams that prefer calling an API.
Team that must keep a supported, Apache-2.0 or MIT stack for auditsNeMo Guardrails, since it is Apache-2.0 licensed and actively released, with v0.24.1 published on September 16, 2026.LLM Guard is MIT licensed, but its archive status means no new fixes, which usually weighs against it in an audit file.
Team that needs a quick scanner with minimal policy designLLM Guard, if the existing scanner set already matches your policy and the deployment is already running.NeMo Guardrails wins when policies must be written, reviewed and tested as a maintained configuration over time.

How NeMo Guardrails and LLM Guard sit in the request path

The two tools differ in where they run and who writes the rules. NeMo Guardrails wraps a model call in configured rails, while LLM Guard applies scanners to prompts and responses that your application calls directly. The cards below cover what each one means for the people who operate it.

NeMo Guardrails rail configuration

NeMo Guardrails is configured with a config.yml file, optional Python actions and Colang files. It provides input, dialog, retrieval, execution and output rails, so one configuration defines where checks run around the model call. Your team owns these files, which means policy changes go through code review and versioning like any other application code. Confirm which rail types your use case needs before you write Colang, since the Colang 1.0 default and the 2.x syntax differ.

NeMo Guardrails serving options

You can call NeMo Guardrails through its Python API inside your application, or run it as a guardrails server that loads configurations from a folder and exposes an HTTP API. The server includes a /v1/chat/completions endpoint, so clients that already speak the chat completions format can route through it. A Dockerfile is provided to build a server image. Check which configuration folder the container reads and how you promote changes between environments.

LLM Guard scanner library

LLM Guard is a library of 15 input scanners and 20 output scanners, covering items such as Prompt Injection, Secrets, Toxicity, Malicious URLs and JSON. Your application decides which scanners to call before and after each model request, so the scanning logic lives in application code rather than in a separate policy language. Because the project is archived, treat it as a component to maintain in place rather than one to adopt for new work.

LLM Guard deployment modes

LLM Guard can be installed with pip as a Python library or deployed as an API server. In either mode, your team owns the scanner selection, thresholds and the service that hosts them. Some scanners load models, so confirm where those model files are downloaded from, where they run and whether your air-gapped or restricted networks can reach them. Plan for the archived status when you decide how security fixes will reach your environment.

Who owns policy and models

With NeMo Guardrails, policy lives in Colang and config files that security or product teams can review, while optional self-check and safety models run wherever you configure them. With LLM Guard, policy lives in the calling code and each scanner's settings. In both cases, ask who approves changes to rules and who responds when a model dependency needs updating or fails.

Latency in your environment

Both tools add work to every request, and the cost depends on how many rails or scanners run, which models they call and where those models are hosted. This page does not publish latency figures. Build a test that sends representative prompts and responses through each configuration in your own environment, and record p95 latency with your chosen models and hardware before you commit to either design.

Capability and requirements, side by side

This table sets license, maintenance, detection scope, Python support, configuration and deployment for NeMo Guardrails and LLM Guard side by side. Read the maintenance and license rows first, since they decide whether a new rollout is worth considering at all. Where a capability is not covered by a researched source, the cell says what to confirm with the vendor or in your own environment.

CapabilityNeMo GuardrailsLLM Guard
LicenseApache 2.0MIT
Maintenance statusActive; v0.24.1 released September 16, 2026Archived July 9, 2026; no longer maintained or receiving security fixes
What it blocks or checksDialog and topic control, jailbreak and injection detection, self-check moderation, fact-checking and hallucination detection models15 input scanners (e.g., Anonymize, Prompt Injection, Secrets, Toxicity) and 20 output scanners (e.g., Sensitive, Malicious URLs, No Refusal)
Python support3.10, 3.11, 3.12 and 3.130.3.16 (last PyPI release, May 19, 2025) requires 3.10 or newer, below 3.13
Configuration modelconfig.yml with Colang 1.0 (default) or 2.0, plus optional Python actions; confirm migration effort for Colang 1.0 to 2.xScanner classes configured in Python code; confirm the exact configuration format in the archived documentation
Deployment optionsPython API, guardrails server with HTTP API and Dockerfile, plus a separate NVIDIA microservice for Kubernetes with HelmPython library installed with pip, or deployed as an API server; confirm container packaging with the maintainer's archived materials
Model dependenciesSome detectors use NVIDIA safety and topic models; confirm which models you need and their download and hosting requirementsSome scanners use models hosted on Hugging Face, which the archive notice says are no longer maintained; confirm model availability before any deployment

What the licenses and editions mean for your team

The open-source NeMo Guardrails library is licensed under Apache 2.0 and developed in the NVIDIA-NeMo/Guardrails repository on GitHub. Under that license, your engineers can install the library, modify it and run it inside your own cloud accounts, data centers or air-gapped networks. Your legal team reviews the license text, while your platform team carries the operating work. Because the library has no paid edition in the sources reviewed for this page, your recurring costs come from people and infrastructure, not from a license fee.

  • License scope: Apache 2.0 covers the library source. Read the LICENSE.md file for the exact terms that apply to the version you pin.
  • Version tracking: The latest release cited for this comparison is v0.24.1, published on September 16, 2026. Pin a version in your build and review the release notes before each upgrade.
  • Python runtime: The library supports Python 3.10, 3.11, 3.12 and 3.13, which sets the runtime your platform team must patch and maintain.
  • Engineering cost: Writing Colang flows, Python actions, tests and upgrades is staff time you fund. Any model or inference service you connect adds its own cost and its own terms.
  • Opt-in integrations: LangChain integration is off by default and enabled with the NEMOGUARDRAILS_LLM_FRAMEWORK=langchain environment variable, so turn it on only when your application needs it.

Before you commit, confirm that the Apache 2.0 license covers every bundled component and every third-party model you plan to call, since those can carry separate terms.

What drives running cost for each guardrail

The largest one-time cost for NeMo Guardrails is engineering time to write and review the policy: the config.yml file, Colang flows and any Python actions. Colang 1.0 is the default and Colang 2.x is also supported, so a team that starts on 1.0 should plan for NVIDIA's migration path, which uses the nemoguardrails convert tool and still requires manual review of the converted files. For LLM Guard, the one-time work is selecting from its 15 input and 20 output scanners, tuning thresholds per scanner and wiring the library or API server into your request path. Compute is a separate line item. Rails that call a model for self-check moderation, or that load NVIDIA's content safety models, add inference work to every request, while LLM Guard scanners load their own models. Ask each vendor which models load, where they run and how much memory they need.

Recurring cost is where the two options diverge most. LLM Guard was archived on July 9, 2026, so it receives no security fixes. Your team, or a provider you pay, must watch advisories, patch around the archive and plan a migration. The last PyPI release, 0.3.16 from May 19, 2025, requires Python 3.10 or newer but below 3.13, so you also carry the upkeep of an older interpreter in your build and hosting images. NeMo Guardrails supports Python 3.10 through 3.13, and version 0.24.1 was released on September 16, 2026, so its recurring cost is mainly regular upgrades and regression testing of your Colang behavior. Hosting the server or container is a recurring cost for both, and NVIDIA's microservice adds Kubernetes and Helm operations if you choose that route.

Before you sign a quote, ask for the scope of policies, including the number of rails, flows and languages covered. Ask for the test cases that will prove each rail blocks what it should, and whether those cases become a regression suite you keep. Ask how upgrades to the NeMo Guardrails release line and any Colang migration are handled and priced. Ask what support hours and response commitments are included, and whether they are a one-time engagement or a retainer. For LLM Guard, ask for a written plan to move off the archived dependency, including who owns the replacement guardrail and the monitoring for it. DeployOpen works from fixed, written scopes, so a quote should list each of these items as a deliverable with a clear owner.

Moving from LLM Guard to NeMo Guardrails

This sequence turns an existing LLM Guard deployment into a NeMo Guardrails configuration you can test side by side with production traffic before cutting over. It keeps the scanner settings you have already tuned and rebuilds only the policy logic that NeMo expresses differently.

  1. Inventory every enabled LLM Guard scanner

    The platform or security engineer who owns the current deployment lists each input and output scanner that runs in production, along with its threshold, its configuration values and the endpoint or application it protects. Include scanners called from application code as well as those in a gateway or API server, because these are easy to miss. Done means you have a single table with one row per scanner and the traffic path it sits on. Confirm the exact scanner names and versions against the LLM Guard documentation, since LLM Guard documents 15 input scanners and 20 output scanners and your deployment may use a subset.

  2. Map each scanner to a rail or a retained check

    For each row in the inventory, decide whether NeMo Guardrails covers the same risk with a built-in rail, a self-check or model-based check, or a custom action, or whether the check should stay outside NeMo as a retained scanner. Input and output scanners usually map to input and output rails, while behaviors such as topic restrictions map to dialog rails. The security architect signs off on the map, and the output is a document that marks each scanner as replaced, partly replaced or retained. Verify each NeMo capability against the current NeMo Guardrails documentation before you commit to it, because feature coverage differs between releases.

  3. Rebuild policies in config.yml and Colang

    The engineer who writes guardrail policy creates a NeMo configuration folder with a config.yml file, any Python actions, and Colang files that encode the mapped rules. Scanner thresholds and example prompts carry over as values in this step, but the policy logic (what triggers a block, what message the user sees, and how a refusal is phrased) is written again in NeMo's model. The output is a configuration that loads without errors in the Python API or the guardrails server. Choose a Colang version deliberately: Colang 1.0 is the default, and 2.0 is supported as well.

  4. Convert Colang 1.0 files only where 2.x is needed

    If the team chooses Colang 2.x for any rails, the engineer runs the nemoguardrails convert tool on the Colang 1.0 files and reviews the results against NVIDIA's Colang 1.0 to 2.x migration guide. The tool output is a starting point, not a finished migration, and NVIDIA states that converted configurations still need manual review. Plan that review as a named task with an owner, not as a side effect of testing. Done means every converted file has been read by someone who knows the original policy and the converted rails match the intended behavior.

  5. Review converted policies manually

    A second engineer who did not write the conversion reads each converted Colang file and compares it to the original policy and the scanner inventory from the first step. They check that blocked categories, refusal messages, and fallback paths behave as intended, including edge cases such as multilingual input and long outputs. The reviewer records every change in a short log that the security team can read. The step closes when the reviewer approves the configuration and the log lists no unresolved differences from the original policy.

  6. Run parallel traffic tests against both stacks

    The platform team routes a copy of production or representative traffic through both the existing LLM Guard path and the new NeMo Guardrails configuration, with the LLM Guard result used for live decisions. Responses from both stacks are logged side by side, and the team tracks disagreements in blocks, false positives, false negatives, and added latency. Use the test prompts you already maintain for LLM Guard as the first regression set, because they carry the history of what your application had to block. Done means disagreements are explained, each one is classified as an intended change or a defect, and the defects are fixed and retested.

  7. Cut over and retire the old scanners

    After the parallel results meet the acceptance criteria agreed in the previous step, the team switches live traffic to NeMo Guardrails, keeps LLM Guard available for a rollback window defined in the change plan, and then removes it from the request path. Confirm that any model dependencies NeMo needs are documented and available in the production environment before the switch. Because the LLM Guard repository is archived and receives no security fixes, the team should not keep it running in production longer than the rollback plan requires. The step closes with a change record that names the new configuration version, the approver, and the retired components.

Where guardrail projects usually run long

Implementing NeMo Guardrails takes longer than the install suggests because most of the effort sits in the configuration. Expect to write and test Colang flows for each input, dialog and output rail, then decide which self-check, fact-checking, hallucination or content safety models run in your environment. Each model choice adds a hosting decision, a capacity check and a latency measurement, so confirm early which models your platform team will approve and where they will run. Retrieval and execution rails need the same attention: each custom action must be wired to a real tool with its own credentials, error handling and logging. Load test the guardrails server under production-like traffic before any sign-off, since the rails add calls on every request.

LLM Guard projects run long for a different reason: the scanner set is archived. The repository was archived on July 9, 2026 and the README states it is no longer maintained, so you will be reconnecting a frozen set of input and output scanners to a stack that will keep receiving security fixes elsewhere. Scanners such as Prompt Injection and Toxicity depend on models hosted on Hugging Face, so inventory every model each scanner loads, check its license and hosting terms, and confirm whether your model registry can mirror them. The last PyPI release, 0.3.16, requires Python 3.10 or newer but below 3.13, which may conflict with your current runtime. Plan for pinned versions and an exit path rather than an open-ended upgrade.

Three delays appear in most projects. Compliance policy review often starts late, and reviewers need the written rail definitions, not just the code, so ask for a policy review date before Colang work begins. Model hosting approvals can take longer than the engineering work, so request them as part of the written scope. Colang 1.0 configurations also need attention: NVIDIA documents a migration path to Colang 2.x using the nemoguardrails convert tool and states that converted configurations still need manual review, so budget testing time for every flow. Confirm each of these with your security, compliance and platform teams before you commit to a timeline.

Questions buyers ask before hiring help with NeMo Guardrails

What does a NeMo Guardrails implementation cost?

No single price applies, because the cost follows from the written scope. The main drivers are how many rails you need (input, dialog, retrieval, execution and output), how many Colang flows and Python actions must be written and tested, which model providers or safety models the rails call, and how many applications share the same configuration. DeployOpen does not publish a price list. Most engagements are fixed-scope, so ask for a quote that lists deliverables, the test cases used to judge each rail, the hosting work, and any migration from an existing LLM Guard deployment. Separate one-time build work from recurring costs such as model API usage, hosting, and upgrades. The NeMo Guardrails library is Apache-2.0 licensed, so the software itself carries no license fee, but the engagement and your infrastructure do.

How long does a first production rollout of NeMo Guardrails take?

The timeline depends on scope and on how much policy work your organization has already done. The biggest factors are how many conversation topics and risk categories must be covered, whether dialog rails need to follow a defined business flow, how many tools or retrieval sources need execution or retrieval rails, the depth of testing before release, and whether your security team must review each policy. Teams that already have written acceptable-use and data-handling rules usually move faster than teams that must define them first. Ask for a schedule in the written scope that ties each milestone to a deliverable, and confirm which environments (development, staging, production) and approvals are included.

What skills and access does my team need for NeMo Guardrails?

Your team needs enough Python to read and maintain the config.yml file and any custom actions, and enough Colang knowledge to review dialog and flow definitions. Colang 1.0 is the default and Colang 2.0 is also supported, so confirm which version your configuration uses before work starts. A security reviewer should approve the policies and test results, and an owner should decide what counts as a failure. For deployment, the guardrails server can run in Docker using the provided Dockerfile, and the NeMo Guardrails microservice is deployed on Kubernetes with Helm, so you may need cloud account access, cluster access and a place to store secrets. Confirm each of these with your platform team early, since missing access is a common cause of delay.

Can an internal team implement NeMo Guardrails without outside help?

Yes, a capable internal team can adopt the Apache-2.0 library on its own, because the configuration model is documented and the code is open. The harder work is usually not the setup but the policy and testing: deciding what to block, writing rails that stay accurate over time, measuring false positives, and keeping the configuration current as models change. Outside help is most useful when you need a fixed-scope build with written test evidence, a migration from an existing scanner-based setup, or a hardened deployment inside your own cloud or air-gapped network. DeployOpen plans, implements, integrates, hardens and documents self-hosted platforms in the client's infrastructure, and it prepares evidence for compliance assessments without issuing audit reports or certifications.

What should we do with an existing LLM Guard deployment?

Plan a migration rather than a new rollout. LLM Guard was archived on GitHub on July 9, 2026, and its README states that it is no longer under active development or maintained, so it receives no security fixes. Keep the current deployment running only under a documented risk acceptance while you move. Start by inventorying every scanner in use, the input and output points where each one runs, and the thresholds you tuned. Then map each protection to a NeMo Guardrails rail or to another maintained control, and test the replacement against the same attack and output samples. Confirm with your security team how long the old deployment may stay in service. DeployOpen does not recommend new LLM Guard rollouts.

Do we need a retainer after NeMo Guardrails goes live?

A retainer is optional, but most production guardrails need ongoing attention. The NeMo Guardrails releases move (v0.24.1 was published on September 16, 2026), model providers change behavior, and attack patterns shift, so rails and tests need periodic review. Retainers can cover upgrades, configuration updates, continuous testing and support windows. Without one, assign an internal owner who tracks releases, reruns the test suite after each change and reviews failures. Ask any provider to state in writing what the retainer includes, how changes are requested, and how upgrades are tested before rollout. Ongoing support and continuous testing are available as DeployOpen retainers, and the scope is set in writing.

How DeployOpen helps you choose, implement or migrate

DeployOpen is a Chainscore Labs company that plans, implements, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure. For NeMo Guardrails vs LLM Guard, we start from your application's request path and the risks you must block, then decide whether a maintained guardrail fits or whether an existing LLM Guard deployment needs to move.

How we scope

  • We map where prompts, retrieved chunks and model outputs cross your application boundary today.
  • We record which risks each rail or scanner must cover, agreed with your security and product owners in writing.
  • Engagements are fixed-scope, so deliverables and timelines are confirmed before any build work starts.

How we build

  • We configure NeMo Guardrails rails in Colang and config.yml, or migrate existing LLM Guard scanners to a maintained option.
  • We test each rail against your own prompt sets and documented attack categories before release.
  • We deploy into your cloud accounts, data centers or air-gapped networks, with model dependencies confirmed for your environment.

How we hand over

  • You receive configuration files, test results, architecture notes and runbooks written for your own team.
  • We document latency measurements, model dependencies and license terms as they apply to your deployment.
  • We walk your engineers through policy changes, so ownership of rails and scanners stays with your team.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • We track new releases of the guardrail you run and plan upgrades against your change control process.
  • We prepare controls and evidence for compliance assessments, while independent auditors issue any formal reports.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.