Skip to content

HIPAA Controls Matrix

Purpose

This document maps infrastructure controls to HIPAA Security Rule requirements. It covers Technical and Administrative Safeguards, shows the current implementation status of each control, and identifies where evidence can be found. This document is intended to support audit preparation and ongoing compliance monitoring.

How to Use This Document

Each control entry includes:

  • Requirement — the specific HIPAA regulation reference
  • Control — what is required
  • Implementation — how it is implemented in this environment
  • Status — current state of the control
  • Evidence — where auditors can find proof the control is operating

Status Definitions

StatusMeaning
✅ ImplementedControl is fully in place and operating
🔄 PartialControl is partially implemented, work in progress
📅 PlannedControl is planned but not yet implemented
❌ GapControl is not in place, risk accepted or being addressed

Technical Safeguards (§164.312)

Access Control (§164.312(a))

RequirementControlImplementationStatusEvidence
§164.312(a)(1) — Unique user identificationEach user has a unique identityEntra ID enforces unique user accounts across all environments✅ ImplementedEntra ID user directory
§164.312(a)(2)(i) — Emergency accessEmergency access procedure existsBreak-glass account cirius-breakglass deployed across all three domains (ciriusgroup.com, ciriusdde.com, dr.ciriusgroup.internal). Scoped to Administrators group only — removed from Domain Admins, Enterprise Admins, Schema Admins✅ ImplementedAD group membership, break-glass account documentation
§164.312(a)(2)(ii) — Automatic logoffSessions terminate after inactivityAVD session timeout policies configured in DDE; Conditional Access session controls active in both tenants✅ ImplementedAVD host pool settings, CA policy config
§164.312(a)(2)(iii) — Encryption and decryptionePHI encrypted at restAzure Disk Encryption on all VM managed disks; storage account encryption; SQL TDE; Key Vault CMK; S3 and EBS encryption in AWS. Full encryption validation completed March 2026✅ ImplementedAzure portal disk encryption status, S3 bucket policies, encryption validation report
§164.312(a)(2)(iv) — Encryption in transitePHI encrypted in transitTLS 1.2+ enforced for all data transmission. SSL/TLS certificate monitoring with 30/60/90-day expiration alerts operational✅ ImplementedPalo Alto decryption policy, TLS configuration

Audit Controls (§164.312(b))

RequirementControlImplementationStatusEvidence
§164.312(b) — Hardware/software activity logsActivity logging on all systemsAzure Monitor, AWS CloudTrail org trail enabled across all environments. Entra ID (9 categories) and Activity Log (4 categories) diagnostic settings active✅ ImplementedAzure Monitor logs, CloudTrail S3 archive
§164.312(b) — Audit log reviewRegular review of audit logsWeekly HIPAA compliance audit email (ops-automation) surfaces compliance findings. Arctic Wolf MDR actively reviews security events. PIM and privileged access audit runs weekly on Mondays, including 7-day role activation history (who activated which role, duration, justification)✅ Implementedops-automation HIPAA audit email, Arctic Wolf portal, PIM audit workflow
§164.312(b) — Log retentionLogs retained for minimum required periodSIEM-independent 6-year archive deployed across all three environments. Azure Storage with WORM immutability and lifecycle (Hot → Cool 90d → Archive 365d). AWS S3 with Object Lock GOVERNANCE mode (2190-day retention). All log sources wired: DCRs dual-destination (LAW + archive), NSG flow logs to archive, VPC flow logs to Object Lock bucket, all four firewall syslog VMs shipping to archive. AWS CloudTrail org trail with KMS encryption✅ ImplementedArchive storage Terraform, S3 Object Lock config, Azure WORM policies, DCR diagnostic settings

Integrity (§164.312(c))

RequirementControlImplementationStatusEvidence
§164.312(c)(1) — ePHI integrity protectionMechanisms to authenticate ePHIDatabase integrity enforced at application layer; Veeam backups validated March 4, 2026; Recovery Services Vaults with soft delete and immutability on all vaults✅ ImplementedVeeam validation report, vault configuration
§164.312(c)(2) — Transmission integrityData not altered in transitTLS with certificate validation enforced for all transmissions✅ ImplementedPalo Alto SSL policy, TLS configuration

Person or Entity Authentication (§164.312(d))

RequirementControlImplementationStatusEvidence
§164.312(d) — User authenticationVerify identity before granting accessEntra ID MFA enforced for all user accounts. Conditional Access policies active in both tenants (report-only grace period, transitioning to enforce). Maester M365 audit running weekly in both tenants to validate CA posture✅ ImplementedEntra ID MFA policy, CA policy config, Maester audit reports
§164.312(d) — Service authenticationAutomated processes use secure credentialsOIDC federated credentials for GitHub Actions across all three environments and ops-automation repo. No long-lived secrets✅ ImplementedGitHub Actions workflow files, Entra ID app registrations

