This document lists all available flows in the NeMo Guardrails library.
The Library column indicates which library within the NeMo Guardrails repository provides this flow.
To see the source code for a flow, navigate to the specified directory inside nemoguardrails/library,
For example, the self_check library is located at nemoguardrails/library/self_check.
Flows marked with ✓ in this column use llm_call() to invoke an LLM from your config.models. These flows:
- Require an LLM to be configured in
config.ymlunder themodelssection - Will make LLM API calls (e.g., to OpenAI, Azure OpenAI, or local LLM servers)
- May incur costs depending on your LLM provider
- Performance depends on LLM latency and quality
- Examples: Self-check rails, hallucination detection, content safety via LLM
Flows marked with ✗ do not require an LLM configuration.
Flows marked with ✓ in this column make network calls to external services or APIs other than the configured LLMs. These flows:
- Require network connectivity to external services beyond your LLM provider
- May need additional configuration (API keys, service endpoints, credentials)
- Have external service dependencies that must be available
- Examples: GLiNER server calls, PolicyAI API, Pangea services, AutoAlign API, CrowdStrike AIDR
Flows marked with ✗ do not make external server calls (though they may still use LLMs if indicated in the previous column).
Flows that are marked with ✗ in both columns are fully self-contained. They:
- Work entirely offline (no network required)
- Do not require LLM configuration
- Have minimal latency and no per-request costs
- Examples: Regex-based checks, local pattern matching, sensitive data detection
The Example Configs column in the table provide locations of example configurations that use the specified flow.
To view the example, navigate to the specified directory within the example/configs directory of the NeMo Guardrails repository.
These flows can be configured in rails.input.flows in your config.yml.
These flows can be configured in rails.output.flows in your config.yml.
These flows can be configured in rails.retrieval.flows in your config.yml.
| Flow Name | Library (nemoguardrails/library/...) |
Requires a Configured LLM | Requires External Server Calls | Description | Example Configs |
|---|---|---|---|---|---|
gliner detect pii on retrieval |
nemoguardrails/library/gliner |
✗ | ✔ | Check if the relevant chunks from the knowledge base have any PII using GLiNER. | N/A |
gliner mask pii on retrieval |
nemoguardrails/library/gliner |
✗ | ✔ | Mask any detected PII in the relevant chunks from the knowledge base using GLiNER. | N/A |
regex check retrieval |
nemoguardrails/library/regex |
✗ | ✗ | N/A | |
detect sensitive data on retrieval |
nemoguardrails/library/sensitive_data_detection |
✗ | ✗ | Check if the relevant chunks from the knowledge base have any sensitive data. | N/A |
mask sensitive data on retrieval |
nemoguardrails/library/sensitive_data_detection |
✗ | ✗ | Mask any sensitive data found in the relevant chunks from the knowledge base. | N/A |
- Total flows: 43
- Self-contained (no external deps or LLM): 17
- Requires external dependencies: 16
- Uses LLM from
config.models: 10
- Input rails: 16
- Output rails: 22
- Retrieval rails: 5
- Dialog rails: 0