Observer reads every message in your community, flags what needs a human, and gives your team the context to act — with every action logged. Here’s each part of the system.
The sensors that feed Observer. A self-installed Minecraft plugin and a centrally-hosted Discord bot, both built around the same EventEnvelope schema.
The product's main surface. Every flagged event lands here, sorted by severity, ready for a human.
Every state change recorded, immutably. Actor, action, target, before, after, timestamp. The compliance evidence layer underneath everything else.
classify request · Haiku 4.5 · 87ms
reasoning → Personal attack directed at a T1 new account in response to a low-stakes question. Not a generic slur; targeted incivility. Below auto-action threshold; held for human review.
Every incoming event is classified with severity, categories, and confidence. Haiku for the bulk of the queue, Sonnet for context, Opus for edge cases.
Detects threats that span messages, days, or accounts: grooming, raid coordination, multi-account scams, slow-burn harassment. Long-form reads the whole conversation, not single messages.
@ada_92 → @minecraft_pop · 5 days
11 messagesLong-form pattern detected
Grooming-pattern across 11 messages, 5 days: age inquiry · isolation · platform pivot.
@ada_92
account 4d old · 5th acct (fingerprint match)
ActorRiskScore
A live 0–100 risk score per actor, recomputed hourly, with a transparent component breakdown. Pair with severity thresholds for auto-action policies.
DSA Article 24 reports, COPPA-age tooling, UK OSA risk-assessment templates, per-user DSR workflows. Generated from your audit log, not assembled by hand.
Notices received
1,284
+18% vs Q1
Median resolution
4min
SLA: <24h
Auto vs manual
89%
auto · 11% human-reviewed
Appeals · reversal rate
14/47
29.8% reversed
user · 22:16 · appeal opened
"was a princess bride quote in #off-topic"
system · 22:16 · context pulled
3 messages before, 3 after, + #off-topic last hour for tone.
senior · 22:19 · resolved · reversal
"yeah this was a movie quote. reversing."
User-facing appeal portal. Senior-reviewer queue with SLA tracking. Audit-log forks per appeal. Reversals feed back as active-learning signal into the classifier.
Deterministic rules alongside the LLM. For the cases where you know exactly what you want banned and don't want to wait for a model to learn it.
rules:
- name: ip-grab-bait
match:
regex: "grabify\\.link|iplogger\\.com"
severity: severe
action: ban
- name: staff-impersonation
match:
structural: { username_contains: ["mod", "admin"] }
and: { account_age_lt: "24h" }
severity: severe
action: escalate
- name: channel-only-server-link
match:
list: server-invite-domains
channels: ["#general", "#announcements"]
severity: moderate
action: delete For studios running multiple communities. Multi-server roll-up, team roles, SSO/SAML, audit federation, priority support, and BYO Anthropic API key.
community 1
survival.example.gg
14 in queue · 4 severe
community 2
creative.example.gg
3 in queue · 0 severe
community 3
events.example.gg
1 in queue · 0 severe
community 4
discord.example.gg
7 in queue · 2 severe
The private beta is free, with full access while we refine Observer with a small group of operators. We’ll help you get set up on the onboarding call.