> ## 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.

# Moderation Roles & Privileges

> Comprehensive guide to user roles, moderation privileges, and administrative controls in social.plus Console for effective community management.

social.plus provides a comprehensive role-based moderation system that enables effective community management through hierarchical permissions, automated tools, and granular control over user interactions across your platform.

<Info>
  Moderation capabilities are determined by user roles, ranging from basic users to global administrators with full platform control.
</Info>

## Role Hierarchy Overview

<CardGroup cols={2}>
  <Card title="User Roles" icon="users" href="#user-roles">
    Member, Moderator, and Super-Moderator roles with escalating privileges
  </Card>

  <Card title="Admin Roles" icon="user-shield" href="#admin-roles">
    Global Admin and Super-Admin roles for platform administration
  </Card>

  <Card title="Custom Roles" icon="gear" href="#custom-roles">
    Create custom roles with tailored permissions for specific needs
  </Card>

  <Card title="Permission Management" icon="key" href="#permissions">
    Granular control over user actions and moderation capabilities
  </Card>
</CardGroup>

## User Roles

<Tabs>
  <Tab title="Role Types">
    ### Standard User Roles

    <AccordionGroup>
      <Accordion title="Member (Default)">
        **Basic User Role:**

        * No moderation privileges
        * Standard content creation and interaction
        * Subject to all moderation rules
        * Can report inappropriate content

        **Capabilities:**

        * Create posts and comments
        * Join communities and channels
        * React to content
        * Send direct messages
        * Update profile information
      </Accordion>

      <Accordion title="Community Moderator">
        **Community Moderation Role:**

        * General moderation privileges
        * Can moderate assigned communities/channels
        * Subject to moderation from Super-Moderators and Admins
        * Enhanced reporting and review capabilities

        **Additional Capabilities:**

        * Delete inappropriate content
        * Mute and unmute users
        * Ban users from channels/communities
        * Review reported content
        * Pin and feature content
      </Accordion>

      <Accordion title="Global Moderator">
        **Enhanced Moderation Role:**

        * All community moderator privileges
        * Exempt from moderation by regular moderators
        * Cross-community moderation capabilities
        * Advanced moderation tools access

        **Enhanced Capabilities:**

        * Global content moderation
        * Cross-community user management
        * Advanced analytics access
        * Escalation handling
        * Policy enforcement
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Role Comparison">
    ### Privilege Comparison

    | Capability                 | Member | Community Moderator | Global Moderator |
    | -------------------------- | ------ | ------------------- | ---------------- |
    | Create Content             | ✅      | ✅                   | ✅                |
    | Join Communities           | ✅      | ✅                   | ✅                |
    | Delete Others' Content     | ❌      | ✅                   | ✅                |
    | Mute/Unmute Users          | ❌      | ✅                   | ✅                |
    | Ban Users                  | ❌      | ✅                   | ✅                |
    | Cross-Community Moderation | ❌      | ❌                   | ✅                |
    | Exempt from Moderation     | ❌      | ❌                   | ✅                |
    | Advanced Analytics         | ❌      | Limited             | ✅                |

    ### Moderation Scope

    <CardGroup cols={2}>
      <Card title="Network-Level Moderators" icon="globe">
        * Moderate across all communities
        * Access to global user management
        * Platform-wide policy enforcement
        * Cross-community analytics
      </Card>

      <Card title="Community-Level Moderators" icon="users">
        * Limited to specific communities
        * Community-specific user management
        * Local policy enforcement
        * Community analytics only
      </Card>
    </CardGroup>
  </Tab>
</Tabs>

## Admin Roles

