Pre-Moderation
Block inappropriate content before it’s published with proactive AI scanning
Post-Moderation
Monitor and review published content with intelligent flagging and automated actions
Overview
social.plus offers two complementary AI moderation approaches:Pre-Moderation
Pre-Moderation
Proactive Content Filtering
- Content is scanned before publication
- AI generates confidence scores for detected violations
- Content blocked if confidence exceeds configured threshold
- User must modify content to proceed with posting
Post-Moderation
Post-Moderation
Reactive Content Review
- Content is scanned after publication
- Uses
flagConfidenceandblockConfidencethresholds - Automatically flags content for review or removes violations
- Maintains community safety without blocking legitimate content
Getting Started
1
Enable AI Moderation
Contact our support team to enable AI content moderation for your application.
2
Configure Settings
Set up confidence levels and moderation categories through the social.plus Console.
3
Test & Monitor
Test with sample content and monitor moderation effectiveness through analytics.
AI Pre-Moderation
Prevent inappropriate content from reaching your community with proactive AI scanning. Pre-moderation ensures all content meets your standards before publication.Current Availability: Pre-moderation is currently available for image content, with text and video support coming soon.
Image Content Detection
Our AI pre-moderation scans all uploaded images for inappropriate content across four key categories:Content Categories
Content Categories
- Nudity: Detection of explicit or inappropriate nudity
- Suggestive Content: Sexually suggestive or provocative imagery
- Violence: Violent or graphic content detection
- Disturbing Content: Content that may be psychologically disturbing
Configuration
1
Enable Image Moderation
Navigate to Moderation > Image Moderation in your social.plus Console and toggle “Enable image moderation” to ON.
2
Set Confidence Levels
Configure confidence thresholds for each category based on your community standards.
3
Test Configuration
Upload test images to verify your confidence settings work as expected.
Understanding Confidence Levels
Confidence levels represent the AI’s certainty in detecting specific content types:- Low Confidence (0-30): High sensitivity, may block legitimate content
- Medium Confidence (40-70): Balanced approach for most communities
- High Confidence (80-100): Conservative filtering, may miss some violations
Retaining Rejected Uploads
When pre-moderation refuses an image, the upload fails and the file is gone. There is nothing to look at if the uploader disputes the decision, nothing to tune your thresholds against, and no record that the attempt happened at all. Turning on reserved for review changes that: social.plus keeps the refused original and tells your backend, over a webhook, the moment a rejection happens. Your moderators can then look at what the classifier actually blocked. Retention is off by default and applies to images, the only content type pre-moderation covers today. The upload response is identical whether it is on or off, so your apps need no changes.1
Turn on retention
Send
reservedForReview: true to Update file configuration with an admin token.2
Subscribe to the rejection event
Add
file.didReject to your webhook subscription. It carries the fileId of the retained file — the upload response never does, so this event is the only way to learn it.3
Review the file
Fetch the retained image with Download file, using the
fileId from the event. Remove it when you are done with Delete file.What the uploader sees
Nothing changes. A refused image still returns403 with error code 400314 (UnsafeContent) and no fileId, whether or not retention is on:
Nudity content is not permitted, Suggestive content is not permitted, Violence content is not permitted, or Disturbing content is not permitted.
What is retained
A retained file is an ordinary file document withstatus set to rejected. It uses the same fileId, the same file endpoints, and the same network access type as any other file your network owns.
Two differences are worth knowing:
- Only the original is kept. No resized variants are generated, so a download returns the original whatever
sizeyou ask for. - The rejection details are not on the file. Reading the file never returns them. They reach you through the
file.didRejectwebhook only.
Rejection and upload events
Three file lifecycle events are available to webhook subscribers:file.didReject is useful on its own. With retention off, you still receive every rejection — with the classifier’s verdict but no file, because no file was kept. A rejected upload raises this event instead of file.didUpload.
Its rejection object lists every category that breached its threshold with the confidence the classifier assigned, echoes your network’s configured thresholds, and carries the message the uploader saw — enough to tell a marginal call from a clear one, and to tune your thresholds from real traffic.
AI Post-Moderation
Monitor and moderate published content with intelligent detection and automated response workflows. Post-moderation provides comprehensive scanning across all content types while maintaining user experience. All AI post-moderation results are surfaced through the Moderation Feed in the social.plus Console, located under Moderation > Moderation feed.Text Moderation
Detect inappropriate language, hate speech, and harmful text content
Image & Video
Scan visual content for policy violations and harmful imagery
User Profile Moderation
AI moderation for display names, avatars, and descriptions — see dedicated page
Moderation Feed
The Moderation Feed is the central hub for reviewing AI-flagged content. It is organized into two main workflow tabs:- To Review
- Reviewed
The To review tab displays all content that requires moderator attention, organized into sub-tabs:
- Posts and comments — Flagged posts and comments from communities and user timelines
- Messages — Flagged messages from channels and direct conversations
- Users — Flagged user profiles — see AI User Profile Moderation
- The AI moderation label and detected categories (e.g., “AI Mod: Harassment or bullying”)
- PII detection results when applicable (e.g., URLs, person types)
- The number of user reports (e.g., “1 user”, “4 users”)
- The last flagged timestamp
- Available moderation actions
- Delete post / Delete message — Remove the content
- Clear flag — Dismiss the flag and approve the content
Content Coverage
Posts and Comments
Posts and Comments
- Text, images, videos, clips, files, and livestream content
- Posts across all communities and user timelines
- Comments and reply chains on posts
- Filter by specific community feed or content creator
Messages
Messages
- Text, image, video, audio, and file messages
- Messages from group channels, direct messages, and live chat
- Filter by specific channel or message sender
Text Content Detection
The AI text moderation identifies and handles various types of inappropriate text content. Each category is scored on a severity scale from 0 to 7.Detection Categories
Detection Categories
Each name below is a value for the
category field. To set thresholds for one, add an entry like this to your configuration:Hate: Hate speech targeting protected groupsSexual: Adult content and explicit sexual referencesViolenceText: Violent threats, graphic descriptions, or dangerous activitiesSelfHarm: Content related to self-harm or suicidal ideation
PII Detection
PII Detection
In addition to content policy categories, the AI performs Personally Identifiable Information (PII) detection to flag sensitive data:
- URL — Links and web addresses embedded in content
- PersonType — References to specific person types or identities
Content that passes all AI checks displays “AI Mod: Passed” in the moderation feed. Content with detected violations shows the specific category labels.
Multimedia Content Detection
Advanced visual content analysis covers extensive categories, each scored on a confidence scale from 0 to 100. Images and videos share the same set of categories. Every name in the groups below is a value for thecategory field. To set thresholds for one, add an entry like this to your configuration:
Adult Content
Adult Content
Explicit Nudity,Exposed Female Genitalia,Exposed Male GenitaliaExplicit Sexual Activity,Sexual Activity,Sex ToysNon-Explicit Nudity of Intimate parts and Kissing,Implied Nudity,Kissing on the LipsExposed Male Nipple,Barechested MaleSwimwear or Underwear,Female Swimwear or Underwear,Male Swimwear or UnderwearGraphic Female Nudity,Graphic Male Nudity,Illustrated Explicit Nudity
Violence & Harmful Content
Violence & Harmful Content
Violence,Physical Violence,Weapon Violence,WeaponsBlood & Gore,Explosions and BlastsSelf-Harm,Corpses,Emaciated BodiesVisually Disturbing,Air Crash
Extremist & Hate Content
Extremist & Hate Content
Hate Symbols,Extremist,Nazi Party,White SupremacyRude Gestures,Middle Finger
Other Restricted Content
Other Restricted Content
Gambling
User Profile Moderation: AI moderation for user profiles (display names, avatars, descriptions) is covered in a dedicated page. See AI User Profile Moderation for setup, admin reset workflows, blocklist configuration, and moderation feed details.
Understanding Confidence Scores
Each category has two thresholds. Content is removed when its score reaches the block threshold, and flagged for review when it reaches the flag threshold.Confidence Thresholds
Confidence Thresholds
Flag Confidence-Media (Default: 40)
- Content scoring at or above this level gets flagged for review
- Lower values = more content flagged (higher sensitivity)
- Recommended range: 30-60 depending on community standards
- Content scoring at or above this level gets automatically removed
- Higher values = fewer false positives
- Recommended range: 70-90 for balanced protection
SelfHarm)- Content scoring at or above this level gets flagged for review
- Lower values = more content flagged (higher sensitivity)
- Recommended range: 3-4 depending on community standards
- Content scoring at or above this level gets automatically removed
- Higher values = fewer false positives
- Recommended range: 4-5 for balanced protection
Score Ranges
Score Ranges
Media Moderation (From 0 to 100 Scale)
- 0-39: Content passes moderation (approved)
- 40-79: Content flagged for human review
- 80-100: Content automatically blocked/removed
- 0-2: Content passes moderation (approved)
- 3-4: Content flagged for human review
- 5-7: Content automatically blocked/removed
Default Configuration: Media categories start with
flagConfidence: 40 and blockConfidence: 80. Text categories start with flagConfidence: 3 and blockConfidence: 5, except SelfHarm, which flags from 2. Monitor your community’s content patterns and adjust these values to optimize for your specific needs.Configuration Parameters
Parameter Reference
Parameter Reference
API Configuration
- Regional Endpoints
- Configuration APIs
Select the appropriate API endpoint for your region to ensure optimal performance:The
Both requests use the same path:
PUT requires an admin access token. The GET can be read with any authenticated user token.Note: The settings API is designed with eventual consistency, so a subsequent GET may temporarily return the previous configuration. The successful PUT response is the authoritative acknowledgement of the accepted update and can be used for programmatic verification.API Reference
For detailed administration workflows, see the Moderation Overview and analytics export documentation.
Best Practices
Configuration Strategy
Configuration Strategy
- Start Conservative: Begin with moderate confidence levels and adjust based on results
- Monitor Performance: Track false positive and false negative rates
- Community-Specific: Tailor settings to your community’s content standards
- Regular Review: Periodically review and update thresholds as your community evolves
Human Oversight
Human Oversight
- Review Queue Management: Ensure consistent review of flagged content
- Moderator Training: Train team on community standards and edge cases
- Appeal Process: Provide clear paths for users to contest moderation decisions
- Transparency: Communicate moderation policies clearly to users
Performance Optimization
Performance Optimization
- Batch Processing: Handle high-volume content efficiently
- Regional APIs: Use geographically appropriate endpoints
- Webhook Integration: Implement real-time event handling for flagged content
- Monitoring: Set up alerts for unusual moderation patterns