Sixth cluster triaged — documents span four services, and must not be seeded

Docskamo-internal
Shipped
August 15, 2026 at 2:44 AM UTC
Author
kamo
Commit
7e20070

CREATE, EDIT, DELETE_DOCUMENTS and MANAGE_STORAGE all have real live features, so nothing here is deletable. VIEW_DOCUMENTS is client-only in navRegistry, the same shape as notes, and the four write rights gate nothing anywhere. Recorded rather than implemented because the surface is larger than it looks: 35 endpoints in ImagingController, 2 in DocumentController, 13 in BinderController, and the actual file upload is not in DocsService at all — it is ConversionService's /api/conversion/imaging/upload. CREATE_DOCUMENTS cannot be fully enforced without touching that fourth service, so a partial pass would ship a right that is enforced on folder creation and bypassed by uploading a file. The ImageAccessLevelType checks already in ImagingController are real but orthogonal: access level decides which documents, these rights decide whether the verb is allowed at all. The seeding decision is the part worth carrying forward. DELETE_DOCUMENTS and MANAGE_STORAGE are granted to the Administrator role only, in all 14 orgs, while VIEW/CREATE/EDIT go to 28 of 42 roles. 14 members can delete today because nothing checks and will stop being able to — that is the security model being honoured for the first time, not a regression, and seeding to preserve today's behaviour would overwrite the decision everywhere. So: a right that is differentially granted carries intent and must not be seeded; a right nobody holds at all, as with START_MEETING, carries none and must be. Rights resolve from the model attached per branch type on **************** through the waterfall into member_rights_applied, which is what enforcement should read. The verb mapping for all 50 endpoints is in the document, along with the two calls worth re-checking and a note that hasRightApplied is a database read per request on hot download paths.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing