Rules the gateway applies whether or not your client remembers to
Six rule types, evaluated inside the request path. A client that forgets to call them still gets them, and a rule can run in warn mode against real traffic before it is allowed to refuse anything.
- 6
- rule types
- 5
- PII categories detected
- Warn
- mode before you block
- In-gateway
- cannot be bypassed by a client
What it actually does
PII detection
Email addresses, payment card numbers, IBANs, US social security numbers and phone numbers. Cards are Luhn-checked and IBANs checksum-checked, because without that every long order id in a prompt is a false positive.
Blocked terms
Your own list of words or phrases. The verdict names the rule that fired, never the text that matched it.
Cost and size ceilings
Refuse a request whose worst-case cost exceeds a per-request cap, or whose input is above a token ceiling — both checked before anything is sent upstream and before anything is billed.
Output checks
Flag responses that do not parse as JSON, or that match a pattern you do not want emitted. These run on the completed response, so they cost latency at the end rather than at the start.
Verdicts without the evidence
A triggered rule records its name, kind and category on the request row — "payment card number", not the number. The whole point is that the value does not end up somewhere it can be read.
Block or warn, per rule
Warn records the verdict and lets the request through, so you can measure a rule against your own traffic before it starts refusing paying customers.
Fair questions
Is there prompt-injection detection?
No. Multigrid does not ship an injection classifier, and a scanner we had not measured would be worse than none — it would be treated as protection it could not provide. Blocked terms and output patterns are what is here today.
Do guardrails redact, or refuse?
They refuse, or they warn. There is no redaction pass that rewrites a prompt and sends the rest upstream; a rule that fires on a `block` action stops the request.
What does a blocked request cost?
Nothing, when it is blocked on the input stage — no provider was called. An output rule fires on a response that really was generated, and that one is charged, because the tokens were really spent.
Works with the rest of the platform
Name a model, name the ones to try if it cannot be served, and set which providers you prefer. Multigrid retries transient failures on each provider and moves down the list when it runs out of attempts.
Add your own provider keys and Multigrid routes through them — your rates, your billing relationship. We charge nothing on that traffic and it does not touch your credit balance.
Every request writes a row: model, provider, tokens, cost, latency, attempts, cache outcome and your own tags. No prompt text, no completion text — the schema has nowhere to put them.
Bring your own provider keys and pay us nothing for that traffic
Requests served on your own key are not charged and do not touch your credit balance. You still get the routing, the logging and the cost record.