3.1 — Access Control

Access Control (AC) Policy

Establishes requirements for controlling access to OCSI systems, applications, and CUI data — covering 22 controls per NIST SP 800-171 Rev 2.

Family: 3.1 — Access Control Controls: 22 Owner: Kit E. Floyd, Jr. Last Review: April 3, 2026
SELF-ASSESSMENT

Control statuses below reflect an internal self-assessment prepared with AI assistance. Statuses marked "Implemented" may be organizational claims without verifiable evidence. See POA&M for known gaps.

Policy Statement

OCSI shall limit system access to authorized users, processes, and devices, and to authorized types of transactions and functions. Access to CUI shall be controlled based on the principle of least privilege and shall be limited to individuals with a legitimate need-to-know.

Control Implementation
ControlRequirementImplementationStatus
3.1.1Limit system access to authorized users, processes acting on behalf of authorized users, and devicesPARTIAL. Command Center requires login with SHA-256 hashed credentials via Web Crypto API. However: password is hardcoded in plaintext in source code (critical gap), authentication is client-side only (bypassable via DevTools), and there is only one shared admin account (no individual user accounts). Partial
3.1.2Limit system access to the types of transactions and functions that authorized users are permitted to executePARTIAL. Single admin role has full CRUD access. Public visitors see marketing content only. However, no RBAC exists — all authenticated users have identical full access. No granular permission model. Partial
3.1.3Control the flow of CUI in accordance with approved authorizationsCUI (candidate PII, clearance data, contract details) flows only through authenticated Command Center sessions. Public pages contain no CUI. Data export requires authenticated session. Implemented
3.1.4Separate the duties of individuals to reduce the risk of malevolent activityNOT IMPLEMENTED. Single hardcoded admin account shared by all users. No role separation in the system. President and Security Officer roles defined organizationally but not enforced technically. No RBAC. Not Implemented
3.1.5Employ the principle of least privilegePARTIAL. Public pages have no CUI access. However, any authenticated user has full admin privileges — no privilege differentiation exists. FTP credentials restricted to deployment personnel. Partial
3.1.6Use non-privileged accounts when accessing nonsecurity functionsPublic website browsing requires no authentication. Administrative functions require separate authenticated login to Command Center. Implemented
3.1.7Prevent non-privileged users from executing privileged functionsAll CRUD operations, data export, and system configuration functions are gated behind authenticated session. No elevated functions accessible without login. Implemented
3.1.8Limit unsuccessful logon attemptsPARTIAL. Account lockout after 5 failed attempts with 15-minute lockout exists in code. However, lockout state is stored in localStorage (client-side) and can be bypassed by clearing browser storage or using a different browser/device. Partial
3.1.9Provide privacy and security notices consistent with CUI rulesLogin page displays security notice: "Authorized access only. All activity is monitored and logged." CUI handling notice in security protocols documentation. Implemented
3.1.10Use session lock with pattern-hiding displays after inactivity30-minute inactivity timeout triggers automatic session termination and redirect to login page. All dashboard content hidden. Mouse/keyboard activity resets idle timer. Implemented
3.1.11Terminate (automatically) a user session after a defined condition8-hour absolute session maximum regardless of activity. 30-minute inactivity timeout. Visual countdown warning displayed at 5 minutes remaining. Implemented
3.1.12Monitor and control remote access sessionsPARTIAL. All access is remote (web-based). Sessions logged in localStorage with timestamps and activity. However, logs are client-side only (max 500 entries), can be deleted by the user, and no server-side monitoring exists. Partial
3.1.13Employ cryptographic mechanisms to protect the confidentiality of remote access sessionsPARTIAL. HTTPS/TLS in transit. SHA-256 hashing via Web Crypto API. However, the plaintext password is hardcoded in source code (negating the hash), and SHA-256 is not recommended for password hashing (bcrypt/Argon2 preferred). Partial
3.1.14Route remote access via managed access control pointsAll access routes through the single web application endpoint (ocsi.co). No alternate access paths. FTP access for deployment only. Implemented
3.1.15Authorize remote execution of privileged commandsPrivileged operations (data management, export, configuration) require active authenticated session. Administrative commands executed only within Command Center context. Implemented
3.1.16Authorize wireless access prior to allowing such connectionsOrganizational policy: wireless access to OCSI systems must use WPA3 or VPN. Web application access follows standard HTTPS regardless of network type. Implemented
3.1.17Protect wireless access using authentication and encryptionAll web access encrypted via TLS/HTTPS. Wireless-specific controls enforced by organizational network policy (WPA3 minimum). Implemented
3.1.18Control connection of mobile devicesWeb application is responsive and accessible from mobile devices. Same authentication and session controls apply. No native mobile apps — web-only access reduces attack surface. Implemented
3.1.19Encrypt CUI on mobile devices and mobile computing platformsNOT IMPLEMENTED. CUI in localStorage is stored in plaintext JSON — no application-level encryption at rest. Same-origin policy provides isolation but NOT encryption. Device-level encryption depends on user device configuration (not enforced). This is a critical gap. Not Implemented
3.1.20Verify and control/limit connections to and use of external systemsExternal connections limited to: Google Fonts (styling), FontAwesome (icons). No CUI transmitted to any external service. CSP headers restrict allowed external connections. Implemented
3.1.21Limit use of portable storage devices on external systemsOrganizational policy: portable storage devices containing CUI must be encrypted. Data export from Command Center produces CSV files subject to CUI handling procedures. Implemented
3.1.22Control CUI posted or processed on publicly accessible systemsPublic website pages contain zero CUI. All CUI (candidate records, job orders, client data) is isolated within the authenticated Command Center behind login. Implemented
Evidence & Artifacts
  • Command Center source code — authentication module with SHA-256 hashing
  • Audit logs demonstrating login attempt tracking and lockout enforcement
  • Session timeout configuration (30-min idle / 8-hr absolute)
  • .htaccess security headers including CSP directives
  • Screenshot evidence of login page security warning display
Review Schedule: This policy is reviewed quarterly by the OCSI Security Officer and assessed annually by external MSSP during the NIST 800-171 self-assessment cycle.