# Differences between Role and Contact

## Overview

MaiAgent provides two permission setting methods: **Contact-based** and **Role-based**, supporting enterprises to precisely control knowledge base access permissions in different scenarios.

### Contact

A storage system in MaiAgent that synchronizes user information and creates Contact IDs to identify user conversation information.

{% hint style="info" %}
To learn more about contact information, please refer to [🌐Contact Introduction and Integration↗](https://docs.maiagent.ai/tech/maiagent-tech-en/authorization-integration/contacts)
{% endhint %}

<figure><img src="https://3415477754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNBTi475lqozGpB7xObpE%2Fuploads%2Fgit-blob-014415472288f559f650849304a7b45e5d2cb89d%2F%E6%88%AA%E5%9C%96%202025-07-07%20%E4%B8%8B%E5%8D%886.29.05%20(2).png?alt=media" alt=""><figcaption><p>Without Contact name setting: Users default to anonymous</p></figcaption></figure>

### Role

Roles with permissions to edit AI assistant backend settings can be pre-defined within the enterprise, such as customer service representatives, administrative staff, interns, etc. Organizations can pre-establish permissions and reference databases for roles, allowing organization members to directly apply settings based on their needs by selecting roles.

<figure><img src="https://3415477754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNBTi475lqozGpB7xObpE%2Fuploads%2Fgit-blob-3ee9233a19709cbeb9d408d978d2b331b2f8e898%2F%E6%88%AA%E5%9C%96%202025-07-07%20%E4%B8%8B%E5%8D%886.36.55.png?alt=media" alt=""><figcaption><p>Role user basic information display</p></figcaption></figure>

## I. Permission Method Comparison

<figure><img src="https://3415477754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNBTi475lqozGpB7xObpE%2Fuploads%2Fgit-blob-bb81392bc29a9771001ca21c0572cd2a94c123fc%2F%E6%88%AA%E5%9C%96%202025-07-07%20%E4%B8%8B%E5%8D%886.32.19.png?alt=media" alt=""><figcaption><p>AI Assistant embedding screen</p></figcaption></figure>

|       Comparison Items       |               Contact-based              |                                 Role-based                                 |
| :--------------------------: | :--------------------------------------: | :------------------------------------------------------------------------: |
|  🎯 **Applicable Scenarios** |    External users, System integration    |                   Internal users, Organization management                  |
| 👤 **MaiAgent Registration** |        ❌ No registration required        |              ✅ Registration and organization joining required              |
|    📋 **Creation Method**    |    System automatic or manual creation   |                         Pre-defined role templates                         |
|    🔄 **Update Mechanism**   | Dynamic user information synchronization |                       Static role permission settings                      |
|        🎯 **Purpose**        |  Identify user conversation information  | Apply default permission settings, manage AI assistant backend permissions |
|      👥 **Target Users**     |        External visitors, Members        |                  Internal employees, Organization members                  |
|   ⚙️ **Management Method**   |      Managed through API integration     |                   Managed through backend role management                  |
|   📊 **Permission Control**  |    Dynamic control based on Contact ID   |                        Static control based on Role                        |

### Typical Application Scenarios

**Contact-based Scenarios: Suitable for scenarios requiring clear role division and permission definition**

* **Corporate Website**: Visitors receive different product information based on identity
* **Member Center**: Access corresponding service content based on membership level
* **Customer Service Center**: Provide differentiated support based on customer type

**Role-based Scenarios**

* **Internal Operations**: Employees handle work based on department roles
* **Customer Service Team**: Access knowledge base according to responsibilities
* **Management Level**: Content review and maintenance based on permissions

### Comprehensive Usage Strategy

External operations (where user identity clarity is not required) are suitable for Contact-based management

Internal operations (requiring clear permission division / multiple members using same permissions) are suitable for Role-based management

<figure><img src="https://3415477754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNBTi475lqozGpB7xObpE%2Fuploads%2Fgit-blob-53645aaed37bd279cd5330b940b591e287bba444%2Fimage%20(34).png?alt=media" alt=""><figcaption><p>Contact and Role authorization usage recommendations</p></figcaption></figure>
