Viewing, watermark and watermarked issue in the data room

The viewing chain, watermark content, the three-step watermarked package and its job, the password ZIP, the issue register, write endpoints, objects and the quick link.

The data room streams bytes from storage (local or Drive); the viewer never receives a Drive link, the service account streams, and there is no public Drive sharing. PDFs and images are always shown with a watermark; if watermarking fails, nothing is served.

Viewing

  • The full permission chain is re-checked on every request; Office files are shown as PDF through Drive conversion.
  • Watermark: tiled, plus one line at the bottom: name (#id) | date time | Confidential. Thumbnails carry a user-specific watermark, no-cache.
  • For embeddable types direct URL navigation is blocked.

Watermarked package

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

  1. dlrequest: one file, at most 300 selected files or the whole folder → a doc_download row + the doc_download background job (queued immediately, prepares in batches of 50, closes expired ones).
  2. dlstatus: every 2 s; if the job has not picked it up within 20 s, the request prepares it itself.
  3. dlfile: watermarks in memory at download time with a unique code per item (name (#id) | date | Confidential | CODE); one file is delivered as the file, several as a streamed ZIP named after the folder with a table of contents. The package lives 24 hours; the permission is re-checked on download.
  4. Files that cannot be watermarked (Word, Excel, video, ZIP) are not issued: they are skipped and listed.
  5. Password package: 8–128 characters, sent by POST, never stored → AES-256 encrypted ZIP (even for one file).
  6. Share from device: at most 30 files or 150 MB; above that, or in browsers without file sharing, a ZIP download.

Issue register

doc_download (token, user_id, source, store_id, folder, doc, issued_by, doc_ids, encrypted) and doc_download_item (per item the issued version: original SHA-256, size, last modification, watermark code, fingerprint of the issued copy). Admin: Documents → Issue register (document/issuelog, permissions list, debug, SYSTEM). Admin issue on the Folders screen: document/folders + issue (and download).

Writing in the room

upload, newfolder, rename, remove — all POST with session token (CSRF), each requiring the matching function on the folder (upload, folder, rename, delete); every action is logged and added to the timeline.

Objects and search

Module objects can be attached to a folder (doc_share_object: object_type + object_id; currently property). The "Properties" main menu shows, as tiles without repetition, the properties of all folders available to the user today with view permission, with the full data sheet; a document linked to the property is visible only inside a shared folder. Search within a folder and globally; a tag cloud also without a folder.

Portal endpoints

EndpointCondition
.roomdata, .objectlistsigned in, terms accepted
.view, .thumb, .objthumb, .gview, .sheetview (flags as well for sheet)
.search, .searchallview
.dlrequest, .dlstatus, .dlfile, .download (legacy)download or share
.upload, .newfolder, .rename, .removematching function + CSRF
.tvalid quick token (no sign-in, optional password; the file is watermarked)