Appearance
Access Control Matrix
Document ID: PLCY-ACC-001
Effective Date: December 22, 2025
Last Review: December 22, 2025
Owner: Hop And Haul Team
CONFIDENTIAL
This document is CONFIDENTIAL and for internal use only. Do not distribute outside the organization.
1. Purpose
This document defines role-based access controls (RBAC) for the Hop And Haul system, ensuring least-privilege access and data visibility aligned with SOC II Security and Confidentiality criteria.
2. Role Definitions
2.1 User Roles
| Role | Description | Authentication Method |
|---|---|---|
| Operations/Safety | Dispatch coordinators, safety managers | SSO + MFA |
| Pickup Driver | Driver who accepts transport request | Mobile SSO + PIN |
| Passenger Driver | Driver requesting transport | Mobile SSO + PIN |
| System Administrator | IT/DevOps technical personnel | SSO + MFA + VPN |
| Auditor | Internal/external compliance reviewer | SSO + MFA (read-only) |
2.2 Service Accounts
| Account | Purpose | Access Scope |
|---|---|---|
| svc-samsara | Telematics integration | Read: vehicle GPS, routes |
| svc-payroll | Payment reconciliation | Write: credit/debit transactions |
| svc-hr | Driver verification | Read: employment status, CDL |
| svc-insurance | Coverage verification | Read: endorsement status |
3. Data Visibility Matrix
3.1 Operational Data Access
| Data Category | Ops/Safety | Pickup Driver | Passenger | Admin | Auditor |
|---|---|---|---|---|---|
| All ride requests | Full | None | Own only | None | Read-only |
| Match candidates | Full | Offered only | None | None | Read-only |
| Active ride tracking | Full | Own ride | Own ride | None | Read-only |
| Historical rides | Full | Own history | Own history | None | Read-only |
3.2 GPS & Location Data
| Data Category | Ops/Safety | Pickup Driver | Passenger | Admin | Auditor |
|---|---|---|---|---|---|
| Real-time GPS | Full fleet | Own vehicle | None | None | None |
| Route history | Full | Own routes | None | None | Aggregated |
| Pickup location | Precise | Precise (after match) | Fuzzed | None | Anonymized |
| Drop-off location | Precise | Precise | Direction only | None | Anonymized |
3.3 Driver PII
| Data Category | Ops/Safety | Pickup Driver | Passenger | Admin | Auditor |
|---|---|---|---|---|---|
| Full name | Yes | No | No | No | Tokenized |
| Driver ID | Yes | Matched only | Matched only | No | Tokenized |
| Phone number | Yes | Masked | Masked | No | No |
| Yes | No | No | No | No | |
| CDL status | Yes | No | No | No | Aggregated |
| HOS status | Yes | No | No | No | Aggregated |
3.4 Rating Data
| Data Category | Ops/Safety | Pickup Driver | Passenger | Admin | Auditor |
|---|---|---|---|---|---|
| Individual ratings | Full | Own ratings | None | None | Aggregated |
| Aggregated scores | Full | Own score | None | None | Full |
| Rating comments | Full | None | None | None | Sampled |
3.5 Financial Data
| Data Category | Ops/Safety | Pickup Driver | Passenger | Admin | Auditor |
|---|---|---|---|---|---|
| Individual transactions | Full | Own credits | Own debits | None | Full |
| Settlement history | Full | Own history | Own history | None | Full |
| Payment disputes | Full | Own disputes | Own disputes | None | Full |
4. System Access Controls
4.1 Technical Access
| System Component | Ops/Safety | Drivers | Admin | Auditor |
|---|---|---|---|---|
| Production database | None | None | Read (via jump host) | None |
| Application servers | None | None | Full | None |
| Log aggregation | Read | None | Full | Read |
| Monitoring dashboards | Read | None | Full | Read |
| Configuration management | None | None | Full | None |
4.2 Administrative Functions
| Function | Ops/Safety | Drivers | Admin | Auditor |
|---|---|---|---|---|
| User provisioning | Request | None | Approve/Execute | View |
| Role assignment | Request | None | Execute | View |
| Access reviews | Participate | None | Execute | Verify |
| Audit log access | Own actions | Own actions | Full | Full |
5. Least Privilege Enforcement
5.1 Principles
- Default Deny: No access unless explicitly granted
- Need to Know: Access limited to job function requirements
- Time-Bounded: Session tokens expire after inactivity
- Contextual: Some access requires active ride state
5.2 Contextual Access Rules
| Scenario | Access Granted | Access Duration |
|---|---|---|
| Ride offered | Fuzzed pickup location | Until offer expires/rejected |
| Ride accepted | Precise pickup, masked contact | Until drop-off + 15 min |
| Ride active | Real-time tracking | Until drop-off |
| Ride completed | Rating submission | 24 hours |
| Post-completion | Own history only | Per retention schedule |
5.3 Access Expiration
| Token Type | Expiration | Renewal |
|---|---|---|
| Session token | 8 hours or inactivity | Re-authentication |
| Ride tracking token | Drop-off + 15 min | None (auto-expire) |
| API service token | 24 hours | Automated rotation |
| Admin access token | 4 hours | MFA re-verification |
6. Access Review Procedures
6.1 Review Schedule
| Review Type | Frequency | Responsible Party |
|---|---|---|
| User access certification | Quarterly | Department managers |
| Privileged access review | Monthly | Security team |
| Service account review | Quarterly | IT operations |
| Role definition review | Annually | Compliance + HR |
6.2 Access Revocation Triggers
| Event | Action | Timeline |
|---|---|---|
| Employment termination | Immediate revocation | Same day |
| Role change | Access modification | Within 24 hours |
| Security incident | Precautionary suspension | Immediate |
| Inactivity (90 days) | Account suspension | Automated |
7. Segregation of Duties
7.1 Incompatible Functions
| Function A | Function B | Separation Required |
|---|---|---|
| Approve ride match | Execute payment | Yes |
| Create user account | Assign admin role | Yes |
| Modify audit logs | Review audit logs | Yes |
| Configure system | Access production data | Yes |
7.2 Compensating Controls
Where full segregation is not possible:
- Dual approval required
- Enhanced logging
- Management review of actions
8. Document Control
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | [DATE] | [NAME] | Initial release |