Permission Matrix
Owner: Product & Security
Reviewers: Backend, Web, Mobile, QA
Status: Draft — migrated from legacy SRS
Version: 0.1
Last Updated: 2026-09-16
Review Cycle: Per role/permission change
This matrix is a product-level permission baseline. Implementation must be validated in backend API authorization, web route/action visibility and mobile role flows.
Role Matrix
| Function Group | Admin | Farm Owner | Pond Technician | Admin Technical Staff | Current Status |
|---|---|---|---|---|---|
| Login and profile | Yes | Yes | Yes | Yes | PARTIAL |
| User management | Full | Create/assign pond technician within farm if allowed | No | No | PARTIAL |
| Farm management | Full | View/edit own farm as permitted | View related farm | View assigned farm/ticket context | PARTIAL |
| Pond/crop management | Full | Manage own ponds/crops | View/input assigned ponds | View assigned pond/ticket context | PARTIAL |
| Water dashboard | System-wide | Own farms | Assigned ponds | Assigned pond/incident context | PARTIAL |
| Alerts | View/process/monitor system-wide | View/process own farm alerts | Process assigned pond alerts | Process assigned alerts/tickets | PARTIAL |
| Device control | Full | Own farm if enabled | Assigned ponds if enabled | Mainly view/update via ticket; control only if granted | PARTIAL |
| Feeding and logs | Full/read-write by config | Input/view own farm | Input/view assigned ponds | View assigned ticket/pond context | PARTIAL |
| Reports and Excel | System-wide | Own farm | Assigned ponds if granted | Assigned ticket/pond if granted | PARTIAL |
| Tickets | View, assign, configure SLA | Create/view own farm tickets | Create/view assigned pond tickets | Accept, process, close assigned tickets | PARTIAL |
| Handbook | Admin content | Read/favorite | Read/favorite | Read/favorite | PARTIAL |
| Chatbot | Use and configure policy | Use within own farm | Use within assigned ponds | Use within assigned pond/ticket context | PLANNED |
| System configuration | Full | Farm-level threshold config if granted | No | No or technical config if separately granted | PARTIAL |
Required Enforcement
- Backend must enforce permission; UI hiding is not sufficient.
- Export, notification, AI context and chatbot retrieval must respect the same scope rules.
- Permission tests must include cross-farm and cross-pond denial cases.
- Any temporary bypass must be tracked as a release blocker before production.