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.
dlrequest: one file, at most 300 selected files or the whole folder → adoc_downloadrow + thedoc_downloadbackground job (queued immediately, prepares in batches of 50, closes expired ones).dlstatus: every 2 s; if the job has not picked it up within 20 s, the request prepares it itself.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.- Files that cannot be watermarked (Word, Excel, video, ZIP) are not issued: they are skipped and listed.
- Password package: 8–128 characters, sent by POST, never stored → AES-256 encrypted ZIP (even for one file).
- 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
| Endpoint | Condition |
|---|---|
.roomdata, .objectlist | signed in, terms accepted |
.view, .thumb, .objthumb, .gview, .sheet | view (flags as well for sheet) |
.search, .searchall | view |
.dlrequest, .dlstatus, .dlfile, .download (legacy) | download or share |
.upload, .newfolder, .rename, .remove | matching function + CSRF |
.t | valid quick token (no sign-in, optional password; the file is watermarked) |