LLM guardrails RFP questions

A question set for evaluating guardrail vendors and implementation partners, with what a good answer contains and the answers that should worry you. Written for self-hosted NeMo Guardrails or Guardrails AI deployments enforced at an AI gateway.

On this page

LLM guardrails RFP questions to ask before you choose a vendor or partner

A team choosing guardrails for a language model application needs answers it can compare, not a list of features. The questions in this guide are neutral. They apply equally to NeMo Guardrails, Guardrails AI, controls enforced at an AI gateway such as LiteLLM, and services delivered by a partner who builds the controls for you. A vendor that cannot answer a question in plain terms is telling you something useful, whichever tool it sells. Send the same questions to every candidate, in writing, so the answers can be compared line by line and kept as part of the procurement record. Require a written scope before anyone is shortlisted. The scope should name the risks covered, the rails or validators proposed, where each detection model runs, which logs are kept and for how long, who maintains the policies after go-live, and what is excluded. Ask for the evaluation to run on your own sample data and in an environment that resembles production, not on the vendor's demonstration prompts. Agree the test set before the demonstration: a fixed set of benign requests, injection attempts, requests containing personal data and out-of-scope questions, each with the expected outcome written down. Ask the candidate to run that set live, show every blocked and allowed decision, and report false positives and false negatives separately, since a guard that blocks legitimate work is a cost the business will feel.

Score the answers against the scope, not against the strength of the presentation. Where a vendor claims a detection rate or a latency figure, ask how it was measured, on which data, with which model version, and whether you can reproduce it in your own environment. Confirm details that no document can settle for you, such as whether detection models can be loaded without outbound network access, how validator packages or model files are updated across an air gap, and how a policy change is reviewed, tested and rolled back. Keep the written answers, the test results and the agreed scope together. They become the baseline for acceptance testing and for the evidence you will need later when assessors or customers ask how the guardrails were chosen and verified.

Which questions to ask about risks, accuracy, deployment, change control and testing

Which risks does each guardrail control address, and which does it leave to other controls?

Ask the vendor to map every control to a named risk and to a named rail type, not to a general claim of safety. A good answer names input rails for prompt injection and jailbreak attempts, output rails for sensitive information disclosure and unsafe content, retrieval rails for untrusted document chunks, and execution rails for tool calls. It should also state what the guard cannot cover, such as authorization failures, excessive agency in tools, or poisoned training data. The NeMo Guardrails library lists self-check moderation, jailbreak and injection detection, fact-checking and hallucination detection as separate components, so ask which of these are configured, which are off, and why. Request the mapping as a written table you can review with your security team.

What false positive and false negative rates should we expect on our own data?

No vendor answer should be accepted without measurements on a dataset drawn from your prompts, documents and output formats. Ask for the test set description, labeling method, number of labeled items per risk category, and the measured false positive and false negative rates for each rail, with confidence intervals if available. Ask whether results came from the vendor's public benchmarks or from a run on a sample you supplied. Also ask how the blocked-request log feeds back into tuning, and who reviews borderline cases. Generic benchmark numbers from another domain do not predict behavior on your policies, so treat any figure without a dataset description as unverified. Plan for a labeled sample to be built during the pilot.

Where do the detection models run, and what leaves our network?

Ask for a deployment diagram that shows every model call, where each classifier runs, and which requests or responses leave your network. Confirm whether guard models are self-hosted in your cloud account or data center, whether any check calls a hosted moderation or LLM API, and whether telemetry is sent to the vendor. NeMo Guardrails can run as a Python library or as a server built from a provided Dockerfile, and NVIDIA also offers a microservice deployed on Kubernetes with Helm, so ask which form is proposed and what model files it needs. Guardrails AI validators come from Guardrails Hub and are installed separately, so ask how packages and model weights are obtained, cached and updated in an air-gapped or restricted environment. Ask also whether the guardrails configure step's anonymous metrics reporting is disabled.

How are policies configured, versioned and rolled out without breaking production?

A good answer describes where policy lives, how it is changed, and how each change is tested before reaching users. For NeMo Guardrails, policy is written in a config.yml file, optional Python actions and Colang files, with Colang 1.0 as the default and Colang 2.0 also supported. Ask how the team handles a migration between Colang versions. NVIDIA documents a conversion tool and states that converted configurations still need manual review, so ask who performs that review and how behavior is compared before and after. Ask for source control for all policy files, required reviews, a staging environment, a rollback procedure, and a regression suite that runs on every change. Ask also how Guardrails AI validator versions are pinned.

