Sindh IT Portal — Facilitation DeskSpecification documents
Englishاردوسنڌي
← All documents

Roles & Permissions Matrix

Defines every actor in the Sindh IT Portal — Facilitation Desk (SITP), the nested organizational model, role templates, granular permission overrides, and the full capability matrix that governs access.

Field Value
Doc ID 04
Status Draft
Owner S&ITD / MAAHIR
Languages EN (master) · UR · SD
Related modules C. Org & RBAC (primary); B. Ticketing, I. Analytics, P. Officials CMS, Q. Feature Flags
Cross-refs /specs/en/06-ticket-workflow/ · /specs/en/10-ux-sitemap-flows/ · /specs/en/11-security-compliance/ · /specs/en/20-training-certification/

1. Overview

SITP uses a hybrid authorization model that combines Role-Based Access Control (RBAC) for coarse duties with Attribute-Based Access Control (ABAC) for fine-grained, context-sensitive visibility (especially on confidential and VIP tickets), plus per-user granular overrides on top of role templates.

Symbol legend (used throughout all matrices)

Symbol Meaning
Allowed by default for this role template
Denied by default for this role template
Conditional / configurable (depends on per-user override, per-department toggle, or attribute gate)
Not applicable to this role (capability has no meaningful instance)

2. Organizational Hierarchy (Government Side)

The Government of Sindh side of SITP is a tree. The owning department, S&ITD, holds platform-wide administration (Super Admin, facilitation staff) and also runs its own internal ticketing chain identical in shape to every other department. All other departments (40+, e.g. Labour, Investment, Finance, Excise, Revenue, IT-specific bodies) follow the same five-tier chain: Secretary (top oversight) → DG/Director (middle oversight) → Section/Sub-department → Officer/Staff/POC (resolve).

flowchart TD GoS["Government of Sindh"] GoS --> SITD["S&ITD<br/>Owning Department"] GoS --> DEPTS["All Other Departments<br/>(40+: Labour, Investment,<br/>Finance, Excise, ...)"] subgraph SITD_CHAIN["S&ITD internal chain (mirrors every department)"] direction TB SA["Super Admin<br/>(platform-wide owner)"] SITDSEC["Secretary S&ITD<br/>(oversight)"] SITDDG["DG / Director S&ITD<br/>(middle oversight)"] SITDSECT["Facilitation Section<br/>(sub-department)"] SITDSTAFF["Facilitation Officer / Staff<br/>(resolves tickets)"] end subgraph DEPT_CHAIN["Per-department chain (replicated x40+)"] direction TB DSEC["Department Secretary<br/>(top oversight)"] DDG["DG / Director<br/>(middle oversight)"] DSECT["Section / Sub-department<br/>(freely nestable)"] DOFF["Officer / Staff / POC<br/>(resolves tickets)"] end SITD --> SA SA --> SITDSEC --> SITDDG --> SITDSECT --> SITDSTAFF DEPTS --> DSEC --> DDG --> DSECT --> DOFF

Written description. The diagram shows two parallel subtrees under the Government of Sindh. On the left, S&ITD owns the platform and runs Super Admin plus an internal five-tier chain (Secretary S&ITD → DG S&ITD → Facilitation Section → Facilitation Officer). On the right, every other department (40+) follows the identical five-tier chain: Department Secretary → DG/Director → Section/Sub-department → Officer/Staff/POC. The arrows read top-down as reporting/oversight; tickets flow bottom-up for resolution and top-down only when escalated.

Nesting rules.


3. Government-Side Roles

The eight government-side role templates are described below. For each: scope (what data/org unit they touch), primary responsibilities, and typical actions.

3.1 Super Admin (S&ITD)

Attribute Detail
Scope Platform-wide (all departments, all companies, all configuration).
Primary responsibilities Own the platform on behalf of S&ITD; configure departments, integrations, feature flags, AI engines, notification channels; manage the Officials CMS; perform break-glass access; audit all privileged actions.
Typical actions Create/edit departments and sub-departments; configure SLA/escalation per department; toggle oversight powers; manage staff accounts platform-wide; manage Officials CMS records (Minister/Secretary/DG); configure SMTP/SMS/WhatsApp, AI engines, feature flags, holiday calendar; view all analytics and audit logs; export platform data; step-up-auth break-glass on confidential tickets.
Notes Held by designated S&ITD officers and a controlled MAAHIR operations lead. Always 2FA + step-up auth for config actions.