<Tabs>
  <Tab title="Admin Types">
    ### Administrative Roles

    <AccordionGroup>
      <Accordion title="Global Admin">
        **Platform Administrator:**

        * Full moderation privileges across platform
        * User role assignment capabilities
        * Exempt from all moderation actions
        * System configuration access

        **Exclusive Capabilities:**

        * Assign roles to other users
        * Create and manage admin accounts
        * Configure platform-wide settings
        * Access to all analytics and reports
        * Global ban/unban capabilities

        <Warning>
          Global Admin role is reserved for administrators only and cannot be assigned to regular users.
        </Warning>
      </Accordion>

      <Accordion title="Super-Admin">
        **System Administrator:**

        * Highest level of access
        * Reserved for critical system operations
        * Cannot generate Admin API tokens
        * Used for system-level configurations

        **System Operations:**

        * Push notification certificate management
        * Core system configuration
        * Infrastructure-level settings
        * Emergency system access

        <Info>
          Super-Admin access is automatically granted when accessing console from the social.plus Portal. Create separate admin accounts for regular administrative tasks.
        </Info>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Admin Management">
    ### Creating Admin Accounts

    <Steps>
      <Step title="Access Admin Panel">
        Navigate to Console → **Admin Users** → **Manage Admin Users**
      </Step>

      <Step title="Create New Admin">
        Click **Create New Admin** and provide credentials
      </Step>

      <Step title="Assign Permissions">
        Configure role permissions and access levels
      </Step>

      <Step title="Verify Setup">
        Test admin account functionality and access
      </Step>
    </Steps>

    ### Admin Best Practices

    <AccordionGroup>
      <Accordion title="Account Security">
        **Security Measures:**

        * Use strong, unique passwords
        * Enable two-factor authentication
        * Regular password rotation
        * Monitor admin activity logs
        * Limit admin account creation

        **Access Control:**

        * Principle of least privilege
        * Regular access reviews
        * Separate accounts for different purposes
        * Audit trail maintenance
      </Accordion>

      <Accordion title="Admin Token Management">
        **API Token Usage:**

        * Use dedicated admin accounts for API access
        * Never use Super-Admin for API token generation
        * Implement token rotation policies
        * Revoke tokens immediately if compromised
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Role Management