What gets logged for blocked requests, and does it meet our evidence needs?

Ask which events are recorded for each guard decision: timestamp, rail name, policy version, model and route, the decision, the matched category, and a reference to the stored prompt or output, with a clear retention setting. Ask where logs are stored and who can read them, and whether personal data in logs is masked. For high-risk AI systems in the EU, Article 12 of the EU AI Act requires automatic recording of events over the system's lifetime, and Article 19 requires providers to keep those logs for at least six months unless other law provides otherwise, so confirm with counsel which retention period applies. LiteLLM can log requests and enforce guardrails at the gateway, and Langfuse or Phoenix can hold traces, so ask which system is the system of record.

How do guardrails integrate with the AI gateway, and what latency do they add?

Ask where in the request path each guard runs, whether the gateway (for example LiteLLM, which supports guardrails and per-team guardrail settings in its enterprise tier) calls the guard service synchronously, and what happens if the guard times out or fails. A good answer states the fail-open or fail-closed behavior for each rail, the timeout values, and the measured added latency at your expected concurrency, with the test setup described. Ask how the gateway scales: LiteLLM's production guide recommends one Uvicorn worker per pod on Kubernetes, PostgreSQL as the primary database, and Redis 7.0 or newer once more than one proxy instance runs. Ask for a load test report that uses your request sizes and models, not a sample prompt.

How is guard effectiveness tested, including red teaming, and who owns the results?

Ask for the test plan, the attack corpus and its source, the list of injection and leakage techniques covered, and the results by rail. A good answer includes repeatable test runs in CI, a red team exercise against the deployed configuration, and retesting after each policy change or model update. Ask who writes the tests, who fixes failures, and who signs off on residual risk. Confirm whether the work includes application and AI-specific security testing, and whether testing is one-time or a retainer. Ask for the test artifacts to be delivered to your repository, not kept in a vendor portal.

Who owns the guardrails after go-live, and what does support cost over time?

Ask which party is responsible for each layer: the framework, the validators or model files, the policy content, the gateway, the logs, and the test suite. Cost comes from one-time build work (installation, policy authoring, integration, testing and hardening) and recurring work (model and package updates, policy tuning as new attack patterns appear, log review and retesting). Ask for the scope of support in writing, the response process for a bad block or a missed attack, and how upgrades are tested before they reach production. Fixed-scope implementation is typical, and ongoing support, upgrades and continuous testing can be contracted as a retainer, so ask for each as a separate line in the quote.

Red flags in guardrail vendor and partner answers

Vendor and partner answers reveal more than their feature lists. The cards below cover evasive answers on accuracy, data location, change control, testing, compliance scope and licensing, each of which tends to surface late in a rollout if it is not pressed during the RFP.

No false positive data on your inputs

A vendor who quotes detection rates from public benchmarks but cannot measure false positives on your own prompts and documents has not shown the guard will work in your deployment. Blocked legitimate requests become support tickets and workarounds, and a guard that over-blocks is often switched off. Ask for a test run on a sample of your real request types, with the rate of blocked benign requests reported separately from the rate of blocked attacks, and ask who owns tuning after go-live.

Detection that needs an external API

If a classifier or moderation check calls a hosted service, prompts and outputs leave your boundary, and the guard stops working when that service is unreachable or blocked. Ask which models run where, whether every detector can run as a container or model file inside your network, and how updates arrive when the network has no internet route. A vague answer such as "we can host it" should be followed by a request to name each component and its deployment method.

Policies changed without versioning

Guard policies are code and configuration, and a silent edit can unblock an attack or break an approved use case overnight. NeMo Guardrails loads its rails from configuration files such as config.yml and Colang files, so those files can sit in version control like any other artifact. Ask how each policy change is proposed, reviewed, approved, versioned and rolled back, and who is allowed to publish to production. Answers that rely on an admin console with no change history are a warning sign.

No evidence of injection testing

Prompt injection and jailbreak detection can be bypassed by rephrasing, encoding or indirect instructions in retrieved documents. A vendor who has not tested its guards against a documented set of injection attempts, or who cannot show results from those tests, has no basis for claiming protection. Ask for the test method, the attack categories covered, the date of the last run, and whether a red team outside the vendor has tested the deployment. Ask also how new attack patterns are added to the test set.

