2025-03-25 03:52:30 -04:00
..
2025-03-25 03:52:30 -04:00
2025-03-25 03:52:30 -04:00
2025-03-25 03:52:30 -04:00
2025-03-25 03:52:30 -04:00

VoxPop Moderation Service

The Moderation Service handles content moderation for the VoxPop platform, providing functionality for flagging content, AI-based content filtering, and managing a moderation queue.

Features

  • Content Flagging: Users can flag content that violates platform guidelines
  • AI Moderation: Automatic content moderation using AI to detect spam, harmful content, etc.
  • Moderation Queue: A queue of flagged content for human moderators to review
  • Economic Barriers: A small fee (0.01 POL) is required for unverified users to submit content

API Endpoints

POST /flag-content

Flags content for moderation.

Request Body:

{
  "contentID": "string",
  "reason": "string",
  "flaggerAddress": "string"
}

Response:

{
  "success": true,
  "message": "Content flagged successfully"
}

GET /moderation-queue

Gets the list of content in the moderation queue.

Response:

{
  "success": true,
  "queue": [
    {
      "ID": "uuid",
      "ContentID": "string",
      "FlagCount": 3,
      "Reason": "string",
      "Status": "pending",
      "AIFlagged": true,
      "CreatedAt": "timestamp",
      "UpdatedAt": "timestamp"
    }
  ]
}

POST /moderate-content

Makes a moderation decision on content in the queue.

Request Body:

{
  "contentID": "string",
  "decision": "approve|reject"
}

Response:

{
  "success": true,
  "message": "Content moderated successfully"
}

POST /submit-for-moderation

Submits content for AI moderation before publishing.

Request Body:

{
  "contentID": "string",
  "text": "string",
  "userAddress": "string",
  "isVerified": true,
  "contentType": "perspective|comment"
}

Response for flagged content:

{
  "success": true,
  "flagged": true,
  "reason": "Potential spam content detected"
}

Response for approved content:

{
  "success": true,
  "flagged": false
}

Implementation Details

  • The service uses PostgreSQL for storing flag data and the moderation queue
  • Economic barrier is enforced for unverified users
  • AI moderation is currently mocked with basic keyword filtering
  • Content flagged 3 or more times is automatically added to the moderation queue

Development

Running Tests

cd poc/backend
go test ./moderation/... -v