Enable community self-moderation with robust content flagging capabilities. Allow users to report inappropriate posts and comments with detailed reporting reasons, helping maintain a safe and welcoming environment for all community members.

Multi-Content Support

Flag both posts and comments with the same comprehensive system

Cross-Platform Ready

Full support for iOS, Android, TypeScript, and Flutter implementations

Detailed Reporting

9 specific flag reasons plus custom explanations for accurate reporting

Admin Review

Flagged content appears in Admin Console for moderator review and action
Content flagging supports detailed reporting reasons with optional explanations, flag status tracking for users, cross-platform implementations across iOS, Android, TypeScript, and Flutter, and administrative review through the social.plus Console.

Flag Reasons

All content types support the same comprehensive set of flagging reasons to ensure consistent moderation across your application.
Flag ReasonDescriptionUse Cases
Community GuidelinesAgainst community guidelinesGeneral violations of established community rules
Harassment or BullyingHarassment or bullyingTargeted abuse, intimidation, or bullying behavior
Self-harm or SuicideSelf-harm or suicideContent promoting or depicting self-harm
Violence or ThreateningViolence or threatening contentViolent imagery, threats, or incitement to violence
Restricted ItemsSelling and promoting restricted itemsIllegal sales or promotion of prohibited items
Sexual ContentSexual message or nudityInappropriate sexual content or nudity
Spam or ScamsSpam or scamsUnwanted promotional content or fraudulent schemes
False InformationFalse information or misinformationDeliberately misleading or false content
OthersCustom explanation (Max 300 characters)Any other violations with detailed explanation
Flag reasons are available on iOS, Android, and TypeScript platforms. Other platforms may have limited flagging capabilities.

Flag Posts

Report inappropriate posts to community moderators and administrators with detailed flagging reasons and optional explanations.

Flag a Post

do {
    let success = try await postRepository.flagPost(withId: "<post-id>", reason: .communityGuidelines)
} catch {
    // Handle error here
}

Unflag a Post

do {
    let success = try await postRepository.unflagPost(withId: "<post-id>")
} catch {
    // Handle error here
}

Check Post Flag Status

do {
    let isFlagged = try await postRepository.isFlaggedByMe(withId: "<post-id>")
} catch {
    // Handle error here
}

Flag Comments

Report inappropriate comments with the same comprehensive flagging system used for posts, ensuring consistent moderation across all content types.

Flag a Comment

// Flag a comment
do {
    let success = try await commentRepository.flagComment(withId: "<comment-id>", reason: .communityGuidelines)
} catch {
    // Handle error here
}

Unflag a Comment

// Unflag a comment
do {
    let success = try await commentRepository.unflagComment(withId: "<comment-id>")
} catch {
    // Handle error here
}

Check Comment Flag Status

// Get the flag status
do {
    let isFlagged = try await commentRepository.isCommentFlaggedByMe(withId: "<comment-id>")
} catch {
    // Handle error here
}

Administrative Review

Flagged content automatically appears in the social.plus Console for administrative review and action.

Admin Console Integration

  • Flag Indicators: Visual indicators show flagged content in the admin interface
  • Review Workflow: Moderators can review flagged content and take appropriate action
  • Flag Validation: Administrators can approve or dismiss user reports
  • Content Actions: Delete, edit, or clear flags based on review outcomes

Moderation Actions

  • Content Deletion: Remove content that violates community guidelines
  • Flag Dismissal: Clear inappropriate flags after review
  • User Actions: Take action against users who repeatedly violate guidelines
  • Policy Updates: Use flagging patterns to refine community guidelines

Best Practices

Clear Guidelines

Provide clear community guidelines so users understand what to flag

Contextual Flagging

Show relevant flag reasons based on content type and context

User Education

Educate users on appropriate use of the flagging system

Timely Review

Ensure prompt administrative review of flagged content

Implementation Guidelines

  • Reason Selection: Present the most relevant flag reasons for the content type
  • User Confirmation: Always confirm flagging actions to prevent accidental reports
  • Status Feedback: Provide clear feedback about flag status and outcomes
  • Admin Training: Train moderators on consistent flag review and action

UI/UX Considerations

  • Accessible Flagging: Make flagging easily accessible but not prominent
  • Clear Labeling: Use clear, understandable labels for flag reasons
  • Progressive Disclosure: Show detailed reasons only when needed
  • Status Indicators: Clearly indicate when content has been flagged by the user