HIPAA-Compliant WebRTC Telemedicine Architecture (US)
No regulator certifies a telehealth product
as HIPAA compliant. A compliant WebRTC build combines encrypted transport,
access control, audit logging, and a business associate agreement (BAA) with
every vendor that touches ePHI, all backed by a documented risk analysis.
WebRTC encrypts media by default, but an SFU decrypts it at each hop unless you
add end-to-end encryption. This document is for US healthcare
startups, digital health networks and hospital systems building or buying video
visits with EHR integration. It corrects several claims common in vendor
marketing, and flags where the law is still a proposal.

- Projects Delivered
- 200+
- Years of Experience
- 12+
- Client Satisfaction
- 100%
Compliance and security specification
Corrections to the usual marketing version: "zero unencrypted packets across TURN" overstates what a packet capture proves; "FIPS 140-2 Level 3" is out of date for AWS KMS; and SOC 2 or HITRUST reports are evidence about a vendor's controls, not a HIPAA certification.
| Area | Regulatory anchor | Implementation | Audit evidence |
|---|---|---|---|
| Data in transit | 45 CFR 164.312(e)(1) transmission security; encryption is an addressable specification today | DTLS-SRTP for media (AEAD AES-GCM suites; confirm what your stack negotiates), TLS 1.2 or higher for signaling and APIs, authenticated signaling so SDP fingerprints cannot be swapped | Architecture diagram stating where media is decrypted; TLS scan results; packet captures showing encrypted SRTP on relayed paths |
| Data at rest | 45 CFR 164.312(a)(2)(iv) encryption and decryption (addressable) | Envelope encryption with customer-managed keys in AWS KMS; separate keys per environment; rotation | Key policies, rotation records, access logs. AWS reports its KMS HSMs as validated to FIPS 140-3 Level 3 or in validation |
| Access control | 45 CFR 164.312(a)(1), (d) and automatic logoff (addressable) | Role-based access (patient, clinician, interpreter, admin); MFA for workforce; short-lived tokens; idle timeout set by risk analysis (15 minutes is a common policy, not a rule) | Role matrix, access reviews, MFA enrolment report |
| Audit controls | 45 CFR 164.312(b) | Append-only log of joins, EHR reads and writes, recording access and admin actions; no PHI in log payloads | Log samples, retention policy, alert rules |
| EHR exchange | 21st Century Cures Act and ONC HTI-1 certification rules for EHR vendors | FHIR R4, SMART App Launch, US Core profiles; least-privilege scopes | Conformance test results per EHR sandbox; scope inventory |
| Vendor governance | BAA required for any vendor that creates, receives, maintains or transmits ePHI | BAAs across cloud, video, messaging and monitoring layers; subprocessor inventory | Signed BAAs; SOC 2 or HITRUST reports as supporting assurance, not as HIPAA certification |
Reference architecture
Encryption in WebRTC: what the SFU can see
BAAs and vendor governance
EHR integration: SMART on FHIR and what the EHRs actually allow
ONC's HTI-1 rule sets the baseline for certified EHRs. From 1 January 2026 it replaces USCDI v1 with USCDI v3, adopts US Core 6.1.0, and moves from SMART App Launch v1 to v2. It also requires certified modules to revoke an authorised app's access within one hour of a patient's request. These obligations sit on the EHR vendor, so your app consumes whatever each customer's EHR version supports. The three big EHRs share the same pattern, but differ on registration and write access:
| Epic | Oracle Health | athenahealth |
|---|---|---|
| Registration | Self-service on fhir.epic.com; production data flows only after each customer enables your client ID | Register in code Console; each client enables the app per domain and role |
| Launch types | EHR launch, standalone with PKCE, backend with signed JWT | EHR launch, standalone with PKCE; system access via client credentials |
| Write access | Sandbox lists writes on 13 resource types | Secured sandbox lists writes on 21 resource types |
| Limit to plan around | After Ready for Production only redirect URIs and JWK Set URLs can change | Patient searches matching over 1,000 patients return an error |














