PII redaction on every message
Emails, phones, SSNs, cards, IPs detected and masked before the prompt leaves your gateway — customer data never lands unredacted in a provider log. Every redaction recorded.
Support traffic carries real customer data and the occasional hostile prompt. Nemo Router redacts PII and blocks injection on every request, keeps tone consistent with versioned templates, and caps spend with budgets.
Every message, screened first
Email, phone, SSN, card, IP — redacted
Inbound jailbreak patterns blocked
One template drives the whole fleet
Per-key and per-team cost ceilings
A support bot is the part of your AI stack that talks to real customers. It needs to protect their data, resist abuse, stay on-brand, and not blow the budget.
Emails, phones, SSNs, cards, IPs detected and masked before the prompt leaves your gateway — customer data never lands unredacted in a provider log. Every redaction recorded.
A public-facing bot gets hostile inputs. Jailbreak and instruction-override patterns are blocked before the provider call and surfaced in the guardrail log for review.
Tone, escalation rules, and brand voice live in one central template. Edit it and every bot updates; A/B test two versions, roll back without a redeploy.
Per-key and per-team budgets cap spend with a hard 402 ceiling, while caching absorbs the repeated FAQ traffic that drives most support volume.
Every inbound message passes the same gates: injection detection, then PII redaction, then the templated prompt. Guardrails run before the model ever sees the text.
Support request flow
Customer message
inbound to your bot
Real names, account details, sometimes a hostile prompt.
Injection check
guardrail · pre-call
Jailbreak / override patterns blocked before the model.
PII redaction
guardrail · pre-call
Email, phone, SSN, card, IP masked from the prompt.
Template + model
prompt template id
Central system prompt; routed to your chosen model.
Reply + logged
guardrail log
Redactions, blocks, cost, and latency all recorded.
Guardrails run inline before the provider call. A blocked or redacted message never reaches the model — and the event is logged so your trust and safety team can review it.
Your bot calls the standard chat endpoint and points at a prompt template by id. Guardrails apply automatically — you do not wire them per request. These snippets are generated from the SDK examples the playground uses.
pip install openai| 1 | # Cache: enabled (org default). Pass nemo_cache: false to skip. |
| 2 | from openai import OpenAI |
| 3 | import os |
| 4 | |
| 5 | client = OpenAI( |
| 6 | api_key=os.environ["NEMOROUTER_API_KEY"], |
| 7 | base_url="https://api.nemorouter.ai/v1", |
| 8 | ) |
| 9 | |
| 10 | response = client.chat.completions.create( |
| 11 | model="gemini-2.5-flash-lite", |
| 12 | temperature=1, |
| 13 | max_tokens=1024, |
| 14 | top_p=1, |
| 15 | messages=[ |
| 16 | {"role": "user", "content": "Hello! What models do you support?"}, |
| 17 | ], |
| 18 | extra_body={ |
| 19 | # "nemo_cache": False, # Uncomment to skip cache |
| 20 | }, |
| 21 | ) |
| 22 | |
| 23 | print(response.choices[0].message.content) |
Pass nemo_prompt_template_id in extra_body to drive tone from a central, versioned template.
Safe by default
PII redaction, injection defense, versioned prompts, and budgets — all unlocked on every plan across 97+ models.