Klarety

Data access

Choose what each member reaches, and give or take back access to schemas, tables and connections.

Data access decides what each person can see and change in . Each member reaches everything, or only what you give them.

Owners and admins (see ) always reach everything, and cannot be limited.

Before you start

  • Only owners and admins can change access.
  • Folders are shared from the folder itself, with Who can see this. See Object storage.

The access levels

Tick the levels a person needs.

Level in the appIn codeWhat it allows
Know it existsexistsSee its name in lists
See its columnsstructureSee column names and types
Read its datareadRead rows and query them
Change its datawriteAdd, change and delete rows
Change its structurechange_structureAdd, rename and remove columns, make and delete tables
Give this access to othersgrantPass the same access on

Access can be given on a (every table in it), a Table or a Connection.

Limit a member to what they are given

Open Data access

Go to Settings and open Data access.

Set what the member reaches

Under What each member reaches, change the member from Everything to Only what is given below.

The Data access page in Settings
nx.access.limit_member("USER_ID")
nx.access.limit_member("USER_ID", granted_only=False)

Give access

Choose who and what

Under Give access, pick the Member, the kind (Schema, Table or Connection), and type its name, such as sales or sales.orders.

Choose the levels

Tick the levels the person needs.

Set the options

Tick Keep their changes in their own copy to keep their writes apart from the live table. Set an end date for temporary access.

Give it

Select Give access. It appears under Access given, with Their changes (Go live or Stay in their own copy) and Until.

give() sets the whole grant for one person on one resource, replacing what was there.

give_access.py
from klarety import Nexus

with Nexus.connect() as nx:
    nx.access.give(
        "person",
        "USER_ID",
        "table",
        "sales.orders",
        ["exists", "structure", "read"],
        columns={"email": "hashed", "phone": "hidden"},
        expires_at="2026-12-31T23:59:59Z",
    )
    for grant in nx.access.grants(principal_kind="person", principal_id="USER_ID"):
        print(grant)
OptionValues
Who (principal_kind)person, project, key
What (resource_kind)schema, table, folder, connection
wheremain (changes go live) or own_branch (their own copy)
columnsper column: hidden, hashed or nulled

Column options are available from code only.

Take back access

Under Access given, select Take back on the row.

nx.access.take_back("person", "USER_ID", "table", "sales.orders")

What can go wrong

Where to go next

On this page