Serve
Check the prompt before the model.
Check the response before the user.
Nothing is sampled, in either direction.
Where you are today
Someone is always waiting.
Every prompt and every response crosses the path while a user watches, and there is no batch window to hide the inspection in.
So most stacks check a sample, and usually on one side only. The prompt gets looked at; the response, the half an audit asks about, goes out unread.
What changes with NOL8
Every request, not a sample.
Prompts, context and tenant boundaries are checked before the model sees them, and responses before the user does.
At 8ms P99 at the engine, so the user never waits on the check.
Both crossings, one policy
What goes in and what comes back out are two different exposures, and most stacks only check one of them.
On the way in
The prompt, the context attached to it and the tenant boundary, checked before the model sees any of it.
On the way out
The response, checked before the user sees it. This is the half an audit asks about, and the half most stacks skip.
With NOL8, the same rules apply in both directions, per rule, per agent, per role.
Why the latency tail holds
Turning coverage up does not move the number.
Deterministic matching gives the same result every time and holds throughput flat as the rule set grows, from 1 pattern to 8,000, for over 40 petabytes of data per year per node.
That is the NOL8 breakthrough enabling full byte-level inspection.
8ms
P99 at the engine
8000
patterns, throughput flat
Common questions
Uncertainty sucks.
Stop estimating. Your rules, your payloads, your P99.