3.2 S&ITD Facilitation Officer / Staff

Attribute Detail
Scope S&ITD's own department subtree (the Facilitation Section) plus triage of mis-routed tickets.
Primary responsibilities Act as the human bridge between companies and departments; triage incoming tickets; route to the correct department; convene Tripartite (TRI) meetings; upload and publish Minutes of Meeting (MoM); follow up on stalled tickets; assist companies with onboarding.
Typical actions File internal/administrative tickets; reassign across departments (triage); request TRI meetings; upload MoM; publish normal MoM; send reminders; view department tickets when added as watcher; comment internally.
Notes Must pass the certification exam gate (see §14) before handling live tickets.

3.3 Department Admin

Attribute Detail
Scope One top-level department and its full subtree.
Primary responsibilities Administer the department within SITP: manage staff accounts, sub-departments, SLA defaults, notification templates, holiday entries, and KB articles for the department; configure feature flags within the department scope; serve as the department's operational owner.
Typical actions Create sub-departments; invite/deactivate staff; assign Department Officer roles; set per-department SLA/escalation; configure department notification templates; manage department KB; view department analytics and audit logs; export department data.
Notes Cannot create peer departments, manage Officials CMS, or change platform-wide config. Cross-department actions are denied.

3.4 Department Officer / Staff / POC

Attribute Detail
Scope The section/sub-department node to which they are assigned (and inherited tickets).
Primary responsibilities Resolve tickets routed to their unit; communicate with the company; upload evidence; meet the resolution-proof gate; raise internal flags when blocked.
Typical actions View assigned tickets; add public replies and internal notes; upload attachments; pause SLA on await; resolve with proof; request TRI meeting; create sub-tasks; link related tickets; add watchers from their unit.
Notes The day-to-day resolving role. Cannot reassign across departments, change SLA, or force-resolve. Must be certified before activation.

3.5 DG / Director (oversight)

Attribute Detail
Scope Their department (oversight), escalated tickets, TRI meetings.
Primary responsibilities Oversight of resolution performance; intervene on stalled or sensitive tickets; approve sensitive MoM; approve VIP closure (as Chair).
Typical actions (when action-powers enabled) Reassign within department; override SLA; force-resolve; send directives; approve sensitive closure; approve VIP closure; e-sign official letters.
Typical actions (notify-only mode) View department tickets and dashboards; comment; receive escalation notifications.
Notes Powers are configurable per department (see §9). Added automatically as watcher at the 2-day escalation tier.

3.6 Department Secretary (oversight)

Attribute Detail
Scope Their department (top oversight).
Primary responsibilities Top administrative accountability for the department's SITP performance; political-bureaucratic cover for escalations; sign-off on sensitive matters.
Typical actions (when action-powers enabled) All DG powers plus: send directives to DG and staff; configure department oversight powers (when delegated); approve MoM for VIP tickets.
Typical actions (notify-only mode) View dashboards; receive notifications at 5-day tier; comment.
Notes Added automatically at the 5-day (2+5) escalation tier. Powers configurable per department.

3.7 Minister / SACM (oversight)

