Three-layer data room permission and folder access

The account, function and content layers, the data room function keys, the sources of folder access, the shared after-grant step, the periodic check and the login e-mail.

The data room permission checks three layers in one decision point; without view no other function is valid. The "downloadable" flags do not restrict in the data room — downloading is the user's function, always watermarked; the exception is online Drive editing (sheet, text), which stays bound to the flags.

The three layers

Table names carry the installation's own prefix in the database.

  1. Account and folder: active user, live folder (status = 1, the folder's from–to window), the assignment window (doc_share_user.date_start, date_expire), store match.
  2. Function: the keys of document/dataroom granted to the user (user_feature, with their own window; User → Permission, subscription or contract). The function belongs to the user, not the folder; the column doc_share_user.functions remains but is not read.
  3. Content: the document is a member of the folder (or a subfolder), active, and within the user's company scope.

Function keys

document/dataroom: view, download, share, upload, folder, rename, delete, broker, terminate (BASE). terminate is contract-level, not folder-level.

Sources of folder access

sourceWritersource_ref
manualFolders screen or user form (user/user.shareadd, permission shares)0
contractthe brokerage contract synccontract_property_id
registrationthe interested party's access (ctx=registration, permission contract/contractaction + roomaccess)registration row id

Each source writes and removes only its own rows. The common consequence of every access (afterGrant) is a timeline row. The login e-mail is sent manually with the envelope icon in the user list (user/user.invite, revocation .inviterevoke): for an unactivated account an activation link (room_invite), for an activated one the room home page (room_access).

Periodic check

Extension setting (Documents): "Data room access check" (off, 1, 5, 10, 15, 30 minutes; default 5). When an open folder expires, a message appears and the user returns to the home page. The server-side gate decides on every request regardless. The group of new data room users also comes from here ("Data room – group of new users").

Admin endpoints

user/user.shareadd and .shareremove: shares; with ctx=registration the roomaccess key of contract/contractaction. user/user.invite, .inviterevoke: the user module's permission. Further keys of user/user: shares, consentreset (BASE).