Roadmap & Changelog
Roadmap
- Configure LLM or NLP per policy
- JSON editor to set up the LLM by pasting a config
- Policy versioning: revert to an older config from the policy or evaluation screen
- Stronger scam and phishing detection (AI on top of URL allowlists, with user scoring)
- Public moderation benchmark
- LLM judge for sensitive labels
- Vertical policy packs
Changelog
September 2026
Text normalization before moderation
- Chat, Feeds, and Check now decode HTML entities and strip zero-width / invisible characters before filters, AI, and the review queue run
- Encoded URLs and words (
https://…, missing semicolons,hchains,h​ttp) match the same plain rules as the rendered text - Stored message bodies are unchanged; the review queue shows the decoded copy
- Details: Text Normalization
Analyze API
- New
analyzemethod on the server-side SDKs (POST /api/v2/moderation/analyze) for per-field text and image screening - Documented on the Content page next to Check, with a comparison of when to use each
- Named
textsvia the server-side SDKs. Rawimage:<label>bytes are HTTP multipart only (not in the SDK) - Stateful (review queue + rules) or stateless (inline verdicts only). Sync HTTP body or async completion webhooks
- New webhook events:
moderation.text_analysis.complete,moderation.image_analysis.complete,moderation.analysis.failed - Details: Analyze
Keyframe video moderation
- Uploaded videos can be sampled into frames, run through image AI, and scored worst-frame-wins
- Results present as
ai_video, so existing video rules, billing, and queue filters keep working - Configure sampling in the dashboard; flagged videos play in the review queue
- Call review: the timeline shows which rule fired and highlights the keyframe or caption that caused it
- Details: AI Video File Moderation
Rules and flood detection
user_reaction_count: act on reaction velocity, or on the number of distinct messages a user reacted touser_identical_image_count: the same image matches by bytes, not by CDN URL- Identical flood can count the same text across users (
track_across_users) - Flood windows accept
30sand15s. Optionalmin_text_lengthskips short copy - Optional
country_codeon Check and Analyze (ISO 3166-1 alpha-2) - Feeds activity and comment
customnow reaches content custom-property rules - Domain allow lists win over AI Link / URL detection for those hosts
- Details: Rules and Flooding
Review queue and dashboard
- Dedicated Moderation API and webhook logs, no longer mixed into Chat → Logs
- Usage → Moderation: org-wide AI text, image, and video charts plus a per-app table
- Content queue: min-confidence filter, keyword search, and filter by rule name
- Labels explorer: keyword search on stored content
- Custom queue actions for standalone (non-Chat / Feeds) entities
- Restore is the single reversal action (replaces a separate Unblock)
- Context modal shows the action taken, and nests image L2s under their L1
- Appeals: translate the reason and linked content; appeal one
stream:userban at a time - Server-side shadow enforcement: shadowed Chat messages and Feeds activities stay visible only to the author
- Details: Review Queue, Appeals, and Logs & Analytics
August 2026
Policy evaluations
- New Evaluations page under Configuration in the Moderation dashboard
- Create a fixed batch of production or pasted content, run it through a policy, and compare later runs to a baseline
- Server-side REST API under
/api/v2/moderation/policy_tests/
February 2026
New Moderation Dashboard + Analytics
- Moderation dashboard available in legacy and beta
- Call moderation analytics widgets in both dashboards
Advanced Call Moderation Controls
- Configurable call moderation via rule builder
- Reactive moderation support (e.g., moderate only new users)
- Ban user after X call violations
Expanded API & SDK Moderation Support
SendMessageAPI now includes moderation object (server-side)check_usernamemethod added to Ruby SDK- Delete action support in moderation queue + webhook event
January 2026
- User Profile Moderation
- Added support for delete actions within the queue with a corresponding webhook event