Guardrails alone satisfy compliance

Runtime guards reduce some risks, but they do not by themselves meet a logging, risk management, accuracy or robustness duty. For example, the EU AI Act's Article 12 expects high-risk systems to allow automatic event logging, and Article 19 sets a minimum six-month retention for those logs unless other law requires longer. A partner who says the guard "makes you compliant" is overstating what it does. Ask which obligations the guard supports, which evidence it produces, and which controls must come from elsewhere.

Unclear licensing of guard components

Guardrail stacks combine libraries, validators, models and enterprise add-ons, and each can carry different terms. NeMo Guardrails and Guardrails AI are both Apache-2.0 licensed, but validator packages, pretrained models and commercial microservices may be licensed separately. Ask for a bill of materials listing every component with its license, whether any feature requires a paid tier, and whether model weights can be redistributed inside an air-gapped environment. Vague answers here usually surface during procurement or audit.

How the guardrail options differ when you ask vendors to deploy them

In this model, the guardrail runs as a library inside the application process. NeMo Guardrails is Apache 2.0 licensed and is configured with a config.yml file, optional Python actions and Colang files. Guardrails AI is also Apache-2.0 licensed and builds guards from validators installed from Guardrails Hub. Because the check runs in the same process, prompts stay inside the application's runtime, but every application team now carries its own copy of the policies and its own upgrade cycle.

  • Where the models run: Ask whether classifier models such as self-check moderation or jailbreak detection load in the application's process, on which hardware, and whether they can be pinned to a version.
  • Licensing and provenance: Confirm the license of each validator or rail package, since Guardrails Hub validators are installed separately from the core library.
  • Policy distribution: Ask how a Colang or validator change reaches every service that embeds the library, and who approves it.
  • Failure behavior: Ask what the application does if a guard raises an error or times out, and whether the default is fail open or fail closed.
  • Upgrades: Ask who tests a new library release against your policies, given that Colang 1.0 and 2.0 are both supported and a migration needs manual review.

Check that the vendor's plan states who maintains each embedded copy after go-live.

How to run a guardrail proof of concept on your own data

This sequence gives you a fair, repeatable comparison of guardrail options on traffic that resembles your own, so you can see detection quality, latency and policy handling side by side before you sign anything. The output is a scored record of each vendor's decisions that your reviewers have checked against agreed expectations.

  1. Set thresholds and pass criteria first

    Before any vendor sees data, the security, compliance and product owners agree in writing on the risks in scope, the categories that must be blocked, the categories that must pass, the acceptable false positive and false negative rates, and the latency budget per request. Write down who decides ties and who can overrule the scoring. The step is done when the signed criteria document is version-controlled and the vendors have received only the requirement, not the test set.

  2. Build a labeled test set from anonymized traffic

    Your data owner exports a sample of real prompts, retrieved chunks and model outputs from a controlled environment, then removes or masks identifiers under your privacy procedure. Reviewers label each item with the expected decision: allow, block, redact or escalate, and the risk it represents. Include ordinary business requests as well as attacks, multilingual inputs and documents with embedded instructions. The step is done when the set is frozen, labels are double-checked on a sample, and the set is stored where vendors cannot reach it.

  3. Define expected blocks for each risk

    Map each labeled category to the control it should trigger, such as prompt injection detection on inputs, personal data redaction on outputs or topic restriction on out-of-scope questions. Add adversarial variants of the same request so that wording changes are tested, not only exact matches. The security engineer signs off on the mapping. The step is done when every test item has one expected outcome and every risk in scope has at least one pass case and one fail case.

  4. Run each option on identical inputs

    The same frozen test set goes through each candidate in the same environment, with the same model behind it, the same request sizes and the same concurrency. Record the raw decision, the category, any rewritten text and the time each check took. Keep each vendor's configuration as delivered, and note every change that the team makes during the run. The step is done when every candidate has a complete output file for the full set and the run logs show identical inputs.

  5. Score false positives and negatives with reviewers

    Reviewers who did not write the labels compare each decision with the expected outcome, without knowing which vendor produced it. Count false positives, which block legitimate work, and false negatives, which let risky content through, separately for each risk. Look at a sample of disagreements to find label errors. The step is done when the scoring sheet shows results per risk and per vendor, the disputed items are resolved and the latency figures are recorded against your budget.

  6. Test policy changes during the trial

    Ask each vendor to make a planned policy change, such as adding a new blocked topic or tightening a redaction rule, using the process they would use in production. Your engineer then reruns the frozen set and checks that only the intended items changed and that the previous version can be restored. Ask who approves changes and how they are reviewed. The step is done when you have a before and after diff for each change and a note on the approval and rollback path.

  7. Review logging and evidence output

    Confirm that each blocked or modified request produces a record with a timestamp, the policy version, the decision and the reason, and that the record can be exported to your own log store. Check how long records are kept, how personal data inside logs is handled and whether an auditor could trace a decision back to the policy in force at that time. The step is done when your compliance lead has inspected sample records and confirmed what each vendor provides and what you would need to build.

  8. Decide from the signed scorecard

    The evaluation panel reviews the completed scorecard against the criteria set in step one, including results, latency, policy change handling and logging. Record any unresolved gaps as contract or build items rather than trial results. The outcome is a written decision with the evidence attached, which can be shared with procurement and retained for the file.

