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

# User Roles & Permissions

> Configure user roles and access control permissions

<Info>
  **Navigation Path:** Admin Dashboard → Settings → User Roles & Permissions\
  **URL:** `/admin/PermissionOption`
</Info>

## Overview

Create custom user roles and configure granular access permissions to control what different users can see and do on your platform.

<CardGroup cols={2}>
  <Card title="Roles" icon="users" color="#10b981">
    Create and manage roles
  </Card>

  <Card title="Permissions" icon="shield-check" color="#0d6efd">
    Granular access control
  </Card>

  <Card title="Access Levels" icon="lock" color="#f59e0b">
    Define role capabilities
  </Card>

  <Card title="Security" icon="shield" color="#8b5cf6">
    Protect sensitive areas
  </Card>
</CardGroup>

***

## User Roles

Define different user types with specific permissions and access levels.

### Default Roles

| Role              | Typical Use       | Access Level             |
| ----------------- | ----------------- | ------------------------ |
| **Administrator** | Platform owners   | Complete control         |
| **Manager**       | Team leads        | Most features            |
| **Support**       | Customer service  | Customer-facing features |
| **User**          | Regular customers | Basic features only      |
| **Guest**         | Trial users       | Minimal access           |

### Creating Custom Roles

1. Click "Add Role" button in the User Roles section
2. Choose a descriptive name for the role (e.g., "Sales Team", "Technical Support")
3. Configure feature access by selecting appropriate permissions
4. Review all permissions to ensure they match the role's responsibilities
5. Save the role to make it available for assignment to users

<Tip>
  **Role Design:** Create roles based on job functions and follow the principle of least privilege. Grant only the minimum permissions necessary for users to perform their duties effectively.
</Tip>

<Warning>
  **Security:** Be cautious when granting administrative permissions. Too many administrators can create security risks and make it difficult to track changes. Limit admin access to trusted team members only.
</Warning>

***

## Permission Categories

Configure granular access control across different areas of your platform.

### Dashboard & Overview

* Full Access, Limited Access, or No Access to dashboard widgets

### User Management

| Permission   | Description             |
| ------------ | ----------------------- |
| View Users   | See list of all users   |
| Create Users | Add new accounts        |
| Edit Users   | Modify user information |
| Delete Users | Remove accounts         |
| Assign Roles | Change user roles       |

### Website Management

| Permission           | Description         |
| -------------------- | ------------------- |
| View Websites        | See all websites    |
| Create Websites      | Create new websites |
| Edit Websites        | Modify settings     |
| Delete Websites      | Remove websites     |
| Suspend Websites     | Disable websites    |
| Access Control Panel | DirectAdmin access  |

### Domain Management

| Permission       | Description          |
| ---------------- | -------------------- |
| View Domains     | See all domains      |
| Register Domains | Register new domains |
| Manage DNS       | Edit DNS records     |
| Transfer Domains | Initiate transfers   |
| Renew Domains    | Process renewals     |

### Billing & Payments

| Permission       | Description       |
| ---------------- | ----------------- |
| View Invoices    | See all invoices  |
| Create Invoices  | Generate invoices |
| Process Payments | Accept payments   |
| Issue Refunds    | Process refunds   |
| View Reports     | Financial reports |
| Manage Pricing   | Edit pricing      |

### Settings & Configuration

| Permission        | Description              |
| ----------------- | ------------------------ |
| General Settings  | Modify platform settings |
| Payment Gateway   | Configure payments       |
| Email Settings    | Manage email config      |
| API Settings      | Access API credentials   |
| Security Settings | Modify security          |

### Support & Tickets

| Permission       | Description          |
| ---------------- | -------------------- |
| View Tickets     | See all tickets      |
| Create Tickets   | Open tickets         |
| Reply to Tickets | Respond to customers |
| Close Tickets    | Mark resolved        |
| Assign Tickets   | Assign to team       |
| Delete Tickets   | Remove tickets       |

<Info>
  **Permission Levels:** Each permission can be set to Full Access (complete control), Read-Only (view only), Limited (specific actions), or No Access (feature hidden).
</Info>

***

## Common Role Configurations

<Tabs>
  <Tab title="Customer Service">
    * Dashboard: Limited (customer metrics)
    * View Users: Read-only
    * Edit Users: Limited (contact info only)
    * View Websites: Read-only
    * Suspend Websites: Yes
    * Tickets: Full access
    * Invoices: Read-only
    * Settings: No access
  </Tab>

  <Tab title="Sales Team">
    * Dashboard: Limited (sales metrics)
    * Create Users: Yes
    * View Users: Full
    * Create Websites: Yes
    * Domains: View and register
    * Create Invoices: Yes
    * Reports: Limited (sales only)
    * Settings: No access
  </Tab>

  <Tab title="Technical Support">
    * Dashboard: Full access
    * View Users: Full
    * Websites: Full access
    * Control Panel: Yes
    * Manage DNS: Full
    * Tickets: Full access
    * API Settings: Read-only
    * Payment Gateway: No access
  </Tab>

  <Tab title="Finance">
    * Dashboard: Limited (financial)
    * View Users: Read-only
    * Invoices: Full access
    * Process Payments: Yes
    * Issue Refunds: Yes
    * Reports: Full (financial)
    * Manage Pricing: Yes
    * Other Settings: No access
  </Tab>
