These are the requirements that consume engineering time and that OCR cites most often. "Done" means configured, evidenced and written into the risk analysis.
1. Risk analysis and risk management
164.308(a)(1)(ii)(A) and (B). A vendor questionnaire or a cloud posture score is not a risk analysis. Done looks like: a written, enterprise-wide document that lists every ePHI asset, the threats and vulnerabilities to each, likelihood and impact, and a risk register with owners and dates, reviewed at least annually. Cloud posture tools feed it: AWS Security Hub CSPM and AWS Config conformance packs; Microsoft Defender for Cloud with the Azure Policy HIPAA/HITRUST initiative; Google Security Command Center. Export their findings into the register rather than treating the dashboard as the deliverable.
2. Unique user identification, authentication and least privilege
164.312(a)(1), (a)(2)(i), 164.312(d) and 164.308(a)(4)(ii)(B). MFA is not yet mandated by the rule, but the proposed rule would require it on every technology asset, with limited exceptions, and OCR already expects it. AWS: IAM Identity Center with your IdP, no IAM users with long-lived keys, root account locked with hardware MFA, MFA enforced by policy condition. Azure: Entra ID Conditional Access requiring phishing-resistant MFA, Privileged Identity Management for just-in-time admin roles. GCP: Cloud Identity with enforced 2-Step Verification, IAM bindings on groups only, the organisation policy that disables service-account key creation. Done: zero shared accounts, every human and service identity traceable in logs, documented approval for each PHI access role.
3. Encryption at rest and in transit
164.312(a)(2)(iv) and 164.312(e)(2)(ii). Both are addressable, but encryption also decides whether an incident is a reportable breach: ePHI encrypted per NIST SP 800-111 (at rest) or SP 800-52 (in transit) with uncompromised keys is not "unsecured PHI" under HHS guidance. AWS: KMS customer-managed keys with rotation, S3 default encryption plus bucket policies denying unencrypted puts, RDS and EBS encryption enabled at creation (it cannot be switched on in place later), TLS 1.2 or higher security policies on load balancers. Azure: storage encryption with customer-managed keys in Key Vault, "secure transfer required" on storage accounts, Transparent Data Encryption on SQL. GCP: encryption at rest is default; use Cloud KMS CMEK where customers require key control, and organisation policies to restrict TLS. Done: a key inventory, separation of keys from data, and no PHI store without encryption enforced by policy.
4. Audit controls and information system activity review
164.312(b) and 164.308(a)(1)(ii)(D). Infrastructure logs are necessary but not sufficient: you also need application-level records of who viewed or changed which patient record. AWS: an organisation CloudTrail trail to an S3 bucket with Object Lock, CloudWatch Logs for applications, GuardDuty for detection. Azure: Activity Log and diagnostic settings streamed to a Log Analytics workspace, with an archive copy in a storage account under an immutability policy, and Microsoft Sentinel for review. GCP: Cloud Audit Logs with Data Access logs enabled for PHI services, sinks to Cloud Storage with retention lock and BigQuery for analysis. The rule sets no log retention period; choose one in the risk analysis and defend it. Done: a written review cadence (weekly for alerts, monthly for access reports) with tickets showing it happened.
5. Automatic logoff and session control
164.312(a)(2)(iii). Your application needs an idle timeout and absolute session lifetime for PHI views, and so do the consoles. AWS: session duration on IAM Identity Center permission sets. Azure: Conditional Access sign-in frequency and persistent-browser controls. GCP: Google session length controls for Cloud Console and gcloud. Pair with MDM screen-lock policies on laptops. Done: timeouts documented per system and tested.
6. Contingency plan: backup, disaster recovery and testing
164.308(a)(7)(ii)(A), (B) and (D). OCR says hacking and ransomware are the most frequent type of large breach reported to it, so this is where restoration speed is judged. AWS: AWS Backup with vault lock, cross-region copies, point-in-time recovery on RDS and DynamoDB. Azure: Azure Backup with immutable vaults and Site Recovery for compute. GCP: the Backup and DR service, multi-region buckets, Cloud SQL point-in-time recovery. Done: documented RTO/RPO per system from the criticality analysis, a restore test at least annually with results filed, and an emergency-mode runbook. Design to the proposed 72-hour restoration target now.
7. Business associate chain and workforce termination
Two controls that are more process than product but fail audits constantly. 164.308(b) requires a compliant BAA with every subcontractor before PHI flows; keep a register with dates and the services covered. 164.308(a)(3)(ii)(C) requires access to end when employment does: SCIM deprovisioning from the IdP into AWS, Entra ID and Google Workspace, with a ticket per leaver showing same-day removal.