Why product analytics in healthcare apps starts with ePHI, not dashboards
Picture a digital health team that wants funnel and replay data from a patient portal or telehealth booking flow. The answer to their first question is not a dashboard. It is a scoping decision: once the analytics stack receives electronic protected health information (ePHI), it sits inside the HIPAA Security Rule, so self-hosting and capture-time masking must be designed before any funnel work starts. Replays capture what a patient types, clicks and sees, and event properties can carry a diagnosis, a provider name or an appointment reason without anyone intending it. The Security Rule (45 CFR Part 164, Subpart C) applies to covered entities, meaning health plans, health care clearinghouses and covered health care providers, and to their business associates, for all ePHI they create, receive, maintain or transmit. A vendor that receives session data on a covered entity's behalf is therefore in scope, and so is the self-hosted stack the team runs itself.
This page covers three self-hosted options: OpenReplay, PostHog and Umami. The platform choice matters less than where the data lands and who can read it. Confirm in writing whether any SDK, CDN, error reporter or support tool in the page receives ePHI, because a single third-party script can create a business associate relationship the team did not plan for. The HHS Office for Civil Rights HIPAA Audit Program page describes how the regulator checks compliance, which is a useful lens for the evidence the team should keep. The requirements table later on this page sets out the controls, decisions and evidence for each option, so the platform comparison here stays short.
Which HIPAA and related requirements shape the analytics build
This table maps each applicable requirement to the analytics decision it affects: event properties, replay masking, access roles and vendor contracts. Read it as a list of design questions to settle before any tag fires, not as proof that a stack is compliant. Confirm applicability with your privacy and legal counsel, because HIPAA scope depends on whether your organization is a covered entity or business associate.
| Requirement | What it asks for | Build decision for analytics |
|---|---|---|
| Security Rule scope (45 CFR 164.302) | Covered entities and business associates must protect all ePHI they create, receive, maintain or transmit. | Decide whether analytics events, replay recordings and session logs count as ePHI in your setup, since they can carry identifiers linked to care. |
| Unique user identification (164.312(a)(2)(i)) | A required specification that each user of a system holding ePHI has a unique identifier. | Use internal pseudonymous user IDs in analytics, never patient names, medical record numbers or raw email addresses, and map roles to individual staff accounts. |
| Automatic logoff (164.312(a)(2)(iii)) | An addressable specification for ending sessions after inactivity, with a documented decision if not implemented. | Set session timeouts for staff dashboards that show replays, and record whether the timeout is adopted or an equivalent control is used. |
| Encryption (164.312(a)(2)(iv) and 164.312(e)(2)(ii)) | Addressable specifications covering encryption of ePHI at rest and in transit, assessed against your risk analysis. | Require TLS for all SDK traffic, encrypt recording storage and backups, and document key management for a self-hosted deployment. |
| Addressable specification rule (164.306(d)) | For each addressable specification, assess whether it is reasonable and appropriate, document why if not, and adopt an equivalent measure where reasonable. | Keep a decision record for each analytics control, such as why replay is not masked by default or why a given encryption method was chosen. |
| Business associate terms (164.314(a)(2)(i)) | Contracts must require compliance with the Security Rule, flow terms down to subcontractors handling ePHI, and report security incidents. | Confirm whether any analytics, hosting, support or CDN provider touches ePHI, and put business associate terms in place before data flows. |
| GDPR Articles 32 and 34 (CNIL, 3 September 2026) | Article 32 requires security suited to risk, and Article 34 covers communicating breaches to data subjects. CNIL cited missing VPN and multi-factor authentication and access control that ignored need to know. | Apply least-privilege roles to replay viewers, require multi-factor authentication for every admin and export path, and limit which staff can see recordings of patient pages. |
| Data minimization in event properties | Analytics should use only the data needed for the stated purpose, and sensitive categories need stronger justification. | Define an allowlist of event properties and block free-text fields, diagnosis codes, appointment details and prescription names at capture. |
Which open-source platforms fit a healthcare analytics stack
Healthcare apps need event analytics and, sometimes, session replay, but every recording or event property is a place where protected health information can leak. The platforms below differ in what they capture, where data sits and how access is controlled, so the choice depends on whether you need replay at all and how much you can verify before launch.
OpenReplay for session replay
OpenReplay is the platform in this set that pairs session replay with product analytics, funnels and DevTools data, and it can run on your own VM, Kubernetes cluster or cloud account. Its capture-time sanitization masks or skips data before it reaches the server, and its private mode masks all text and inputs by default. Check that masking holds on your patient portal's forms and results pages, and test it again after each front-end release. Self-hosting also keeps recordings in your infrastructure, and first-party tracking from your own domain avoids a third-party tracking vendor receiving ePHI.
Masking by selector and input redaction
Capture-time controls are the first line of defense for healthcare recordings. CSS selector masking hides named elements such as diagnosis fields, medication lists and appointment details, while input redaction covers what patients type into forms. Selector masking depends on developers tagging every sensitive element consistently, so an untagged component can expose data without any error. Ask your engineers to document the selectors, add automated checks in the release pipeline, and treat any new screen that renders clinical content as in scope for review.
OpenReplay licensing: AGPLv3 core and ee/ directory
OpenReplay's README states that most of its monorepo is licensed under AGPLv3, some directories are MIT, and everything under the ee/ directory is under a separate commercial license defined in ee/LICENSE. Legal and procurement teams should confirm which components your deployment uses and whether modifications you make to the AGPLv3 code trigger source disclosure obligations. If you add enterprise features, the ee/ license terms apply to those components, so review them before deployment.
Enterprise access controls to confirm
Access to recordings is often the weakest point in a healthcare analytics stack, so the access model matters as much as capture settings. OpenReplay's pricing page lists SSO and SAML, SCIM provisioning, roles and permissions, and an audit trail in its self-hosted Enterprise edition, on custom multi-year pricing. Confirm with the vendor which of these features apply to your version, how role scopes limit replay viewing by team, and whether audit logs record every replay view and export. Those answers feed directly into your access review evidence.
PostHog for event analytics
PostHog covers event tracking, funnels, retention and feature flags, and it can be self-hosted. Whether it fits a healthcare app depends on your data model: if event properties can be designed to carry only pseudonymous identifiers and aggregate outcomes, self-hosting keeps them in your environment. Confirm the self-hosted deployment model, supported version and component footprint with the vendor before you commit, and check whether its SDK settings can disable autocapture so that page text and form values are not sent by default.
Umami for page-level metrics
Umami is a lightweight option for simple page-level metrics such as visits, referrers and page views on public pages like appointment booking landing pages or symptom information content. It does not provide session replay, so it avoids the recording risk entirely, but it also cannot show how a patient moved through a form. Use it for marketing and public content, and keep authenticated portal screens out of its scope unless your review confirms that URLs carry no identifiers or clinical context.
How the deployment pattern changes by hosting model
Self-managing OpenReplay in your own cloud account or data center keeps session data inside infrastructure your organization already governs. Your workforce operates the stack, so your HIPAA Security Rule program covers the analytics system the same way it covers other systems that handle ePHI. Capture-time masking still has to be configured in the front end, because the server cannot recover data that the browser already sent.
- Responsibility: Your team owns access control, patching, backups, logging and incident response for the analytics servers.
- Community or Enterprise edition: The open-source edition is free to self-host with community support. Enterprise features such as SSO and SAML, SCIM provisioning and audit trail come under a separate commercial license listed on OpenReplay's pricing page, so confirm which edition you need before design starts.
- Single VM as a test baseline: OpenReplay's README says one VM with 2 vCPUs, 8 GB of RAM and 50 GB of storage is enough to start self-hosting. Treat that as a test environment only.
- Production planning: Sizing, high availability, backup and retention need separate planning based on your session volume and retention policy.
- Deployment targets: The README lists AWS, Google Cloud, Azure, Kubernetes with Helm, Docker and Ubuntu as options, so match the target to your existing hardening baseline.
Confirm with your security team which of these controls you will evidence in your own risk analysis before selecting the target environment.
OpenReplay Dedicated and Bring-Your-Own-Cloud are managed options that move part of the operating work to the provider. Any provider that creates, receives, maintains or transmits ePHI on your behalf is a business associate, and it carries its own Security Rule obligations. Under 45 CFR 164.314(a)(2)(i), your business associate contract must require the provider to comply with the Security Rule, flow the same terms to its subcontractors and report security incidents to you. Do not place session data in a managed environment until that contract is signed.
- Business associate agreement: Confirm in writing whether the provider will sign one and whether it applies to the managed offering you select.
- Provider safeguards: Ask for the provider's own security documentation, including how it controls administrator access, encrypts data and handles incidents. Ask whether it can provide evidence of these controls to you.
- Bring-Your-Own-Cloud: Your cloud account remains yours, but the provider still operates the software, so the business associate analysis still applies.
- Data location and subcontractors: Ask which cloud regions, support personnel and subprocessors can reach the data.
- Cost and terms: Managed subscriptions are priced separately from self-hosting. OpenReplay's pricing page lists Dedicated from $199 per month on AWS, GCP or Azure, so request the current terms in writing.
Before signing, check that the contract defines breach reporting timelines and data return or deletion at exit.
A fully self-hosted deployment in an air-gapped or private network removes external dependencies from the analytics path. This model suits organizations that cannot allow session data to leave a restricted segment, but it adds operational work for software updates, container images, certificates and dependency management. Your team must plan how packages and releases reach the isolated network through a controlled transfer process.
- Network isolation: Restrict inbound and outbound traffic to the application origins and the ingestion endpoints the front end needs.
- Update path: Establish a reviewed process for bringing new OpenReplay releases into the restricted network, since the latest release visible on GitHub may need validation first.
- Certificates and identity: Plan internal certificate authority use and directory integration within the private network.
- Operating burden: Upgrades, backups and restores are performed by your staff or a contracted partner working inside the boundary.
- Vendor dependencies: Confirm which components need outbound access during installation and which can be mirrored internally.
Ask your implementation partner to document the offline installation and upgrade procedure as an evidence artifact before go-live.
How a healthcare rollout moves from data mapping to audited operation
The sequence turns a set of analytics questions into a self-hosted stack where protected health information is excluded at capture, access and retention are documented, and the team can show its evidence to an assessor.
Inventory data and agree the event taxonomy
The team lists every screen, form, API call and event a patient portal or telehealth app would send to analytics, then tags each field as a direct identifier, quasi-identifier, clinical content or non-sensitive product data. A clinical data review, led by someone who knows the care workflows, confirms which fields could reveal a diagnosis, medication, appointment type or provider. The output is a signed-off event dictionary that names each event, its purpose and the fields it may carry. The step is done when the clinical owner and the privacy lead have both signed the dictionary and every field has a classification.
Design masking and write the selector test plan
Using the event dictionary, the team decides which page regions, inputs and network payloads must be masked or skipped before data leaves the browser. Engineers map these rules to CSS selectors, input redaction settings and private-mode defaults in the chosen self-hosted platform, and they define which routes, such as sign-in, symptom checkers and messaging, are excluded from recording altogether. The test plan lists each protected screen, the expected masked output and the test method for each release. The output is a masking design document and a test plan that the team can rerun after front-end changes.
Configure access control and audit logging
Administrators set up single sign-on, multi-factor authentication, role-based access and separate roles for viewing aggregate dashboards versus individual recordings. Logging is enabled for logins, recording views, exports and configuration changes, and log storage is placed where the security team can review it. Engineers confirm that no analytics administrator can switch off masking without a recorded change. The output is an access matrix, a logging configuration record and a test report showing that unauthorized roles cannot open replays.
Review business associate and vendor terms
Because the analytics stack is self-hosted in the organization's own infrastructure, the team still reviews every third party that touches the data path, including the cloud host, managed database, CDN, support providers and any SDK that loads external resources. Where a vendor could create, receive, maintain or transmit ePHI, counsel checks that a business associate contract meets the requirements in 45 CFR 164.314(a)(2)(i) for Security Rule compliance, flow-down to subcontractors and incident reporting. The output is a vendor register with contract status and a list of any third party that must be removed from the data path.
Complete a risk analysis and document safeguards
The team records a risk analysis covering the analytics stack as part of its ePHI environment, mapping each risk to the relevant Security Rule standards in 45 CFR Part 164 Subpart C and to the implementation specifications, including whether addressable specifications are reasonable and appropriate. Where an addressable specification is not adopted, the rationale and any equivalent alternative measure are written down. NIST SP 800-66 Rev. 2 can guide the questions asked. The output is a risk analysis record and a safeguards map that an internal or external assessor can follow.
Validate in staging with synthetic patients
The team runs the instrumented app in a staging environment using synthetic patient accounts that contain no real health data, then replays the full set of test journeys: registration, appointment booking, lab result viewing, messaging and video visit setup. Testers confirm that masked fields never appear in the stored events, recordings, console logs or network captures, and that excluded routes produce no recordings. Any leak is logged, fixed and retested. The output is a masking test report with pass or fail results per screen and a sign-off from the privacy and engineering leads.
Release to production under monitoring
Production rollout starts with a limited release, with the masking tests run against the live build and sampled recordings reviewed by a second person before wider access is granted. The team monitors for new fields, unexpected payloads and any change in the event volume that could signal a regression. Each front-end release is gated on the masking test suite. The output is a release record that names the build, the test results and the reviewer, and a monitoring dashboard with alert thresholds agreed in advance.
Document retention, erasure and ongoing operation
The team writes operating procedures for retention periods, deletion of recordings and events, handling of access and erasure requests, and periodic review of the event dictionary when the product changes. Procedures name the owner of each task and how evidence is kept, such as deletion logs and access review records. The organization confirms with its counsel which retention periods and erasure duties apply in its jurisdictions, since this depends on its legal position. The output is an operating runbook and an evidence calendar that keep the stack audit-ready after go-live.
What to measure instead of clinical content
How do you track appointment booking funnels without capturing patient details?
Track the step, not the answer. Record that a user reached the date picker, the provider selection step and the confirmation screen, with a step ID, a timestamp and a coarse, non-identifying context such as platform and app version. Do not attach the reason for visit, the provider's specialty when it reveals a condition, the chosen clinic location if it is sensitive, or any text the patient typed. A simple rule for the team: event properties may hold step names, counts, durations and enumerated values from a fixed list you control, never free text or values copied from a form. Have your privacy officer and clinical governance owner confirm each funnel event and its properties before release, and record that approval in your data inventory. Note that the set of steps a patient reaches can still imply a visit type, so review combinations, not only single fields.
Which identity verification drop-off metrics are safe to collect?
Measure drop-off by verification step ID and outcome category, not by the data entered. For example, record that a user started step 3 of identity verification, then left, or that a failure occurred in a category such as document upload timeout versus rejected format. Avoid recording document types that reveal insurance or clinical status, date of birth, member IDs, or the result of any check that references health records. Be cautious with error messages from identity providers, which can echo submitted values. Your team should map each step ID to a written description, and the privacy and security owners should confirm that the category list cannot be used to infer identity or health status. Ask your identity vendor which fields its SDK sends to its own servers, because those transfers sit outside your analytics configuration.
What error and performance metrics can a patient portal track safely?
Error and performance telemetry is usually the most useful and the lowest risk category. Track JavaScript error types, HTTP status codes, API endpoint names without query strings or path parameters, page load timings, and the frequency of failed requests by app version and device class. The rule is to strip identifiers from URLs and never log request or response bodies. Patient record IDs, encounter numbers and medication names often appear in paths or query strings, so normalize routes to templates such as /appointments/:id before they leave the browser. Ask your engineering team to confirm that error reporting does not capture stack traces that include rendered values, and to test this after each front-end release.
How do you measure feature adoption by role without tracking individual clinicians?
Use role categories from a fixed list, such as patient, caregiver, clinician or administrator, and count feature use within those categories. Do not record the clinician's name, specialty, department, or any attribute that identifies a small group of people, since a rare role combined with a feature can single out an individual. Set a minimum group size before a report is shared, and suppress small cells. Keep the role field as a coded value assigned by the access control system rather than a free profile attribute. Confirm with your privacy owner whether role-level analytics count as personal data in your jurisdiction, and document the aggregation threshold in your records of processing.
Can accessibility interaction timing be measured in session replay?
Yes, for timing and task completion, but not for the content being read. Useful measures include time to complete a form step, the number of retries on a control, use of keyboard navigation versus pointer input, and whether a screen reader user hits repeated focus loops. These measures tell you where the interface slows people down without capturing the text they enter. Replays of assistive technology sessions need extra care, because the replay may show masked fields but still reveal the page structure a patient is viewing. Set masking to default-on for all text in these flows, and confirm with your accessibility lead and clinical governance owner which timing events are collected and why.
How should free-text and lab or medication fields be kept out of event properties?
The safest pattern is an allowlist. Define every event name and property key in a versioned tracking plan, and reject any property not on the list in code review and in the analytics pipeline. The rules to enforce are:
- No values copied from diagnosis, medication, lab, allergy or note fields, even as hashes or truncated strings.
- No free-text inputs sent as properties, including search queries in a health content library.
- Numeric clinical values, such as a lab result, excluded entirely from analytics events.
- Automated checks in the pipeline that drop unlisted properties before storage.
The organization must confirm each event with its privacy and clinical governance owners before it goes live, and repeat that check when the tracking plan changes.
Who should approve the analytics event list for a healthcare app?
The event list should be approved by at least the privacy officer, the security lead, a clinical governance representative and the product owner, with the platform team responsible for enforcing it. Each event needs a named owner, a business purpose, the properties allowed, the retention period and the masking settings that apply. DeployOpen can help plan, configure and document this on a self-hosted OpenReplay or other open-source stack in the client's own infrastructure, under a fixed scope agreed in writing. Approval remains the client's decision, and DeployOpen does not issue compliance attestations. Ask your implementation partner to show how the approval record is stored and how changes trigger a new review.
Which evidence a HIPAA or HHS review will ask the analytics stack to produce
This table maps each piece of evidence an assessor or HHS reviewer is likely to request for a self-hosted analytics stack to the component that produces it. Read it as a checklist to build before go-live, not after a complaint or audit. The main takeaway is that HIPAA has no certification, so the evidence you keep is the proof of compliance.
| Evidence item | Component that produces it | What the reviewer will check |
|---|---|---|
| Risk analysis covering the analytics system | Your security team, with input from the analytics platform owner | Whether ePHI paths through events, replays, logs and backups are identified, rated and tied to documented mitigations |
| Event dictionary and masking configuration as tested | Analytics platform configuration plus your test results from each front-end release | Proof that defined events carry no identifiers or health details, and that masking selectors were tested on the shipped build |
| Access role exports and audit logs | Platform role and permission settings, exported on a schedule, plus the audit trail | Unique user IDs for every staff member, least-privilege roles for replay viewers, and records of who viewed which sessions |
| Business associate agreements with hosting providers | Your legal and procurement team, with the cloud or data center provider | A signed agreement covering any party that can access the infrastructure holding ePHI, with terms flowed to subcontractors |
| Retention and disposal records | Platform retention settings and your deletion job logs or backup rotation records | Stated retention periods for events and recordings, and evidence that expired data was removed from storage and backups |
| Encryption configuration | Infrastructure and database settings, TLS configuration and key management records | Encryption in transit and at rest for the analytics data store, with documented key ownership and rotation |
| Documented decisions on addressable specifications | Your security officer, recorded in the compliance file | For each addressable specification, a written assessment, the reason for any decision not to implement it, and any equivalent measure |
What to ask an implementation partner before signing
Start with ePHI handling, because it decides whether the rest of the engagement is safe to run. Ask the partner, in writing, whether any protected health information will be visible to their engineers during discovery, configuration, load testing or troubleshooting, and which named roles hold access to production replays and event stores. Ask whether test and staging environments use synthetic data only, and how the partner proves that no copy of production recordings was taken for debugging. Request a description of how the partner's own laptops, ticketing tools and support channels are kept away from session data. A partner that cannot answer these points plainly is not ready for a patient portal.
Next, ask how masking is verified after each front-end release. Capture-time masking in a self-hosted OpenReplay deployment is configured by CSS selector, input redaction and a private mode, and any new form, modal or third-party widget can slip past those rules. Ask who writes the masking test cases, whether they run in the release pipeline, who signs off on a release that changes a clinical or account screen, and what happens when a test fails. Also ask which HIPAA safeguards are in scope for the analytics stack, and who writes the rationale for each addressable implementation specification under 45 CFR 164.306(d), since that decision must be documented by the covered entity or business associate.
Finally, settle the commercial and legal terms. Ask whether the partner will sign a business associate agreement that meets 45 CFR 164.314(a)(2)(i), including flow-down to subcontractors and incident reporting, and confirm that the answer covers every party that touches ePHI. Ask for the fixed scope to be written with deliverables, acceptance criteria and named exclusions, and for the support and upgrade retainer to state response expectations, the platform versions covered and who applies security patches after go-live. Confirm each answer in writing before signature, because a verbal assurance from a sales call will not protect your organization in an OCR review.
What do healthcare teams ask before self-hosting session replay?
Does HIPAA certify analytics tools like OpenReplay or PostHog?
No. There is no HIPAA certification for software or for organizations. HHS states that no Security Rule standard requires an entity to certify compliance, that HHS does not endorse or recognize private certifications, and that such certifications do not prevent HHS from later finding a violation. Any vendor claiming HIPAA certification should be asked for the specific evidence behind the claim. What matters is whether your organization meets the Security Rule for the ePHI it handles, including the risk analysis, access controls, audit controls, encryption decisions and documentation. Where a vendor will process ePHI on your behalf, a business associate contract is required under 45 CFR 164.314. Self-hosting can keep analytics data out of third-party tools, which narrows that question, but it does not remove your own obligations.
What drives the cost of self-hosted session replay for a health app?
Cost comes from four places: the software itself (open source, so no license fee for the community edition), infrastructure you run in your own cloud or data center, implementation work, and internal staff time. Implementation scope drives most of the one-time cost: the number of pages and flows to instrument, how many masking rules you must write, and how much testing is needed to prove that masking holds after each front-end release. Recurring costs include hosting, storage, upgrades, monitoring and retention management. Event volume and replay volume raise storage and compute needs, and longer retention raises them further. Ask any implementation partner for a fixed-scope quote that lists these items separately, and ask what is one-time and what recurs. No published figure applies to your environment, so request the numbers from your own sizing.
How long does a self-hosted session replay rollout take?
The timeline depends on scope, not on a fixed duration. A rollout covering one patient portal with a short list of events and a masking policy will take less time than a rollout across a portal, a telehealth app and a mobile app with native replay. The main variables are how many applications and environments are involved, whether the hosting environment already has the required network, identity and logging controls, how long the privacy and security review takes, and how much masking testing is required before release. Ask for a written scope with milestones, and make sure the review and sign-off steps are included in the plan rather than treated as optional. DeployOpen plans and delivers implementations under fixed scopes agreed in writing before work starts.
Can our internal team deploy and run self-hosted session replay ourselves?
Yes, if your team has the skills and time to handle the safeguards, not only the installation. Installing OpenReplay is a comparatively small task: the project's README describes a single virtual machine with 2 vCPUs, 8 GB of RAM and 50 GB of storage as enough to start, with deployment options including Docker, Kubernetes with Helm and several cloud providers. The harder work is configuring capture-time masking, writing and testing selectors, setting retention, restricting access by role, enabling audit trails, keeping the platform patched, and documenting how each control works for your risk analysis. Check whether your staff can own those tasks over time. If they cannot, a fixed-scope implementation followed by a support retainer is a common alternative.
What penalties apply if ePHI leaks through analytics data?
HHS can impose civil money penalties under its inflation-adjusted table. For penalties assessed on or after January 28, 2026, the range runs from $145 per violation, where the entity did not know of the violation, to $2,190,294 per violation for uncorrected willful neglect, with a calendar-year cap of $2,190,294 for identical violations, according to 45 CFR 102.3. The amount actually assessed depends on the culpability tier, how quickly the problem was corrected and the circumstances. Penalties are only one part of the exposure: incident notification duties, state law, contractual claims with covered entities and reputational harm also apply. Confirm the current table with your counsel, because the figures are adjusted for inflation.
Does self-hosting keep session data out of third-party tools?
Self-hosting keeps session data in infrastructure you operate, so recordings and events are not sent to a vendor's cloud. OpenReplay's README notes that self-hosting keeps session data in the operator's own infrastructure and that first-party tracking from your own domain is not blocked by ad blockers. It does not guarantee that nothing leaves the browser. Third-party scripts, CDNs, fonts, error reporters and embedded widgets on the same pages can still transfer data. Map every script and request your app makes, and confirm that the analytics SDK does not send identifiers or payload content to other services. Ask your implementation partner for a data flow diagram that shows these paths.
Which HIPAA Security Rule areas does the analytics stack touch?
The stack touches several areas of the Security Rule. Under the technical safeguards in 45 CFR 164.312, the most relevant items are:
- Unique user identification for every analyst and administrator
- Automatic logoff for dashboard sessions
- Encryption of data at rest and in transit, which is addressable and must be documented if not implemented
- Audit controls that record access to recordings
Administrative safeguards also apply, including the risk analysis, workforce access management and incident procedures. Map each control to the specific standard and document your decision, because the Security Rule treats addressable specifications as requiring a documented assessment, not optional treatment. NIST SP 800-66 Rev. 2 provides informational guidance and sample questions for each standard.
What should we measure instead of PHI-bearing events?
Measure behavior at the level of flows, steps and outcomes rather than the content users type or view. Useful measures include completion rate for a booking flow, drop-off between identity verification and first appointment, time to first message sent, feature adoption counts for telehealth sessions, and error rates by screen. Use coded, non-identifying event names and bucketed properties instead of diagnoses, medication names, provider names or free-text fields. Mask inputs by default and allow only an approved list of properties to be captured. Review each event in your tracking plan with your privacy officer before it ships, and test that masking still applies after front-end releases.
How DeployOpen scopes and supports healthcare analytics work
DeployOpen plans, implements, hardens and documents self-hosted analytics inside your own infrastructure, whether that is your cloud account, your data center or an isolated network. The work starts with a written scope that names the platform and edition, the hosting target, the event schema, the masking rules for each screen, the retention periods, the identity groups that can view recordings, and the integrations that stay in place. Most engagements are fixed-scope, so deliverables and timelines are agreed in writing before any build begins. A quote follows from that scope. DeployOpen does not publish a price list, so the most useful thing a buyer can bring to the first call is a list of the patient-facing screens, the data types each one touches, and the teams that will need access.
DeployOpen also runs security testing that targets the analytics layer itself. For a healthcare app, that means verifying that masking holds on portal pages, appointment flows, intake forms and telehealth screens after each front-end release, checking that network payloads sent to the analytics server do not carry identifiers, and testing role boundaries on the replay viewer. Test results feed a remediation list that your team owns. DeployOpen prepares systems, controls and evidence for compliance assessments, such as configuration records, access reviews, retention settings and test reports. It does not issue audit reports, attestations or certifications. Independent auditors and certification bodies make those determinations, and no HIPAA certification exists to be issued, so your compliance counsel and assessor should define what evidence they need before the scope is signed.
Ongoing work is handled through retainers rather than open-ended hours. Upgrades to the analytics platform, dependency patching, backup and restore checks, retention enforcement and recurring masking tests are the items most often placed under a retainer, and the written scope should state which of them are covered and how urgent security fixes are handled. Ask any implementation partner to name the people who will have access to your environment, where the work is performed, how credentials and session data are handled during the engagement, and whether a business associate agreement is needed before they can touch any system that could hold ePHI. Those answers belong in the scope document, not in a later conversation.

