Skip to main content

RBAC Permissions Matrix — Bioscience QMS Work Order System

Status: Accepted | Version: 2.0 | Date: 2026-02-13

Alignment: 21 CFR Part 11, HIPAA, SOC 2 CC6.1


1. Role Definitions

Operational Roles

RoleTypeDescriptionAssignment
ORIGINATORPerson | Program | VendorCreates the change requestAuto-assigned at WO creation
ASSIGNERPersonPlans and schedules the workSystem Owner or designated planner
ASSIGNEEPerson | TeamExecutes the workAssigned by ASSIGNER
SYSTEM_OWNERPersonAccountable for the validated systemPer-asset/system configuration
QAPersonValidates regulatory complianceQA department roster
VENDORExternal entityExecutes specialized work (e.g., IQ/OQ)Per-contract, per-WO

Administrative Roles

RoleTypeDescriptionAssignment
ADMINPersonSystem configuration, role managementIT/Platform team
AUDITORPersonRead-only access to all audit trailsCompliance/audit team

2. Permission Matrix

Work Order Operations

OperationORIGINATORASSIGNERASSIGNEESYS_OWNERQAVENDORADMINAUDITOR
Create WO (DRAFT)❌¹
Edit DRAFT fields✅²
View own WOs✅³✅⁴
View all WOs
Transition DRAFT→PLANNED
Set assignee
Set job plan
Set schedule
Transition PLANNED→SCHEDULED
Acknowledge start✅⁴
Transition SCHEDULED→IN_PROGRESS✅⁴
Update execution details✅⁵
Record time entries
Transition IN_PROGRESS→PENDING_REVIEW
Approve (System Owner)
Approve (QA — reg only)
Reject
Transition APPROVED→COMPLETED
Cancel WO

¹ Vendors create WOs indirectly through Vendor Coordinator Agent. ² ORIGINATOR can only edit WOs they created, only in DRAFT status. ³ QA sees all regulatory-flagged WOs system-wide. ⁴ VENDOR restricted to WOs where they are assignee or linked vendor party. ⁵ VENDOR can update execution details and time entries but NOT job plan, approvals, or WO metadata.

Job Plan Operations

OperationORIGINATORASSIGNERASSIGNEESYS_OWNERQAVENDORADMIN
Create Job Plan
Edit Job Plan
View Job Plan✅⁴
Link Job Plan to WO

Approval & Signature Operations

OperationORIGINATORASSIGNERASSIGNEESYS_OWNERQAVENDORADMIN
Record approval
Create e-signature
View audit trail
View full audit (all entities)

Registry Operations (Assets, Tools, Experience, Persons)

OperationORIGINATORASSIGNERASSIGNEESYS_OWNERQAVENDORADMIN
View assets✅⁴
Manage assets
View tools
Manage tools
View experience profiles
Manage experience profiles
Manage person records

3. Separation of Duties Rules

Hard Constraints (Part 11 §11.10(e))

RuleDescriptionEnforcement
SOD-001Assignee cannot approve their own WOapproval.approverId !== wo.assigneeId
SOD-002Originator cannot be sole approverapproval.approverId !== wo.originatorId OR second approver required
SOD-003QA approver cannot also be System Owner approver on same WODistinct persons for each approval role
SOD-004ADMIN cannot override approval decisionsADMIN role excluded from approval operations
SOD-005Vendor cannot approve any WOVENDOR role excluded from all approval operations

Soft Constraints (Configurable per Tenant)

RuleDescriptionDefault
SOD-006Assigner should not be AssigneeWarning, not blocked
SOD-007Require 2+ approvers for critical priority WOsEnabled for priority ≤ 2
SOD-008Vendor WOs require System Owner pre-reviewEnabled

4. Multi-Tenancy Isolation

Row-Level Security (RLS)

-- Every query filters by tenant_id
CREATE POLICY tenant_isolation ON work_orders
USING (tenant_id = current_setting('app.tenant_id')::uuid);

-- Role-based row visibility
CREATE POLICY originator_visibility ON work_orders
FOR SELECT
USING (
originator_id = current_setting('app.party_id')::text
OR assignee_id = current_setting('app.party_id')::text
OR current_setting('app.role') IN ('SYSTEM_OWNER', 'QA', 'ADMIN', 'AUDITOR')
);

Agent Identity

When CODITECT agents act on behalf of a user, the agent assumes the user's role and permissions. The agent cannot escalate privileges.

interface AgentExecutionContext {
agent_id: string; // CODITECT agent identifier
acting_as: string; // person_id of the human principal
role: Role; // Role inherited from human
tenant_id: string; // Tenant scope

// Audit trail captures both
audit_performed_by: string; // person_id (human principal)
audit_agent_ref: string; // agent_id (automation context)
}

5. Part 11 Compliance Mapping

21 CFR Part 11 SectionRequirementRBAC Implementation
§11.10(d)Limit system access to authorized individualsRole-based access, RLS, tenant isolation
§11.10(e)Authority checks — ensure signers have authorityApproval role validation, SOD rules
§11.10(g)Authority checks on input/outputRBAC per operation, field-level editability per state
§11.10(k)(2)Accountability — attribute actions to individualsperformed_by on every audit event, agent identity tracking
§11.50Signature manifestation — identity, date, meaningElectronicSignature model with signer, signedAt, meaning
§11.70Signature/record linkageApproval.signatureId → ElectronicSignature.id
§11.100General requirements for e-signaturesauthMethod, re-authentication before signing
§11.200E-signature components — at least two distinct IDsauthMethod supports password+userId, smartcard, SSO+reauth

6. CODITECT Agent Role Mapping

CODITECT AgentPermitted RBAC RolesNotes
WO Orchestrator AgentASSIGNER (when decomposing Master→Children)Cannot approve or sign
Asset Management AgentASSIGNER (asset state updates)Restricted to Asset operations
Scheduling AgentASSIGNER (schedule proposals)Cannot set assignee without human confirmation
Experience Matching AgentRead-only (experience, person profiles)Proposes candidates, does not assign
QA Review AgentRead-only (pre-check artifacts)Cannot approve — triggers human checkpoint
Vendor Coordinator AgentVENDOR (restricted scope)Only WOs where vendor is assignee
Documentation AgentASSIGNER (document linking)Cannot modify controlled documents directly

Critical constraint: No agent operates with SYSTEM_OWNER or QA approval authority. All approval transitions require human e-signatures. This is non-negotiable for Part 11 compliance.


Copyright 2026 AZ1.AI Inc. All rights reserved. Developer: Hal Casteel, CEO/CTO Product: CODITECT-BIO-QMS | Part of the CODITECT Product Suite Classification: Internal - Confidential