A warning only matters if later turns remember it. Browser-only counters can be cleared, while session-only counters disappear when a tab closes.
The family-safety path escalates repeated inappropriate behavior and records a permanent removal state. The UI then stops routing chat to the protected companion rather than asking the model to negotiate the boundary.
What was actually going wrong
Temporary warnings left enforcement vulnerable to refreshes and repeated boundary testing.
What I tried
- Resetting strikes when a new session began
- Relying on the companion to refuse every unsafe request
- Hiding the tab without persisting the account state
Persistent strikes lead to a durable lockout that removes access and displays a direct system explanation.
Why it worked
Enforcement happens in application state before another model request can be made.
Permanent child safety rules need permanent technical consequences.
Where EACI uses this today
Natalia, Atreus, and Luna remain E-for-Everyone, with durable lockouts for repeated safety violations.
This journal covers real engineering on EACI Companion / The Veil. Companions include Caelum, Chad, Natalia, Atreus, Luna, Roxy, and Cael. Journal articles stay family-safe in content. See Privacy and Ethics.