Domains
Go to Settings > Domains and press "Activate Domains". This is a process that can take a few minutes so don't expect to see the results right away (UI needs updating)
Go to the newly created Domain entity settings > Properties and you are now going to create as many entity fields of the entity type "Group" as you would like to have different groups within your domains. The name you give in these fields are the names used in the permissions interface later on.
E.g An accounting field of type "Group" entity.
Go to the CMS > Domain and create a new domain entity.
E.g. Hypercharge is the domain representing Hypercharge as a company.
Open the domain you created and select what existing group should be linked to the domain group.
E.g. We linked the accounting within the Hypercharge domain to the existing group "Hypercharge accounting"
Now that you have defined the domain and the related groups open the entity type you want to restrict access, and adjust the permissions accordingly
E.g. We removed View and Create permission on the "Client type" entity for "Hypercharge Users" and added it to the "Accounting" group. This means that when a user belongs to an "Accounting" group of a domain he will be able to view and create "Client type" entities.
To make a user able to see your configured entities he will now need to belong to the group configured in the permissions and be part of the same domain as the entity.
E.g. For a user to now see our "Freelancer" entity of "Client type" he will need to be part of the same domain (via his groups) as the entity. In this case, we have assigned the domain "Hypercharge" to the entity "Freelancer".
So in the end in this example, we made it so that only users from Hypercharge accounting can see the entities.