Non-disclosure agreement: requirement, validity and acceptance
Inheritance of the folder flag, the conditions of a valid acceptance, the portal endpoints, the evidence PDF, the notification and the template placeholders.
The third layer of the data room right is the NDA lock: in an NDA-required folder without a valid agreement the user's function list is empty, so no action (list, view, download, share, search, objects) works. The module is in development status: it has not yet run on a live data room with real PDF storage.
Data model
Table names carry the installation's own prefix in the database.
| Table | Role | Main fields |
|---|---|---|
nda_acceptance | the acceptance | user_id, person_id, company_client_id (0 = operator), doc_share_id, template_id, language_id, text_hash (SHA-256), accepted_at, ip, user_agent, doc_id (evidence PDF), status (0, 1, 9), revoked_at, revoked_by, note |
doc_share.nda_required | folder flag (0, 1) | owner: the shared folder model |
contract_template | agreement text (doc_kind = nda) | owner: the contract template model |
doc_room_event | timeline (nda_accept, nda_revoke) | — |
The only insert path is the portal adapter's addAcceptance(); the logic lives in the Dlbtdataroom library (ndaResolve, ndaValid, ndaLock, ndaDocument, ndaAccept).
Rules
- Inheritance: the flag on the folder or any parent (upwards, at most 25 levels). The disclosing party is the nearest filled client company in the chain, otherwise 0 (operator).
- Validity per user and client: the latest active row, the template ID equals that of the current default NDA template, and the text fingerprint (SHA-256 of the raw template body in the language of acceptance) matches. One acceptance opens every required folder of that client.
- Current template: active, of kind nda; empty subtype first, then default, sort order, ID. Built-in:
nda_v1, unilateral signing, 9 chapters. - States: valid, outdated, revoked, deleted, none. In doubtful cases (adapter or template unavailable) the lock stays; before the migration there is no requirement.
- Order in the portal: terms of use first, then the lock.
Portal endpoints and acceptance
roomdata: the locked folder is in the tree (NDA flag, count 0, empty functions); a direct request returns theNDA_REQUIREDerror code with the folder name and the disclosing party.nda: the filled text in the user's language; requires sign-in, accepted terms and a live folder assignment. Without a template:NOT_FOUND.ndaaccept(POST, session token, accept = 1): resolves the requirement, builds the text (template in the user's language, else Hungarian, else any language; recipient is the active person linked to the user, else the account), records and reads back.- Evidence PDF: the filled agreement plus a page with the electronic acceptance data (ID NDA-xxxxxx, parties, materials, time, IP, browser, fingerprint); stored through the document store's central path at the client company (role: nda). If it fails, the acceptance remains valid and the error is logged.
- Bell notification to every administrator who sees the client company (except the accepting user), linking to the list filtered to the user. No e-mail is sent.
- Timeline event and log line.
Template placeholders
| Placeholder | Meaning |
|---|---|
{nda_subject} | subject: the materials of the folder path |
{nda_term} | term in years (default 5 years) |
{nda_date} | date of acceptance |
{discloser_name} | name of the disclosing party |
{recipient_name}, {recipient_email} | recipient's name and e-mail |
{parties_block}, {signature_block}, {esign_clause} | parties, signature and acceptance blocks |
Permissions
In the portal the folder is visible under the three-layer data room right; the text and the acceptance can be requested only for a folder with a live assignment. The folder flag is written with the folder edit right.
Known limitations
- The term (default 5 years) comes from a system setting; the code shows no admin field, so where it can be set cannot be determined from the code.
- There is no function to produce a missing PDF later; how the administrator "prepares" it cannot be determined from the code.
- The exact layout of the locked card and the acceptance page comes from the data room theme.