How to score vendor responses

This table lists the criteria to score each vendor answer against, what a strong answer looks like and the written evidence to request. Buyers set the weighting for their own risk profile, and a score without supporting evidence should count as zero until the vendor produces it.

CriterionWhat a strong answer showsEvidence to request
Risk coverageEach control maps to a named risk such as prompt injection, sensitive data disclosure or unsafe output, with stated limitsControl-to-risk matrix, test cases per risk, and a list of risks the product does not address
Measured accuracy on buyer dataFalse positive and false negative rates measured on a sample of the buyer's own prompts and outputsTest set description, labeling method, rates per rail, and the vendor's proposed acceptance thresholds
Deployment and data locationDetection models and logs run inside the buyer's infrastructure, including air-gapped options if requiredArchitecture diagram, list of outbound network calls, and model file sources for offline updates
Policy change controlGuard policies are version controlled, reviewed, tested and rolled back without a service outageChange procedure, approval records, regression test results, and a sample rollback record
Logging and evidenceEvery blocked or modified request is logged with the rule that fired, retained for a stated periodSample log record with field definitions, retention settings, and how logs are exported to the buyer's SIEM
Gateway integrationGuards attach to the AI gateway for every model route, with per-team and per-key policy scopeConfiguration example for the gateway, latency measurements with guards enabled, and failure behavior when a guard is down
Testing supportThe vendor supports red teaming of the guards and reruns tests after each policy changeTest plan, tooling used, sample findings report, and retest results for a prior finding

What logs and evidence the guardrails must produce

Every guard decision should leave a record: the blocked or modified request, the rail that acted (input, output, retrieval or execution), the detector and version that made the call, the score or reason it returned, and the policy version in force at that moment. Without the policy version, you cannot show which rules were active when a prompt was stopped, and without detector decisions you cannot measure false positives or prove that a control worked. Ask each vendor to show a sample log entry for a blocked prompt, a redacted output and a passed request, and confirm that all three carry the same identifiers so they can be joined to the gateway log. If you run NeMo Guardrails or Guardrails AI behind LiteLLM, confirm which layer writes each field and whether the gateway's request ID is passed through to the guard record.

For high-risk AI systems under the EU AI Act, the logging expectations are concrete. Article 12(1) requires that high-risk systems technically allow automatic recording of events over their lifetime, and Article 19(1) requires providers to keep those logs for at least six months unless other law sets a longer period. Whether your assistant is high-risk, and which retention rule applies to you, depends on your use case and jurisdiction, so confirm applicability with counsel before writing retention into the design. The point for the RFP is that guard logs are part of the evidence set, not a debugging aid, and the vendor should be able to say which fields it captures and how long they persist by default.

