Real-Time Content Moderator hero
Strongly Certified · Streaming Workflow

Real-Time Content Moderator

PII redacted. Prompt injections blocked. Verdict logged. Before the LLM sees a thing.

Inline moderation for live text and voice channels. Rules-first checks short-circuit risky messages before any LLM call. The moderator-LLM only rules on edge cases - bounded cost, auditable verdicts.

Pre-LLM
Rules-first short-circuit
Bounded
Cost - LLM only on edge cases
Audited
Verdict + reason logged per turn

The voice loop, end-to-end.

No black box. Each step is a typed-frame node you can edit, monitor, and replace.

01

Message arrives over WebSocket. The streaming-pii-anonymiser strips known patterns first.

02

The streaming-rule-based-classifier checks for prompt injection, abuse, banned topics. Hits short-circuit to a redact or block verdict.

03

Only the residual edge cases reach the moderator-LLM. The verdict (allow / redact / block) is written to the session log with a reason.

04

Allowed messages pass through. The LLM is never invoked on a rejected message - cost is bounded by the rules layer.

Built for production. Day Two-ready.

Streaming graph contract, observability, and cost discipline come standard. The agent ships with a full test suite that runs in CI on every node version bump.

Rules before LLM

streaming-rule-based-classifier runs deterministic rules first. Prompt injection signatures, abuse lexicons, banned topic keywords. Hits short-circuit - no LLM call, no cost.

DeterministicPre-LLMCost-bounded

PII anonymiser

Inbound messages pass through streaming-pii-anonymiser before any classifier. SSN, email, US phone, account numbers - replaced with stable placeholders so downstream nodes never see the raw value.

Stable placeholdersPre-classifierReversible

Prompt injection guard

Known injection signatures (jailbreak prefixes, system-prompt overrides, delimiter abuse) are detected and dropped at the gate. The moderator-LLM never sees the bait.

Signature-basedAt the gateLogged

Conditional verdict route

streaming-conditional routes by verdict: allow → downstream, redact → modified text + tag, block → drop with audit row. Each path is its own clean branch.

Per-verdict pathAudit rowDrop or tag

Verdict log

Every decision (allow / redact / block) lands in streaming-conversation-store with the rule that fired and the moderator's reason. Replay any session, any turn.

Per-turnReplayableReason field

Live span tree

Each verdict writes a span. Filter the canvas overlay by verdict to find the rule that's firing too often, or the policy gap that's letting things through.

ADR-S14Verdict attributePolicy tuning

Real services. Your stack.

Every dependency is a registered Strongly service or a model you control. Swap any one of them in the install wizard. The graph stays intact.

Rule classifier
streaming-rule-based-classifier - deterministic
PII anonymiser
streaming-pii-anonymiser - regex packs + tokenizer
Moderator LLM
Optional - only edge cases reach it
Verdict sink
streaming-conversation-store + optional webhook

Tune it. Don't fork it.

The marketplace template is the graph. Every customisation below is a config change or a single-node addition - never a rewrite.

Custom rule packs

Add domain-specific banned patterns to the rule-based-classifier. Brand-protection lexicons, regulated-industry term lists, regional law overrides.

Locale-specific PII

The default presets are US-centric. Swap in EU-PII, UK-NI, or APAC presets, or add a regex pack for your locale.

Stricter outbound

Add a second pii-anonymiser between LLM and TTS so generated replies are also scrubbed - useful when the LLM might quote user input back.

Block-instead-of-redact

Flip streaming-pii-anonymiser's action from 'redact' to 'drop'. Risky messages disappear entirely instead of being modified.

Different sink

Replace websocket-response with streaming-webhook-response to send verdicts to your trust-and-safety SIEM.

Production. Not pilots.

We don't leave until it runs. Talk to a forward-deployed engineer about deploying Real-Time Content Moderator into your environment with your STT, your LLM, your TTS, your data.

Schedule a Demo