Access and permissions
Which permission each Documents screen needs, who may see and change what, and the rules that keep people from approving their own work.
On this page (11)
Permissions by screen
| Screen | Menu | Permission needed |
|---|---|---|
| Library | Documents > Documents > Library | dms.view (list); Upload needs dms.manage; New folder needs dms.configure |
| Library - My documents tab | Documents > Documents > My documents | dms.view |
| Library - Expiring tab | Documents > Documents > Expiring | dms.view |
| Library - Quarantine tab | Documents > Documents > Quarantine | dms.view |
| Document record | Documents > Library > open a row > Open document | dms.view; Edit, New version, Archive need dms.manage; hold and disposal need dms.dispose |
| Upload documents wizard | Library > Upload | dms.manage |
| Disposal review | Documents > Operations > Disposal review | dms.dispose; menu hidden when Retention and disposal is switched off |
| Expiring documents | Documents > Reporting > Expiring documents | dms.view |
| Retention register | Documents > Reporting > Retention register | dms.view; menu hidden when Retention and disposal is off |
| Storage usage | Documents > Reporting > Storage usage | dms.view |
| Workspaces and folders | Documents > Configuration > Workspaces and folders | dms.view (list); dms.configure (New / Edit) |
| Document types | Documents > Configuration > Document types | dms.view (list); dms.configure (New / Edit) |
| Retention policies | Documents > Configuration > Retention policies | dms.view (list); dms.configure (New / Edit); menu hidden when Retention and disposal is off |
| Indexed stores | Documents > Configuration > Indexed stores | dms.view; menu hidden when Indexed external stores is off |
| Documents smart button | Any record with a smart-button row (sales / purchase document, invoice, customer, product, employee, vehicle, manufacturing order, project, transfer, journal entry) | dms.view plus the right to read that record; no button when refused |
| Documents app configuration | Applications > Documents > Features / Fields | Company administrator (app configuration rights) |
All Documents screens
| Rule | What the system does |
|---|---|
| dms.view needed | No menu; API calls refused 'You do not have permission for this action.' |
Library / Upload
| Rule | What the system does |
|---|---|
| Upload needs dms.manage | Buttons hidden; API refused (403) |
Document record
| Rule | What the system does |
|---|---|
| Hold and disposal need dms.dispose | No hold / disposal items; API refused. dms.dispose is not given to operational roles by default |
| Guessed id learns nothing (DOC-A2) | All answer 'Record not found.' (404), same as an id that does not exist |
| Edit conflicts on hold and versions | Tab 2 refused 'This record changed. Reload it before saving.' |
Configuration
| Rule | What the system does |
|---|---|
| Configuration needs dms.configure | Lists readable, no New / pencil; API refused |
Disposal review
| Rule | What the system does |
|---|---|
| Maker-checker | Refused: 'Somebody other than the person who proposed it must review a disposal.' |
Library
| Rule | What the system does |
|---|---|
| Employee papers need hr.private.view | Employee documents store and files not shown; opening one by id -> 'Record not found.' |
| Payroll bank files and recruitment files | Payroll bank files and Recruitment files not shown, not counted in tabs, storage or export |
All
| Rule | What the system does |
|---|---|
| Company isolation | 'Record not found.'; the bytes store is per company so a key cannot reach another company's file |
Upload
| Rule | What the system does |
|---|---|
| Linking needs the right to read the record | Refused 'Record not found.' (404); the wizard does not offer that record type |
Preview / Download
| Rule | What the system does |
|---|---|
| Content cannot run | X-Content-Type-Options: nosniff; Cache-Control: private, no-store; Content-Security-Policy with sandbox (PDF inline: default-src 'none'; frame-ancestors 'self'); non-viewable files sent as attachment |
Export manifest
| Rule | What the system does |
|---|---|
| Export is audited and filtered | No employee papers in the CSV; audit 'dms.manifest.exported' with row count and hash; formula cells start with an apostrophe |