Keep AI-generated content on-policy
A configurable pipeline of safety checkers screens every NPC line and image prompt before it reaches the player. Block what crosses the line, or rewrite it to fit. Start from a preset, then tune every layer.
The Problem
The moment NPC dialogue and images are generated at runtime, you lose the guarantee that hand-authored content gives you. An LLM-driven character can wander off-brand, voice something inappropriate for your age rating, or leak a real-world topic into a fantasy world. Player-supplied image prompts can steer the model somewhere you never intended. You need a safety layer that you control, not the model vendor: one that matches your game's content policy, your audience, and your tone.
A Composable Safety Pipeline
Content passes through a pipeline of checker stages that you compose. Fast, cheap checks run first and catch the obvious issues. More powerful checks run later and handle nuance. You choose which stages to include, reorder them, and configure each one independently.
The available checker types:
- Keyword blocklists: match against your own word lists and regex patterns. Near-instant.
- ML classifiers: detect toxicity, violence, sexual content, or any other type of content you want to filter. Fast enough for real-time use.
- Semantic similarity: compare content against known-bad examples using vector embeddings. Catches violations that keyword matching would miss.
- LLM judge: an LLM evaluates content against your custom rules, written in natural language. The most flexible checker, for edge cases that classifiers can't cover.
- LLM rewriter: instead of blocking, transforms flagged content into something safe while preserving the original intent.
Presets
Start with a preset that matches your audience:
- ChildSafe, strictest filtering, blocks all violence, innuendo, and mature themes
- GameSafe, allows fantasy violence and mild conflict, blocks real-world harm and explicit content
- DeveloperSdk, minimal filtering, gives you full control to build your own policy
Full Customization
Every aspect of the pipeline is yours to configure:
- Add, remove, or reorder checkers: skip the LLM judge for latency-sensitive paths, add extra classifiers for specific content types
- Custom blocklists, your own words and regex patterns
- Custom classifier models, swap in a classifier trained on your game's content
- Custom LLM judge templates, write the prompt that defines what's acceptable in your world
- Per-checker enforcement, set each checker to Strict (block) or Monitor (log but allow)
- Custom thresholds, tune sensitivity for each checker independently
Block vs Rewrite
Most safety systems dead-end: content is either allowed or blocked. Blocking creates awkward silences in dialogue and broken player experiences.
The Atelico guardrails system can rewrite instead of block. The LlmRewrite checker transforms problematic content into something safe while preserving the original intent.
Player input: "a skeleton warrior dripping with
blood and gore"
Rewritten: "a skeleton warrior with ancient battle
scars and dark armor"
The player gets their skeleton warrior. Your game stays within its content policy.
Image Generation Safety
The same pipeline covers image generation, on both ends. On input, image prompts run through the checkers like any other text: block a problematic prompt, or append safety negative prompts automatically to steer the model away from unsafe outputs without rejecting the request. On output, an ML classifier screens the generated image itself, catching anything the prompt-side checks missed.