Skip to main content
Concordia implements a comprehensive moderation system to maintain community standards and manage user-generated content across the platform.

Overview

The moderation system provides:
  • Moderation queue: Centralized view of flagged content
  • Status-based workflows: Content goes through pending → published → moderated states
  • Role-based access: Moderators and admins can take moderation actions
  • Audit logging: All moderation actions are logged
  • User notifications: Authors are notified when content is moderated
  • Self-moderation prevention: Users cannot moderate their own content

Moderation Permissions

Two permissions control moderation capabilities:
Who has moderation permissions:
  • Moderators: Both moderation.queue and moderation.action
  • Administrators: Both permissions plus additional content deletion rights
  • Regular users: No moderation permissions

Content Status Model

Most user-generated content follows a status-based lifecycle:

Status Values

Content Types with Status

Moderation API

The moderation API is located at /api/admin/moderate.ts.

Endpoint

Request Body

Supported Content Types

Currently supported:
  • blogComments - Blog post comments
Extensible: The entity map can easily be extended to support:
  • reviews - Place reviews
  • forumPosts - Forum posts
  • classifieds - Classified ads
  • comments - General comments

Authentication & Authorization

Security checks:
  1. User must be authenticated
  2. User must have moderation.action permission
  3. User cannot moderate their own content
  4. Content must exist and not already be moderated

Validation

Validation rules:
  • All fields are required
  • postType must be a valid entity type
  • reason must be at least 5 characters

Self-Moderation Prevention

Users cannot moderate content they created - prevents abuse.

Moderation Action

Actions taken:
  1. Update content status to "moderated"
  2. Send notification to content author with reason
  3. Return success response

Moderation Workflow

1

Content flagged or reported

User reports inappropriate content or automated system flags it
2

Appears in moderation queue

Moderators see flagged content in their moderation dashboard
3

Moderator reviews content

Moderator examines the content and context
4

Moderation decision

Moderator takes action:
  • Approve: Keep published (remove from queue)
  • Hide: Set status to "moderated"
  • Delete: Soft-delete the content
5

Author notified

If content is moderated, author receives notification with reason
6

Audit logged

Moderation action is recorded in audit log

Notification System

When content is moderated, the author receives a notification:
Notification includes:
  • Clear title indicating moderation
  • Full reason provided by moderator
  • Link to the moderated content (via targetType and targetId)
  • Type marker for filtering/display

Moderator Permissions

Moderators have extensive permissions to manage community content:

Content Deletion Rights

Moderators can delete:
  • Reviews (any)
  • Comments (any)
  • Forum posts (any)
  • Classifieds (any)
  • Events (any)
  • Groups (any)
  • Galleries (any)
  • Products (any)
Additional forum powers:
  • Pin threads (highlight important discussions)
  • Lock threads (prevent further replies)

Admin vs Moderator

Error Codes

The moderation API returns specific error codes:

Usage Example

Client-Side Request

Success Response

Error Response

Audit Logging

All moderation actions should be logged to the audit log:
Audit log captures:
  • Who performed the moderation (userId)
  • What was moderated (targetId, postType)
  • Why it was moderated (reason)
  • When it occurred (createdAt)

Future Enhancements

Planned moderation features:
  • AI-based content filtering
  • Automatic flagging of suspicious content
  • Spam detection
  • Profanity filters
  • Priority levels for moderation queue
  • Assignment of items to specific moderators
  • SLA tracking for moderation response times
  • Bulk moderation actions
  • Users can appeal moderation decisions
  • Appeal review by senior moderators
  • Audit trail of appeals and outcomes
  • Pre-defined moderation reasons
  • Quick action buttons
  • Custom response templates
  • User-initiated content reports
  • Report categorization
  • Report status tracking
  • Reporter notifications

Best Practices

1

Always provide clear reasons

When moderating content, provide specific, actionable reasons so authors understand what violated community standards.
2

Be consistent

Apply moderation standards consistently across all users and content types to maintain fairness.
3

Review context

Before moderating, review the full context of the content, including surrounding discussion and user history.
4

Document decisions

Use the audit log to track patterns and ensure moderation actions are defensible.
5

Respond promptly

Process moderation queue items quickly to maintain community trust and content quality.
6

Educate users

Use moderation as an opportunity to educate users about community standards.

See Also