> ## Documentation Index
> Fetch the complete documentation index at: https://learn.social.plus/llms.txt
> Use this file to discover all available pages before exploring further.

# Content Moderation Overview

> Connect chat message reports, message removal, and channel governance with the SDK surfaces that support moderation workflows.

Content moderation in the Chat SDK is built from specific client actions: users can flag messages, apps can render flag state from message models, messages can be edited or soft-deleted where supported, and moderators can use channel governance APIs for roles, bans, and mutes.

Keep review policy, escalation rules, audit notes, and compliance workflows in your own product or backend. The SDK supplies the client-side actions and state needed to connect those workflows to chat.

## Capability Map

| Capability              | Use it for                                                                 | SDK page                                                                                             |
| ----------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Flag a message          | Let a signed-in user report a message with a reason.                       | [Message Flagging](/social-plus-sdk/chat/messaging-features/message-flagging)                        |
| Unflag a message        | Let the current user remove their own report.                              | [Message Flagging](/social-plus-sdk/chat/messaging-features/message-flagging)                        |
| Read flag state         | Show whether the current user has already flagged a fetched message.       | [Message Flagging](/social-plus-sdk/chat/messaging-features/message-flagging)                        |
| Edit or delete messages | Update supported message types or soft-delete messages.                    | [Edit & Delete Messages](/social-plus-sdk/chat/messaging-features/messages/edit-and-delete-messages) |
| Query deleted state     | Include or exclude deleted messages where the platform exposes the filter. | [Query Messages](/social-plus-sdk/chat/messaging-features/messages/query-and-filter-messages)        |
| Channel governance      | Manage members, roles, bans, and mutes for channel-level enforcement.      | [Channel Governance](/social-plus-sdk/chat/conversation-management/channels/governance/overview)     |

## Platform Surface

| Surface                         | TypeScript | iOS       | Android                      | Flutter                      |
| ------------------------------- | ---------- | --------- | ---------------------------- | ---------------------------- |
| Flag with reason                | Supported  | Supported | Supported                    | Supported                    |
| Unflag                          | Supported  | Supported | Supported                    | Supported                    |
| Check current user's flag state | Supported  | Supported | Supported on fetched message | Supported on fetched message |
| Soft-delete messages            | Supported  | Supported | Supported                    | Supported                    |
| Query deleted messages          | Supported  | Supported | Supported                    | Supported                    |
| Channel bans and mutes          | Supported  | Supported | Supported                    | Supported                    |

## Moderation Flow

<CardGroup cols={2}>
  <Card title="Collect a report" href="/social-plus-sdk/chat/messaging-features/message-flagging" icon="flag">
    Call the platform flag API with the message ID and reason selected in your UI.
  </Card>

  <Card title="Refresh message state" href="/social-plus-sdk/chat/messaging-features/messages/get-and-view-a-message" icon="rotate">
    Re-read or observe the message when the UI needs current flag, deletion, reaction, or receipt state.
  </Card>

  <Card title="Hide removed content" href="/social-plus-sdk/chat/messaging-features/messages/edit-and-delete-messages" icon="trash">
    Treat soft-deleted messages as deleted in your renderer and avoid showing original content.
  </Card>

  <Card title="Enforce at channel level" href="/social-plus-sdk/chat/conversation-management/channels/governance/overview" icon="shield-check">
    Use role, ban, mute, and member APIs when moderation affects participation rather than a single message.
  </Card>
</CardGroup>

## Product Boundaries

| Concern            | SDK surface                                             | Product or backend responsibility                                            |
| ------------------ | ------------------------------------------------------- | ---------------------------------------------------------------------------- |
| User report        | Message flag and unflag APIs.                           | Report form copy, reason taxonomy, abuse policy, and user messaging.         |
| Message visibility | Message delete state and deleted-message query filters. | Renderer behavior, placeholders, audit copies, and moderator review screens. |
| User enforcement   | Channel role, ban, mute, and member APIs.               | Appeals, staff permissions, case notes, and cross-channel policy.            |
| Automation         | Client-visible state after moderation actions.          | Automated classifiers, review queues, escalation, and compliance exports.    |

## Related Topics

<CardGroup cols={3}>
  <Card title="Message Flagging" href="/social-plus-sdk/chat/messaging-features/message-flagging" icon="flag">
    Flag, unflag, and read the current user's flag state.
  </Card>

  <Card title="Edit & Delete Messages" href="/social-plus-sdk/chat/messaging-features/messages/edit-and-delete-messages" icon="pen-to-square">
    Update or soft-delete supported message types.
  </Card>

  <Card title="Ban Management" href="/social-plus-sdk/chat/conversation-management/channels/governance/ban-management" icon="user-slash">
    Prevent users from participating in a channel until unbanned.
  </Card>
</CardGroup>