Ask vendors how logs are stored, who can read them and how long they are kept. Specifically: where log storage sits (your database, object storage or the vendor's cloud), whether prompt and response text is stored in full, masked or hashed, which roles can view blocked content, whether access to raw prompts is logged, how retention is set per log type, and how deletion works when a retention period ends. Request the default retention, the configurable range and the procedure for legal holds. A vendor that cannot answer these questions in writing, or that stores raw prompts with personal data in a shared system you do not control, is a red flag for regulated workloads.

How DeployOpen scopes, delivers and supports guardrail evaluations

This sequence turns an RFP question list into a written, tested scope for self-hosted guardrails, so the buyer can compare vendors and partners on the same evidence. Each step closes with a named output the buyer can keep.

  1. Agree the risk register and in-scope assistants

    DeployOpen starts with a workshop led by the engagement lead, with the CISO or security architect, the application owner and, where applicable, the compliance lead. The group lists each assistant, the data it can see, the users it serves and the risks to cover, such as prompt injection, sensitive information disclosure and unsafe output. The closing output is a written risk register that maps each risk to an input rail, an output rail, or a control outside the guardrails layer, so no risk is assumed to be covered by default.

  2. Confirm the target architecture in the client's environment

    The team documents where guardrail components will run: the NeMo Guardrails or Guardrails AI runtime, any classifier models, the AI gateway, and the logging store. It checks this against the client's cloud accounts, data centers or air-gapped network, including model file transfer and package import paths where updates must cross a boundary. The output is an architecture decision record that names each component, its host, its data flows and the owner of each dependency, which the client approves before build begins.

  3. Write the scope, deliverables and acceptance criteria

    DeployOpen issues a written scope that lists the in-scope assistants, rail types, validators or Colang policies, integration points with the gateway, logging requirements and exclusions. Acceptance criteria state how each deliverable is checked. Most engagements are fixed-scope, so the scope, deliverables and timeline are agreed in writing before any work starts. The closing output is a signed scope document, and any change after signing goes through a written change request.

  4. Build and version the guardrail policies

    The team implements input, output and, where needed, retrieval or execution rails in the agreed framework, with policies held in version control and deployed through the client's change process. It sets up the configuration, custom actions, and any Colang migration review needed when a configuration moves between language versions. The closing output is a tagged policy release with a changelog and a rollback path that the client can run without DeployOpen.

  5. Measure false positives and misses on client data

    DeployOpen runs the guards against a test set drawn from the client's own use cases, including benign requests that resemble attacks and real business content that must pass. The team records block rates, false positives, false negatives and added latency per request, then reviews results with the client to adjust thresholds or rules. The closing output is an evaluation report that shows measured results on the client's data, not vendor benchmarks, with known gaps listed.

  6. Test guard effectiveness with adversarial cases

    The security testing practice runs prompt injection, jailbreak, data leakage and unsafe output tests against the deployed guardrails, including indirect injection through retrieved documents where a RAG assistant is in scope. Findings are classified, reproduced and retested after each fix. The closing output is a test report with reproducible cases, the guard decision logged for each attempt, and a retest result for every finding. DeployOpen tests and documents; it does not issue audit reports or certifications.

  7. Hand over runbooks and evidence for assessors

    DeployOpen documents how the guardrails run, how policies are changed and approved, how blocked requests are logged and reviewed, and how the team responds when a guard fails. The package is delivered to the client's own staff, and training is included where the scope says so. The closing output is a runbook set and an evidence pack that maps controls to the client's compliance programme, which the client's independent auditors or certification bodies then assess.

  8. Continue testing and updates under a retainer

    Where the client wants ongoing support, DeployOpen offers retainers that cover upgrades, periodic re-evaluation on new data, scheduled red-team rounds and policy changes after model or assistant updates. Retainer scope, reporting cadence and response expectations are written into the agreement, and the client confirms each one before signing. The closing output is a recurring evaluation report and a change log that the client can review alongside its own monitoring data.

How DeployOpen helps teams run this evaluation

DeployOpen plans, implements, tests and documents self-hosted guardrail stacks inside the client's own infrastructure, so vendor and partner answers can be checked against a working deployment. The work follows a written scope, with evidence gathered from the client's own data and traffic.

How we scope

  • Written scope lists the risks each guard must address, such as prompt injection and data leakage.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.
  • Scope names where detection models run, the AI gateway integration and the logging of blocked requests.

How we build

  • Input and output rails are configured in NeMo Guardrails or Guardrails AI within the client's infrastructure.
  • Guard policies are tested against the client's own sample prompts and outputs to measure false positives.
  • Security testing covers injection attempts against the guardrails, including AI and agent security tests.

How we hand over

  • Handover includes configuration files, policy versions and runbooks for changing rules safely.
  • Documentation records each guard, its test results and the known limits of detection.
  • Compliance evidence is prepared for assessors, though audit reports and certifications come from independent bodies.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Retainers can cover re-running guard tests when models, policies or gateway versions change.
  • Clients confirm support scope, response expectations and update cadence in the written agreement.

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.