Skip to content

Data restriction vs dynamic user filters vs per-list disable

Canonical page for the data half of “who sees which rows.” Users → Data Restriction stays the Users-rail entry and should link here for the comparison. List filter how-to stays short.

Three different features are easy to mix up.

Feature Where you set it What it does When to use
Data restriction (personalization) Users Every list/details/form on that database only shows rows that match the logged-in user (or their linked fields) Client should never see another client’s rows
Dynamic user property filters List screen filters A list filter whose value comes from the logged-in user’s properties One list should be “my region” without turning on global restriction
Per-screen / per-list disable Screen or component Turns off data restriction for that screen or nested list A staff directory must show everyone even though restriction is on
Builder filters Screen Fixed values, nested and / or / not groups, clock tokens, current row, or a URL parameter Working set, not identity
In-app filters Screen DYNAMIC (all values in the field) or PRE_DEFINED (chips you define) User-driven narrowing

When not to stack all five: pick the coarsest control that is safe. Restriction first for tenancy. Then list filters. Then in-app filters for convenience.

  1. The app is private and the Users database is linked.
  2. A property on the data database can match a user (email, relation to Users, or a shared select like Region).
  3. You have a Staff role that may need the disable switch.
  1. Open Users → Data restriction.
  2. Choose the matching fields (user email → row email, or user ↔ relation).
  3. Publish. View as a client. Confirm they only see their rows.
  1. Open the list → Filters.
  2. Add a filter, set the value source to the logged-in user’s property (see the how-to Filter List Screens by Logged-in User Properties).
  3. Do not also enable restriction on that database unless you want both.
  1. With restriction on, open the staff list.
  2. Enable Disable data restriction on this screen (product help deep-link).
  3. View as staff: all rows. View as client on a different screen: still restricted.
  1. Add an in-app filter.
  2. DYNAMIC — users pick any value that exists in the column.
  3. PRE_DEFINED — you define the chips (Open / Closed). Users cannot invent a third chip.
Control Options What it does
Restriction fields User field ↔ row field Tenancy.
Disable on screen On / off Staff exceptions.
Disable on component Nested list Data-to-data nested lists can inherit or disable.
Filter source Fixed value, logged-in user / user property, current row, clock token, URL parameter Builder filter. See Filter lists with groups and dynamic values.
In-app type DYNAMIC / PRE_DEFINED End-user chips.
In-app name Max 100 chars Label.

Data-to-data nested lists: a details screen can show a related list. That nested list honors restriction unless you disable it on the component. Reload on the nested list is the relation “show reload button.”

Clients see “their” rows only when restriction is on. Staff on a disabled screen see the working set from builder filters. In-app chips only narrow what is already allowed.

  • Restriction is not navigation. Hidden screens are a different control.
  • Guests have no user record. Restriction treats them as empty — usually they should not see the screen.
  • Dynamic user filters need the property on the Users database. Identity dual-write can keep that property fresh. See Identity admin.

Deliveries restricted by Client relation = logged-in user’s Company.

  • Client list: restriction on, in-app PRE_DEFINED Status.
  • Staff “All deliveries”: restriction disabled on that screen, builder filter none, in-app DYNAMIC Client.
  • Details nested “File versions”: inherits restriction so a client never sees another client’s files.
Symptom Likely cause What to do
Client sees everyone’s rows Restriction off, or disable left on Turn restriction on. Check disable.
Staff sees nothing Restriction on, no disable, user not matched Fix the match fields or disable the staff screen.
Filter how-to and this page disagree How-to is the short job This page is the comparison.

Data Restriction. In-app Filtering. Filter lists with groups and dynamic values. Identity admin.