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.
- 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. - Function: the keys of
document/dataroomgranted to the user (user_feature, with their own window; User → Permission, subscription or contract). The function belongs to the user, not the folder; the columndoc_share_user.functionsremains but is not read. - 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
source | Writer | source_ref |
|---|---|---|
manual | Folders screen or user form (user/user.shareadd, permission shares) | 0 |
contract | the brokerage contract sync | contract_property_id |
registration | the 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).