Transmission Security (§164.312(e))

RequirementControlImplementationStatusEvidence
§164.312(e)(1) — Transmission securityProtect ePHI during transmissionPalo Alto firewall inspects all traffic across all environments. TLS enforced✅ ImplementedPalo Alto security policies, network topology docs
§164.312(e)(2)(i) — Integrity controlsGuard against unauthorized modificationTLS with certificate pinning where applicable✅ ImplementedTLS configuration
§164.312(e)(2)(ii) — EncryptionEncrypt ePHI in transitTLS 1.2 minimum enforced across all environments. Certificate expiration monitoring active✅ ImplementedPalo Alto decryption policy, application TLS config

Administrative Safeguards (§164.308)

Security Management Process (§164.308(a)(1))

RequirementControlImplementationStatusEvidence
§164.308(a)(1)(i) — Risk analysisRegular risk assessmentsMonthly penetration testing (Nuclei + Nmap, 9 endpoints). Weekly vulnerability dashboard. Automated cloud vulnerability report operational✅ Implementedops-automation pen test results, Cloud Vulnerability Report
§164.308(a)(1)(ii)(A) — Risk managementImplement security measures to reduce riskCheckov HIPAA scanning on all PRs; Azure Policy HIPAA/HITRUST and ISO 27001 active on all subscriptions; AWS Security Hub NIST 800-53 R5 org-wide; AWS Audit Manager HIPAA Omnibus continuous assessment✅ ImplementedCI/CD pipeline logs, Azure Policy compliance, Security Hub findings
§164.308(a)(1)(ii)(B) — Sanction policyConsequences for policy violationsHR policy in place at organizational level✅ ImplementedHR policy documentation
§164.308(a)(1)(ii)(C) — Information system activity reviewReview logs and access reportsWeekly HIPAA audit email covering Azure Policy, AWS Security Hub, and GitHub security config. Cortex XDR weekly security report. PIM and privileged access audit weekly✅ Implementedops-automation weekly emails

Assigned Security Responsibility (§164.308(a)(2))

RequirementControlImplementationStatusEvidence
§164.308(a)(2) — Security officer designatedNamed individual responsible for securityIT/Security role held by sole IT administrator✅ ImplementedOrganizational chart, job description

Workforce Security (§164.308(a)(3))

RequirementControlImplementationStatusEvidence
§164.308(a)(3)(i) — Workforce access managementControl workforce access to ePHIEntra ID RBAC; PIM and privileged access audit weekly — flags permanent assignments, stale accounts >90 days, accounts without MFA, service principals with privileged roles✅ ImplementedEntra ID access reviews, PIM audit email
§164.308(a)(3)(ii)(A) — Authorization proceduresProcess for granting accessAccess provisioned through Entra ID🔄 PartialAccess request process (formalization target: Q2 2026)
§164.308(a)(3)(ii)(C) — Termination proceduresRevoke access upon terminationEntra ID account disable/delete on termination✅ ImplementedEntra ID offboarding procedure

Information Access Management (§164.308(a)(4))

RequirementControlImplementationStatusEvidence
§164.308(a)(4)(i) — Access authorizationAuthorize access to ePHIRole-based access in Entra ID, least privilege enforced. Intune compliance policies enforce BitLocker, Secure Boot, TPM, Defender, OS version, and password requirements on all managed devices✅ ImplementedEntra ID RBAC assignments, Intune compliance policy
§164.308(a)(4)(ii)(B) — Access establishmentFormal process to grant accessAccess provisioned via IT request🔄 PartialAccess request documentation (pending formalization)
§164.308(a)(4)(ii)(C) — Access modificationUpdate access when roles changeManaged through Entra ID role reassignment✅ ImplementedEntra ID audit logs

Security Awareness and Training (§164.308(a)(5))

RequirementControlImplementationStatusEvidence
§164.308(a)(5)(i) — Security training programTrain workforce on security policiesSecurity awareness training conducted✅ ImplementedTraining completion records
§164.308(a)(5)(ii)(B) — Malicious software protectionProtect against malicious softwareMDE running in Passive Mode alongside Cortex XDR on all Azure servers. Arctic Wolf MDR active across all environments✅ ImplementedIntune/MDE console, Cortex XDR console, Arctic Wolf portal
§164.308(a)(5)(ii)(C) — Log-in monitoringMonitor log-in attemptsEntra ID sign-in logs to LAW + archive. Failed authentication alerting via Arctic Wolf. PIM audit flags accounts without MFA weekly✅ ImplementedEntra ID sign-in reports, PIM audit email
§164.308(a)(5)(ii)(D) — Password managementPassword policies enforcedEntra ID password policies and MFA enforced. Lockout duration standardized to 30 minutes across all three AD domains. AD audit now performs explicit pass/fail checks on all 8 password policy settings: min length ≥ 12, complexity enabled, max age ≤ 90 days, history ≥ 24, min age ≥ 1 day, lockout threshold ≤ 10, lockout duration ≥ 30 min, observation window ≥ 30 min✅ ImplementedEntra ID authentication policies, AD domain policy, AD audit weekly email

