Skip to content

Filtering that doesn't punish innocent messages

A confidence model, not a substring match. Every surface covered, and nothing leaves your server unless you turn it on.

Substring filters are why “Scunthorpe” is a punchline. DaisyFilter scores every detection instead: high-confidence violations are blocked, borderline ones are monitored, and coincidental matches are left alone. Normalisation defeats spacing, leetspeak, confusables and invisible characters, so evasion costs the player more effort than it costs you.

Confidence-scored decisions

Every detection gets a probability. High-confidence violations are blocked, borderline ones are monitored, and coincidental matches are ignored, tuned for few false flags.

Every surface covered

Chat, commands, signs, books and anvils, with bypass-aware, off-thread scanning that never stalls the main thread.

Bypass-resistant matching

Normalization defeats spacing, leetspeak, confusables, and invisible-character tricks, while an allowlist and whole-word matching avoid the classic substring false positives.

Built-in safety rules

Links, bare domains, IP addresses, and Discord invites are blocked out of the box; emails and phone numbers are flagged for review.

Privacy-first storage

Masked metadata by default, optional AES-256-GCM raw content, keyed hashes, retention, and JSONL exports. Permission-gated, and never sent anywhere you have not enabled.

Moderation GUI & tools

A pastel dashboard with review, pardon, note, and raw-reveal workflows, a full command tree, and an optional PlaceholderAPI expansion.

Moderate from Discord

Optional staff-channel alerts with punish buttons, duration prompts, and account linking, so staff who are not logged in can still act. Off by default.

Punishments through your own plugin

Delegates to LiteBans, EssentialsX, AdvancedBan or LibertyBans via PunishBridge, with a vanilla fallback. No second punishment system to manage.