Model calls go to the providers on Subprocessors (Isoquant first, fallbacks if configured). No prompt or default names your app, team or data.

What stays out

  • Precise rules run on the server without a model.
  • Query lookups send only the reduced value (a count, a date), never the rows the guard read.
  • Precise-only checks, reads and cached decisions make no model call.

Agent records are redacted first

Before the judge or router sees a record (the fields the agent sent and the records the guard read), every text value goes through the same PII redaction as screen text: names, emails, phones, IBANs, cards, tax and national IDs and secrets become placeholders like [EMAIL]. Numbers, dates, codes and record ids are kept.
  • Precise rules use the original values. They run on the server before any model call; the originals never leave it.
  • A rule whose facts are personal data (a person’s name, an address) can’t be judged from the redacted record, so the judge answers can’t tell: a stop-level rule then asks a person. Make such rules precise if you need them decided.
  • Added latency: under 0.2 ms a check with the rules layer (the hosted and self-hosted servers). With the local PII model loaded, about 70 ms the first time a free-text value is seen, nothing on repeats.
Redaction is a strong filter, not a guarantee: it misses some addresses and unusual name formats. Map only the fields your rules need.
To turn model steps off on a server: CLAROS_JUDGE=off, CLAROS_ROUTER=off, CLAROS_TOOL_MAPPER=off, CLAROS_SCOPE=off.