</Tabs>

***

## Best Practices

<AccordionGroup>
  <Accordion title="Principle of Least Privilege" icon="shield">
    * Grant minimum necessary access for each role
    * Start with minimal permissions and add as needed
    * Review permissions regularly (quarterly recommended)
    * Remove unnecessary permissions promptly
    * Document why each permission is granted
    * Require justification for permission increases
    * Audit permission usage to identify unused access
  </Accordion>

  <Accordion title="Role Separation" icon="users">
    * Separate conflicting responsibilities (e.g., finance and technical)
    * Require multiple approvals for sensitive actions
    * Don't combine financial and technical full access in one role
    * Create specialized roles for specific functions
    * Avoid creating "super users" with all permissions
    * Use role hierarchy to organize permissions logically
    * Document role responsibilities clearly
  </Accordion>

  <Accordion title="Access Control" icon="lock">
    * Limit payment settings access to finance team only
    * Restrict API credentials to technical administrators
    * Control data deletion permissions carefully
    * Monitor admin actions with logging
    * Require strong passwords for all admin accounts
    * Enable two-factor authentication for sensitive roles
    * Set up alerts for critical permission changes
  </Accordion>

  <Accordion title="User Lifecycle Management" icon="user">
    * Assign appropriate role immediately upon account creation
    * Revoke all access when employee leaves organization
    * Transfer ownership of work before removing access
    * Change shared passwords after employee departure
    * Review and update roles when job responsibilities change
    * Maintain list of who has what access
    * Conduct regular access reviews
  </Accordion>
</AccordionGroup>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="User Can't Access Feature" icon="lock">
    **Issue:** User receives "access denied" or feature is hidden

    **Solutions:**

    1. Verify user's assigned role in user management
    2. Check role permissions for the specific feature
    3. Grant necessary permissions to the role
    4. Clear application cache
    5. Have user log out and log back in
    6. Test with different user account to isolate issue
  </Accordion>

  <Accordion title="Permissions Not Applying" icon="shield-check">
    **Issue:** Permission changes don't take effect

    **Solutions:**

    1. Save permission changes again
    2. User must log out and back in for changes to apply
    3. Clear application and session cache
    4. Test in incognito/private browsing mode
    5. Verify no conflicting permissions exist
    6. Check for permission inheritance issues
  </Accordion>

  <Accordion title="Too Many Administrators" icon="users">
    **Issue:** Too many users have admin access

    **Solutions:**

    1. Audit all users with admin role
    2. Create appropriate custom roles for specific needs
    3. Downgrade unnecessary administrators to custom roles
    4. Implement regular permission reviews
    5. Document who needs admin access and why
    6. Set up approval process for admin access
  </Accordion>

  <Accordion title="Role Changes Not Saving" icon="gear">
    **Issue:** Role configuration changes don't persist

    **Solutions:**

    1. Check for validation errors on save
    2. Verify you have permission to modify roles
    3. Clear browser cache and try again
    4. Check server logs for errors
    5. Ensure database connection is stable
    6. Try creating role with different name
  </Accordion>
</AccordionGroup>

***

## Quick Reference

### Permission Checklist

**Creating a Role:**

* [ ] Choose clear, descriptive name
* [ ] Define job function and responsibilities
* [ ] Set minimum necessary permissions
* [ ] Test with dummy account before deployment
* [ ] Document role purpose and permissions
* [ ] Get approval from management

**Regular Maintenance:**

* [ ] Quarterly permission audits
* [ ] Remove inactive users promptly
* [ ] Update roles for job changes
* [ ] Review admin access regularly
* [ ] Update role documentation
* [ ] Monitor permission usage

### Common Permission Combinations

| Need               | Permissions                                     |
| ------------------ | ----------------------------------------------- |
| View customer info | View Users (read-only)                          |
| Create accounts    | View + Create Users                             |
| Manage support     | View/Reply/Close Tickets                        |
| Process orders     | View Users + Create Invoices + Process Payments |
| Technical support  | View/Edit Websites + Manage DNS + View Tickets  |

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="General Settings" icon="gear" href="/general-settings">
    Platform-wide settings
  </Card>

  <Card title="Website Configuration" icon="globe" href="/website-configuration">
    Website creation settings
  </Card>

  <Card title="Hosting Plans" icon="box" href="/hosting-plans">
    Packages and pricing
  </Card>

  <Card title="Auto-Renewal Settings" icon="arrows-rotate" href="/auto-renewal-settings">
    Automatic renewals
  </Card>
</CardGroup>
