# Group

## Definition

A group allows you to create a **set of users** in order to **grant access rights** to certain data. It can be made up of **users** but also of other **groups**. This allows you to create complex group trees to better partition data. A group is to a record what a profile is to a module.

## Activating groups

By default, a Uccello module is public and all users who have access to it can view all its data on the current domain. The notion of group allows to add an additional filtering in addition to the one applied by the domains.

For group filtering to be enabled, the following conditions must be checked:

* The module is private
* There is an [Assigned User](https://uccello.gitbook.io/doc/uitypes-displaytypes/default-uitypes#assigned-user) field in the module
* The user is not admin

When these conditions are met, a user can only see the module data assigned to him or assigned to a group to which he belongs.

{% hint style="info" %}
To work correctly, the Assigned User field must be linked to a column named `assigned_user_id` and of type `uuid`. The record `uuid`, available in the `uccello_entities` table, is then used.
{% endhint %}