<Tabs>
  <Tab title="Changing User Roles">
    ### User Role Assignment

    <Steps>
      <Step title="Navigate to Community">
        Go to **Community** → **Communities** and select target community
      </Step>

      <Step title="Access Members">
        Click the **Manage Members** tab to view community members
      </Step>

      <Step title="Select User">
        Choose the user whose role you want to change
      </Step>

      <Step title="Change Role">
        Click **Change user role** button and select new role
      </Step>

      <Step title="Confirm Change">
        Review selection and click **Confirm** to apply changes
      </Step>
    </Steps>

    ### Role Change Considerations

    <AccordionGroup>
      <Accordion title="Promotion Guidelines">
        **Member to Moderator:**

        * Verify user's community engagement
        * Assess understanding of community guidelines
        * Consider user's history and behavior
        * Provide moderation training and resources

        **Moderator to Super-Moderator:**

        * Evaluate moderation performance
        * Assess cross-community needs
        * Verify advanced understanding of policies
        * Consider platform-wide responsibilities
      </Accordion>

      <Accordion title="Demotion Procedures">
        **Role Reduction:**

        * Document reasons for demotion
        * Communicate changes to affected user
        * Review moderation history
        * Implement gradual privilege reduction
        * Monitor post-demotion behavior

        <Info>
          Communities must maintain at least one moderator. The last remaining moderator cannot be demoted to member status.
        </Info>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Custom Roles">
    ### Creating Custom Roles

    <Steps>
      <Step title="Access Role Management">
        Navigate to **Users** → **Roles** in the console
      </Step>

      <Step title="Create New Role">
        Click **Create a new role** button
      </Step>

      <Step title="Configure Role">
        Provide role name and select custom permissions
      </Step>

      <Step title="Save Configuration">
        Review settings and click **Create** to finalize
      </Step>
    </Steps>

    ### Permission Categories

    <AccordionGroup>
      <Accordion title="Content Management">
        **Content Permissions:**

        * Create, edit, delete posts
        * Moderate comments and replies
        * Pin and feature content
        * Manage content categories
        * Handle reported content

        ```json theme={null}
        {
          "contentPermissions": {
            "createPost": true,
            "editPost": true,
            "deletePost": true,
            "moderateComments": true,
            "pinContent": true,
            "featureContent": false
          }
        }
        ```
      </Accordion>

      <Accordion title="User Management">
        **User Permissions:**

        * View user profiles and activity
        * Mute and unmute users
        * Ban and unban users
        * Assign community roles
        * Access user social history

        ```json theme={null}
        {
          "userPermissions": {
            "viewUserProfiles": true,
            "muteUsers": true,
            "banUsers": true,
            "assignRoles": false,
            "accessUserHistory": true
          }
        }
        ```
      </Accordion>

      <Accordion title="Community Management">
        **Community Permissions:**

        * Create and edit communities
        * Manage community settings
        * Control community membership
        * Configure community categories
        * Access community analytics

        ```json theme={null}
        {
          "communityPermissions": {
            "createCommunity": false,
            "editCommunity": true,
            "manageMembership": true,
            "configureCategories": true,
            "accessAnalytics": true
          }
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Moderation Tools

<Tabs>
  <Tab title="Content Moderation">
    ### Automated Moderation

    <AccordionGroup>
      <Accordion title="Blocklist Management">
        **Automated Content Filtering:**

        * Block specific words and phrases
        * Support for exact and partial matching
        * Automatic muting for violations
        * Custom violation responses

        **Moderated Content Types:**

        * Chat messages
        * Posts and comments
        * Poll questions and answers
        * User-generated text content

        **Non-Moderated Content:**

        * Community names
        * Channel names
        * User display names
        * File names
        * System-generated content

        ```json theme={null}
        {
          "blocklist": {
            "expressions": ["inappropriate_word", "spam_phrase"],
            "matchType": "partial",
            "autoMute": true,
            "muteDuration": 300000,
            "customResponse": "Your message violates community guidelines."
          }
        }
        ```
      </Accordion>

      <Accordion title="Allowlist Management">
        **Link Control System:**

        * Default link blocking enabled
        * Whitelist approved domains
        * Pattern-based URL filtering
        * Real-time link validation

        **Configuration Options:**

        * Enable/disable link restrictions
        * Add trusted domains
        * Wildcard domain support
        * Protocol-specific rules

        ```json theme={null}
        {
          "allowlist": {
            "enabled": true,
            "domains": [
              "example.com",
              "*.trusted-site.org",
              "https://secure.domain.net"
            ],
            "bypassRoles": ["moderator", "admin"]
          }
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="User Actions">
    ### User Moderation

    <AccordionGroup>
      <Accordion title="Global Ban/Unban">
        **Platform-Wide Actions:**

        * Remove user from entire platform
        * Disconnect from all channels and communities
        * Delete all chat messages
        * Preserve social content (posts, comments)
        * Prevent re-authentication until unbanned

        **Global Ban Process:**

        1. Navigate to **Users** in console
        2. Select target user
        3. Click ban user icon in **Actions**
        4. Confirm action in popup

        <Info>
          Global ban takes up to 30 seconds to disconnect users. Ban does not emit channel events or update Live Collections.
        </Info>

        **Global Unban Process:**

        1. Go to **Users** in console
        2. Select banned user
        3. Click unban user icon in **Actions**
        4. Confirm unban action
      </Accordion>

      <Accordion title="Channel-Level Actions">
        **Channel-Specific Moderation:**

        * Ban users from specific channels only
        * Soft delete channel messages
        * Real-time ban notifications
        * Immediate LiveCollection updates

        **Channel Ban Process:**

        1. Navigate to **Channels** in console
        2. Select target channel
        3. Click **Members** button
        4. Select user to ban
        5. Click ban icon and confirm

        **Channel Unban Process:**

        1. Go to **Channels** in console
        2. Select relevant channel
        3. Access **Members** section
        4. Select banned user
        5. Click unban icon and confirm
      </Accordion>

      <Accordion title="Muting Users">
        **Temporary Restrictions:**

        * Prevent message sending
        * Allow message observation
        * Channel-level application
        * Indefinite duration until unmuted

        **Mute Capabilities:**

        * Available to moderators and above
        * Immediate effect implementation
        * Real-time status updates
        * Manual unmute required
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Platform Integration

<Tabs>
  <Tab title="UIKit Support">
    ### UI Framework Integration

    <CardGroup cols={2}>
      <Card title="iOS & Android UIKit" icon="mobile">
        **Full Moderation Support:**

        * Network-level moderation
        * Community-level moderation
        * Enhanced moderator menus
        * Real-time permission updates
      </Card>

      <Card title="Web UIKit" icon="desktop">
        **Community-Level Support:**

        * Community moderation only
        * Basic moderator interface
        * Limited cross-community features
        * Standard web interactions
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="API Integration">
    ### Moderation APIs

    <AccordionGroup>
      <Accordion title="Role Management API">
        **Role Assignment Endpoints:**

        * `POST /api/v4/communities/{communityId}/users/roles` - Assign community role
        * `PUT /api/v3/users/{userId}/roles` - Update user role
        * `GET /api/v3/users/{userId}/roles` - Get user roles
        * `DELETE /api/v4/communities/{communityId}/users/{userId}/roles` - Remove role

        **Example Role Assignment:**

        ```bash theme={null}
        curl -X POST "https://api.amity.co/api/v4/communities/123/users/roles" \
          -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
          -H "Content-Type: application/json" \
          -d '{
            "userId": "user456",
            "role": "community-moderator"
          }'
        ```
      </Accordion>

      <Accordion title="Moderation Action APIs">
        **User Moderation Endpoints:**

        * `POST /api/v3/users/{userId}/ban` - Ban user globally or from channel
        * `DELETE /api/v3/users/{userId}/ban` - Unban user
        * `POST /api/v3/users/{userId}/mute` - Mute user in channel
        * `DELETE /api/v3/users/{userId}/mute` - Unmute user

        **Content Moderation Endpoints:**

        * `DELETE /api/v3/posts/{postId}` - Delete post
        * `DELETE /api/v3/comments/{commentId}` - Delete comment
        * `POST /api/v3/posts/{postId}/flag` - Flag content for review
        * `POST /api/v3/posts/{postId}/approve` - Approve flagged content
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>

## Best Practices

<AccordionGroup>
  <Accordion title="Role Assignment Strategy">
    **Effective Role Management:**

    * **Gradual Progression**: Promote users through role hierarchy gradually
    * **Performance-Based**: Base promotions on demonstrated moderation skills
    * **Community Fit**: Consider user's understanding of community culture
    * **Training**: Provide moderation training before role assignment
    * **Regular Review**: Periodically assess role effectiveness

    **Selection Criteria:**

    * Active community participation
    * Positive user interactions
    * Understanding of platform guidelines
    * Demonstrated leadership qualities
    * Availability for moderation duties
  </Accordion>

  <Accordion title="Moderation Consistency">
    **Uniform Policy Enforcement:**

    * **Clear Guidelines**: Establish comprehensive moderation guidelines
    * **Decision Documentation**: Record moderation actions and reasoning
    * **Team Communication**: Coordinate between moderators
    * **Policy Updates**: Keep moderation policies current
    * **Training Programs**: Regular moderator training sessions

    **Escalation Procedures:**

    * Define clear escalation paths
    * Set response time expectations
    * Establish appeal processes
    * Document complex decisions
    * Review controversial actions
  </Accordion>

  <Accordion title="Community Trust Building">
    **Transparent Moderation:**

    * **Clear Communication**: Explain moderation actions to users
    * **Fair Application**: Apply rules consistently across all users
    * **Appeal Process**: Provide mechanisms for users to appeal decisions
    * **Feedback Collection**: Gather community feedback on moderation
    * **Policy Transparency**: Make community guidelines easily accessible

    **Trust Indicators:**

    * Consistent rule enforcement
    * Responsive to community concerns
    * Clear communication about policy changes
    * Fair handling of disputes
    * Regular community engagement
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Common Role Issues">
    **Role Assignment Problems:**

    * **Permission Errors**: Verify admin privileges for role changes
    * **Role Conflicts**: Check for conflicting role assignments
    * **Community Minimums**: Ensure communities maintain minimum moderator count
    * **API Failures**: Verify token permissions and API endpoint access

    **Solutions:**

    * Use Global Admin accounts for role management
    * Resolve role conflicts before new assignments
    * Promote additional moderators before demoting existing ones
    * Check API token scopes and expiration
  </Accordion>

  <Accordion title="Moderation Action Issues">
    **Common Problems:**

    * **Ban Not Effective**: Check user connection status and ban scope
    * **Content Still Visible**: Verify soft deletion vs. hard deletion
    * **Permission Denied**: Confirm moderator privileges and scope
    * **API Timeouts**: Retry operations and check system status

    **Troubleshooting Steps:**

    1. Verify user role and permissions
    2. Check action scope (global vs. channel)
    3. Confirm API token validity
    4. Review system logs for errors
    5. Contact support for persistent issues
  </Accordion>
</AccordionGroup>

***

<Tip>
  Effective moderation requires balancing automated tools with human judgment. Regular training and clear guidelines ensure consistent, fair community management.
</Tip>
