Skip to main content
Declare roles and row filters once in zite.permissions.json at the workspace root; every app and workflow enforces them on every zite.* call. Schema → permissions file; evaluation model → Roles & permissions.

A practical file

Managers get full access to Deals; account executives can read and update only their own rows:
Set defaultPolicy: "deny" to block every table unless a rule grants access. Use the built-in All team members role to grant something to everyone internal.

Gotchas

  • External app users bypass roles entirely. Roles govern internal members on the shared database. In a public app, scope every query yourself to the signed-in user:
    See Auth and Authentication.
  • You define roles here; a human assigns them on the Members tab. Keep each role’s id stable across renames so assignments survive.
  • Administrators (workspace editors) bypass all rules.