Attribute Detail
Scope Cross-departmental political oversight; the SACM (Special Assistant to CM Sindh) for S&ITD holds platform-wide visibility.
Primary responsibilities Political oversight and directive authority; receive the 10-day final-tier escalation; chair high-profile TRI meetings; issue directives to any department.
Typical actions View all-department dashboards; send directives (✓ by default — this is the Minister's core power); receive 10-day notifications; e-sign high-level official letters; approve VIP closure at the political tier.
Notes Cross-department visibility is configurable but default-on for the SACM role.

3.8 Read-only Auditor

Attribute Detail
Scope Platform-wide read on audit logs, analytics, and ticket metadata; no write anywhere.
Primary responsibilities Independent assurance: review access changes, break-glass use, escalation overrides, export events; support RTI, internal audit, and CERT-PK coordination.
Typical actions View audit logs platform-wide; view analytics; export audit extracts; view ticket metadata (subject to ABAC on confidential). Cannot comment, assign, resolve, or configure.
Notes Typically a separate account type held by audit/assurance staff, not a normal officer role.

4. Company-Side Roles

A registered company (or other entity — see §4.2) may hold multiple representatives, each with one role. The role set is fixed at five templates. Permissions are role template + per-user overrides (see §7). Authorization relies on domain-email + CNIC verification; explicit authorization proof is optional (see _context.md §5).

4.1 Representative role templates

4.1.1 Primary Authorized Representative (exactly one, mandatory, transferable)

Attribute Detail
Scope The whole company account.
Primary responsibilities Legal point of contact for the company; owns the company profile; can invite/manage all other reps; can transfer the Primary role to another verified rep.
Typical actions Manage company profile; invite/manage reps; transfer Primary role; re-attest the company; file any ticket type including RTI; submit appeals; export company data; receive critical notifications.
Constraint Exactly one per company at all times. Registration cannot complete without naming one. Transfer requires the recipient to be a verified rep; the transfer is logged and audit-trailed.

4.1.2 Admin Representative

Attribute Detail
Scope The company account, except transfer of the Primary role and company re-attestation.
Primary responsibilities Day-to-day administration of the company's SITP presence; manage reps they themselves invited.
Typical actions Manage company profile (◐ if Primary allows); invite/manage reps (cannot revoke the Primary); file and resolve-side actions on company tickets; export company data.
Constraint Cannot transfer the Primary role, revoke the Primary, or trigger periodic re-attestation.

4.1.3 Filer

Attribute Detail
Scope Ticket filing and follow-up for the company.
Primary actions File new tickets; save drafts; comment on company tickets; reopen; withdraw; submit appeals; file on behalf of (proxy) if granted.
Constraint No profile or rep management.

4.1.4 Viewer

Attribute Detail
Scope Read-only visibility of the company's tickets and analytics.
Primary actions View company tickets; view company analytics dashboard; receive optional notifications; export own company data (◐).
Constraint Cannot file, comment, or manage anything.

4.1.5 Notifications-only (e.g. Finance POC)

Attribute Detail
Scope Receive specific notification categories only (e.g. billing, MoM shares, status changes on chosen tickets).
Primary actions Receive configured notifications; acknowledge.
Constraint No ticket, profile, or rep access. Used for finance, legal, or external counsel contacts who must be informed but must not act.

4.2 Entity types

Registration uses a conditional/dynamic form driven by the entity type. Five types are supported (see _context.md §5):

# Entity type Verification source(s) Notes
1 SECP company SECP + FBR/NTN + SRB + domain email + NADRA (for reps) Default; full company account.
2 Sole proprietor / partnership FBR/NTN + CNIC + domain/bank proof One or few reps; Primary = proprietor/managing partner.
3 Freelancer / individual CNIC + NTN (optional) + bank proof Single Primary; minimal rep set.
4 Foreign branch SECP foreign-registration + parent-country registry + domain email Authorized local rep mandatory.
5 Early startup (provisional) Minimal at registration; full verification deferred Gets instant Provisional account; can file immediately; verified badge granted after background checks pass (see §11).

All types follow the same file-first, verify-in-parallel model: register → instant Provisional account → file immediately → background checks run → Verified badge or hold+appeal if fail.

4.3 Multiple representatives per company


5. Other Actors

Actor Description Default capabilities
Citizen A non-company individual who wishes to lodge a complaint or RTI request without registering a company. Optional role; the portal is company-first but permits citizen intake. File own ticket; view own tickets; comment; reopen own; withdraw own; submit appeal; use public AI chatbot; file RTI. No company-side powers.
Anonymous / Whistleblower A confidential intake channel for sensitive reports (e.g. corruption, harassment) where the reporter's identity is not captured or is shielded. See /specs/en/24-trust-safety/ and §13. File anonymous ticket through the dedicated channel; receive read-only status via a tracked token (no login). Identity is not stored in cleartext.
System / Service accounts Non-human identities used by integrations and background jobs: SECP/NADRA/FBR/SRB/PSEB sync, OCR/AI service, BullMQ workers, Metabase, webhooks. Scoped API tokens with the minimum capability set required (e.g. SECP sync = read company registry + write verification status). Cannot log in interactively. All actions attributed to the service identity and audit-logged.

6. Permission Model — Roles + Granular Overrides

SITP's authorization is role templates + per-user granular overrides + ABAC attribute gates, evaluated in a strict order, defaulting to deny.

6.1 Evaluation order

For any (user, capability, resource) request, the authorization engine resolves in this order:

  1. ABAC attribute gate (first, for confidential/VIP tickets): if the resource carries the Confidential or VIP attribute, evaluate ticket-specific visibility rules (assigned unit, watcher list, break-glass grant). If the ABAC gate denies, stop — deny.
  2. User-level override: an explicit per-user grant or revocation on this exact capability for this user. A grant here overrides the template; a revocation here overrides a template grant.
  3. Role template: the baseline capability set for the user's role (the matrix in §8).
  4. Scope check: even when a capability is allowed, data scope restricts which rows the user can act on (own tickets vs. department vs. all — see §15).
  5. Deny default: if none of the above explicitly allows, deny.

6.2 Why per-user overrides

Government practice is irregular: a junior officer may temporarily act as section lead; a Secretary may delegate directive power to an Additional Secretary; a company may want one Filer to also export data. Hard role templates cannot capture this. SITP therefore treats every matrix cell as independently overridable, with full audit (see §11.5).

6.3 ABAC layer for confidential/VIP visibility

The ABAC layer applies only to tickets carrying the Confidential or VIP attribute (see §13). For normal tickets, RBAC + scope is sufficient. ABAC prevents the "I can see all department tickets, therefore I can see the confidential one" escalation.


7. Permission Model

(See §6 above for the model; this section restates the contract for implementers and is referenced by the capability matrix.)

Role templates are starting points; every permission is individually overridable per user. The decision function:

authorize(user, capability, resource):
    if resource is Confidential or VIP:
        if not ABAC_allows(user, resource): return DENY
    if user has explicit override for capability:
        return override_value              # grant or revoke
    if role_template(user) allows capability:
        return ALLOW
    return DENY                            # default-deny

Override management is restricted: Super Admin can override any user platform-wide; Department Admin can override users within their department subtree; Primary/Admin Rep can override (narrowly) within their company's reps. Every override creation, change, and removal is audit-logged.


8. Capability / Permission Matrix

The matrix is split into five tables by capability group to keep it readable. Symbols: ✓ allow · ✗ deny · ◐ conditional/configurable · — not applicable (see §1 legend).

Column key (used in all five tables):

Code Role
SA Super Admin (S&ITD)
DA Department Admin
OF Officer / Staff / POC
DG DG / Director (oversight)
SEC Department Secretary (oversight)
MIN Minister / SACM (oversight)
PR Primary Authorized Representative
AR Admin Representative
FI Filer
VI Viewer
CT Citizen

8.1 Ticketing capabilities

# Capability SA DA OF DG SEC MIN PR AR FI VI CT
1 File new ticket
2 Save draft ticket
3 File on behalf of (proxy)
4 View own tickets
5 View department-scoped tickets
6 View all department tickets (cross-dept)
7 View confidential / VIP tickets (ABAC)
8 Add public comment / reply
9 Add internal note
10 Add attachment
11 Assign ticket (within unit)
12 Reassign within department
13 Reassign across departments
14 Change SLA deadline
15 Pause SLA (await company)
16 Resolve ticket (with proof)
17 Force-resolve (skip proof)
18 Reopen ticket
19 Close ticket
20 Merge tickets
21 Split / create sub-task
22 Link related tickets
23 Bulk update tickets
24 Add / remove watcher, CC
25 Request TRI meeting
26 Withdraw / cancel own ticket

8.2 Oversight & escalation capabilities

# Capability SA DA OF DG SEC MIN PR AR FI VI CT
27 Trigger manual escalation
28 Override / clear escalation
29 Send directive (to staff)
30 Approve sensitive-ticket closure
31 Approve VIP closure (Chair / DG)
32 Publish MoM (normal ticket)
33 Approve MoM (sensitive / VIP)
34 Generate official letter
35 e-Sign document (PKI)
36 Configure SLA / escalation ladder (dept)
37 Configure oversight powers (dept)

8.3 Administration & configuration capabilities

# Capability SA DA OF DG SEC MIN PR AR FI VI CT
38 Create / edit department
39 Create sub-department (nest)
40 Manage department staff accounts
41 Activate / deactivate staff
42 Manage Officials CMS (Minister / Sec / DG)
43 Configure AI engines
44 Configure SMTP / SMS / WhatsApp
45 Configure feature flags
46 Manage integrations (SECP / NADRA / FBR / SRB / PSEB / e-Office)
47 Manage holiday calendar
48 Manage notification templates

8.4 Company self-service capabilities

# Capability SA DA OF DG SEC MIN PR AR FI VI CT
49 Manage company profile
50 Invite / manage company reps
51 Transfer Primary Rep role
52 Revoke rep access
53 File RTI / special-category ticket
54 Submit appeal
55 Re-attest company (periodic)
56 Export own company data

8.5 Analytics, content & comms capabilities

# Capability SA DA OF DG SEC MIN PR AR FI VI CT
57 View role-scoped analytics dashboard
58 View public transparency dashboard
59 View audit logs
60 Export platform data
61 Manage Knowledge Base
62 Approve / publish KB articles
63 Use AI assistant (internal)
64 Send internal messages (DMs / groups)
65 Manage chat channels
66 Receive notifications
67 Configure notification preferences (self)

Matrix totals: 67 capability rows across 5 groups (26 ticketing + 11 oversight/escalation + 11 admin/config + 8 company self-service + 11 analytics/content/comms).


9. Oversight Powers (configurable)

A core design decision (see _context.md §5): whether DG/Director, Department Secretary, and Minister/SACM are notify-only observers or hold action powers is not fixed globally — it is configurable per department by the Super Admin (and, where delegated, by the Department Secretary). This lets each department calibrate oversight to its own administrative culture while keeping a sensible default.

The powers below are toggleable per department, per oversight role. The default is shown; all can be flipped.

| # | Oversight power | DG default | Secretary default | Minister default | Effect when ON | |---|---||---|---|---| | O1 | Receive escalation notifications | ✓ | ✓ | ✓ | Auto-notified at the role's escalation tier (DG = 2d, Sec = 7d, Min = 17d). | | O2 | View department tickets | ✓ | ✓ | ✓ | Read access to all department tickets (subject to ABAC on confidential). | | O3 | Comment / add internal note | ◐ | ◐ | ◐ | Can participate in ticket threads. | | O4 | Reassign within department | ◐ (off) | ◐ (off) | ✗ | Can move tickets between sections/staff. | | O5 | Override / change SLA | ◐ (off) | ◐ (off) | ✗ | Can extend or compress SLA deadlines. | | O6 | Force-resolve (skip proof) | ◐ (off) | ◐ (off) | ◐ (off) | Can resolve without the evidence gate. | | O7 | Send directive to staff | ◐ (off) | ◐ (off) | ✓ (on) | Issues a formal directive logged on the ticket. | | O8 | Approve sensitive closure | ◐ (off) | ◐ (off) | ◐ (off) | Required sign-off before sensitive tickets close. | | O9 | Approve VIP closure | ✓ (on) | ◐ (off) | ◐ (off) | Required sign-off before VIP tickets close. | | O10 | Approve MoM (sensitive/VIP) | ✓ (on) | ◐ (off) | ◐ (off) | Required before sensitive MoM is shared. | | O11 | e-Sign official letters | ✓ (on) | ✓ (on) | ◐ (off) | PKI signing authority. |

Powers O1–O3 are effectively always-on (observation baseline). Powers O4–O11 are the ones departments actually toggle. Changing any toggle is itself an audited configuration event.


10. Escalation & Role Involvement

SITP's default escalation ladder (configurable per department/category; see _context.md §5 and /specs/en/06-ticket-workflow/) is a 2/5/10-day chain. At each tier a new oversight role is pulled in, and the powers available at that tier depend on the §9 toggles.

sequenceDiagram participant C as Company participant T as Ticket (auto-escalation engine) participant S as Section Staff / POC participant DG as DG / Director participant SEC as Department Secretary participant MIN as Minister / SACM + S&ITD Sec C->>T: File ticket T->>S: Assign to resolving unit (Day 0) Note over S: Must resolve with proof within SLA alt Unresolved at Day 2 T->>DG: Notify + add DG as watcher DG-->>S: Directive / reassign / override SLA (if powers ON) end alt Unresolved at Day 7 (2 + 5) T->>SEC: Notify + add Department Secretary SEC-->>S: Directive / override SLA / force-resolve (if powers ON) end alt Unresolved at Day 17 (2 + 5 + 10) T->>MIN: Notify Minister / SACM + S&ITD Secretary MIN-->>SEC: Directive (default ON for Minister) end

Written description. The sequence shows the company filing a ticket that is assigned to the resolving Section Staff at Day 0. The auto-escalation engine monitors SLA. If unresolved at Day 2, the DG/Director is notified and added as a watcher; the DG may then act (directive, reassign, SLA override) only if the department has those oversight powers enabled. If still unresolved at Day 7 (2 + 5 more), the Department Secretary is notified and added. If still unresolved at Day 17 (2 + 5 + 10 more), the final tier notifies the Minister/SACM and the S&ITD Secretary. The Minister's directive power is on by default; all other oversight powers are per-department toggles.

What each role can do at each tier (defaults):

Tier Trigger Role pulled in Default capabilities at this tier
T0 Filing Section Staff / POC Resolve with proof; comment; pause SLA; request TRI; create sub-tasks.
T1 Day 2 unresolved DG / Director Notified + watcher. May directive/reassign/override if O4–O7 toggled ON for the department.
T2 Day 7 (2+5) unresolved Department Secretary Notified + watcher. Same optional powers as DG, at Secretary level.
T3 Day 17 (2+5+10) unresolved Minister / SACM + S&ITD Secretary Notified. Minister directive ON by default. May trigger inter-departmental intervention.

The same ladder applies inside S&ITD for tickets routed to the owning department.


11. Account Lifecycle

11.1 Staff deactivation on transfer

When a government officer is transferred out of a department (a frequent event in the Sindh government), their SITP account must be deactivated for that department scope. The Department Admin (or Super Admin) marks the account inactive; active ticket assignments are flagged for reassignment; the account retains read-only historical access to tickets it worked (for audit continuity) but loses all write powers. Reactivation in a new department requires a fresh role assignment and certification check.

11.2 Rep revocation and change

Company representatives can be revoked by the Primary Rep (or Admin Rep for reps they invited). When the Primary leaves, the role must be transferred to another verified rep before the departing account is revoked; if no eligible rep exists, Super Admin can perform a break-glass handover (audit-logged). All revocations and transfers are audit-logged with reason codes.

11.3 Company suspension

A company account moves to Suspended (cannot file or be filed-against; existing tickets frozen) when:

Suspended companies can appeal; on successful appeal or re-registration, the account is restored.

11.4 Re-attestation periodicity

Each company must periodically re-attest its profile and rep list (default cadence: annually, configurable). The Primary Rep triggers re-attestation; the system re-runs verification (SECP/FBR/SRB/PSEB/NADRA + domain email). Missed re-attestation leads to a Verified→Provisional downgrade, then to suspension after a grace period.

11.5 Audit of access changes

Every access-relevant event is written to an immutable audit log: account creation, role assignment, role change, per-user permission override (create/change/remove), activation, deactivation, suspension, restoration, rep invitation/acceptance/revocation, Primary transfer, break-glass access, step-up-auth events, and exports. The Read-only Auditor role (and Super Admin) can review these logs (capability #59). See /specs/en/11-security-compliance/.


12. Step-up Authentication

Certain high-impact actions require step-up authentication — a fresh 2FA challenge (or re-authentication) at the moment of action, regardless of the session being already authenticated. This is distinct from baseline 2FA at login. Step-up is required for:

Action Capability # Rationale
Close / force-resolve a VIP ticket 17, 19, 30, 31 High political and reputational impact.
Export platform or department data 60 (and 56 for company) Mass data egress risk.
View a confidential ticket (break-glass) 7 Circumvents normal ABAC; must be deliberate and logged.
Manage Officials CMS records 42 Affects public-facing letters, dashboards, brand.
Configure feature flags 45 Can enable/disable any capability platform-wide.
Configure AI engines / SMTP / integrations 43, 44, 46 System-wide blast radius.
Configure oversight powers per department 37, O4–O11 Changes who can do what.
Transfer Primary Rep role 51 Changes legal point of contact for a company.
Send directive (oversight) 29 Formal, attributable directive with consequences.
e-Sign an official letter 35 PKI binding, legally significant.

All step-up events are audit-logged with timestamp, actor, action, and outcome.


13. Confidential / VIP Handling

Some tickets must not be visible to everyone who would otherwise see department tickets. SITP handles this through the ABAC layer (§6.3) and a dedicated Confidential flag (and a VIP flag for politically sensitive tickets).


14. Onboarding & Certification Gate

Before any government-side account (Super Admin, Facilitation Officer, Department Admin, Officer/Staff, DG, Secretary) is activated to handle live tickets, the named user must pass the training certification exam delivered through Module O (Training & Certification). This is an exam-gated certification: an account may exist and complete internal training, but the handle-live-tickets capability is withheld until the exam is passed. See /specs/en/20-training-certification/.


15. Data-Scope Rules

The capability matrix says what a role may do; data scope says which rows they may do it to. Two roles with the same capability see different datasets.

Role Default data scope
Super Admin All departments, all companies, all configuration, all audit logs.
Department Admin Their top-level department and its full subtree; department-scoped analytics and audit.
Officer / Staff / POC Tickets assigned to their section/sub-department node; their own activity history.
DG / Director All tickets in their department (subject to ABAC on confidential); department analytics.
Department Secretary Same as DG, department-wide.
Minister / SACM All departments (default-on for SACM; configurable).
Read-only Auditor Platform-wide metadata and audit; subject to ABAC on confidential ticket bodies.
Primary / Admin Rep Their company's tickets, profile, reps, and analytics.
Filer Their company's tickets they filed or are CC'd on.
Viewer Their company's tickets (read-only) and analytics.
Notifications-only Only the notification payloads addressed to them.
Citizen Own tickets only.
Anonymous / Whistleblower The single ticket identified by their token.

Multi-tenancy across departments. Departments are strict tenants: by default, Department Admins, Officers, DGs, and Secretaries see only their own department subtree. Cross-department visibility is reserved for Super Admin and (configurably) the Minister. A ticket can be routed across departments only by Super Admin (capability #13) or via the S&ITD Facilitation triage flow.


16. Permission / UI Mapping Note

A user's role determines their landing dashboard and navigation. This keeps the interface scoped to relevant capabilities and reduces error. The mapping is detailed in /specs/en/10-ux-sitemap-flows/; the summary:

Role Default landing Default nav emphasis
Super Admin Platform admin console Departments · Officials CMS · Integrations · Feature Flags · Audit
S&ITD Facilitation Officer Facilitation triage inbox Triage · TRI · MoM · Companies
Department Admin Department admin console Staff · Sub-departments · SLA · KB · Analytics
Officer / Staff / POC My assigned tickets My Queue · Sub-tasks · KB
DG / Secretary Department oversight dashboard Department · Escalations · Directives · Analytics
Minister / SACM Cross-department oversight dashboard Overview · Directives · Escalations
Read-only Auditor Audit explorer Audit · Analytics · Exports
Primary / Admin Rep Company workspace Tickets · Profile · Reps · MoM · Analytics
Filer New ticket / my tickets File · My Tickets · Drafts
Viewer Company tickets (read-only) Tickets · Analytics
Notifications-only Notification center Notifications
Citizen My complaints File · My Complaints · Help

Role-to-UI is declarative: the navigation is generated from the capabilities the user actually holds after overrides and ABAC, so a per-user override that grants a new capability immediately surfaces the corresponding nav entry.