Établissement, Region, Department. On its own an attribute does nothing. It becomes powerful when a group rule or a row policy reads it: “members of the Paris site,” or “each person sees only rows for their own region.”
Attributes have two parts: a definition (the attribute exists) and values (what each member’s is).
Define an attribute
From Settings → Attributes, create a definition with:- A label, the human name (
Établissement). - A key, the machine name used in rules and policies. It’s auto-generated from the label as a lowercase slug (
etablissement) and is unique per company.
Assign values to members
From Settings → Team, open a member and edit their attributes. Values are multi-valued: enter them comma-separated (paris, lyon), and each parsed value shows as a chip.
A member can hold several values for one attribute. That matters for matching:
- A group rule with
is one of [paris, lyon]matches a member whoseetablissementincludes either. - A row policy that filters on a member’s attribute uses all their values—someone with
paris, lyonsees rows for both.
Where attributes are used
Both are evaluated live—update a member’s values and their group membership and row access change on the next request.
Next
- Groups — turn attributes into automatic membership.
- Row-level security — filter rows by a member’s attribute.