Security Incident Procedures (§164.308(a)(6))

RequirementControlImplementationStatusEvidence
§164.308(a)(6)(i) — Incident response policyPolicy for responding to incidentsIncident response runbook covering 5 incident types with severity levels, step-by-step procedures, and HIPAA breach notification requirements✅ ImplementedIncident Response Runbook
§164.308(a)(6)(ii) — Incident reportingReport and respond to incidentsSecurity incidents escalated to IT and leadership🔄 PartialIncident log (formalization planned Q2 2026)

Note: A ransomware incident occurred in November 2024. The environment was fully rebuilt following the incident. Lessons learned inform the current security architecture: network segmentation, Palo Alto IPS, DR environment design, MDE Passive Mode alongside Cortex XDR, soft delete + immutability on all backup vaults.

Contingency Plan (§164.308(a)(7))

RequirementControlImplementationStatusEvidence
§164.308(a)(7)(i) — Contingency planPlan for emergency operationsDR environment exists in AWS, failover procedure documented✅ ImplementedDR Failover Procedure, AWS DR Overview
§164.308(a)(7)(ii)(A) — Data backup planBack up ePHIVeeam nightly replication to AWS S3 (validated March 4, 2026). Azure Recovery Services Vaults in all subscriptions including DDE✅ ImplementedVeeam validation report, RSV backup jobs
§164.308(a)(7)(ii)(B) — DR planRestore operations after disasterDR failover procedure documented, DR test scheduled June 2026✅ ImplementedDR Failover Procedure
§164.308(a)(7)(ii)(C) — Emergency operationsContinue operations during emergencyAWS DR environment ready to receive workloads✅ ImplementedAWS DR Overview, EC2 instance inventory
§164.308(a)(7)(ii)(D) — Testing and revisionTest contingency plansDR test scheduled June 2026 and October 2026📅 PlannedDR test plan (April 2026)
§164.308(a)(7)(ii)(E) — Applications criticalityPrioritize applications for recoveryDatabase servers identified as critical — first to restore in DR✅ ImplementedDR Failover Procedure

Evaluation (§164.308(a)(8))

RequirementControlImplementationStatusEvidence
§164.308(a)(8) — Periodic technical evaluationRegular security evaluationsMonthly penetration testing (Nuclei + Nmap); Maester M365 weekly audit in both tenants; Weekly HIPAA compliance audit email; Cortex XDR weekly; Checkov continuous IaC scanning✅ Implementedops-automation scheduled outputs, Maester reports, Checkov CI/CD logs

Summary Dashboard

Technical Safeguards

StatusCount
✅ Implemented12
🔄 Partial0
📅 Planned0
❌ Gap0

Administrative Safeguards

StatusCount
✅ Implemented19
🔄 Partial3
📅 Planned1
❌ Gap0

Known Gaps and Remediation Plan

ControlGapRemediationTarget
Audit log reviewFormal documented review schedule not yet establishedCreate log review runbookQ3 2026
Access request processInformal process onlyFormalize and documentQ2 2026
DR testNot yet testedExecute DR testJune 2026
GitHub and Intune audit logsNot archived beyond default platform retentionExport to archive storageQ2-Q3 2026

Document History

DateChangeAuthor
April 2026§164.312(b) audit log review: added PIM activation history (7-day window added to weekly PIM audit). §164.308(a)(5)(ii)(D) password management: added explicit list of 8 password policy checks now enforced by AD audit scriptKobe
March 2026Updated break-glass to Implemented (cirius-breakglass deployed across all three domains, Administrators-only scope); updated log retention to Implemented (archive fully wired across all environments); updated audit log review to Implemented (weekly HIPAA audit email + PIM audit operational); updated malicious software to Implemented (MDE Passive Mode complete); updated contingency plan backup to Implemented (DDE vaults deployed, Veeam validated); added Intune compliance and Maester references; recalculated Summary DashboardRory
March 2, 2026Fixed log retention status, updated incident response to Implemented, recalculated countsRory
March 2026Initial draftRory

Internal use only — Cirius Group