TL;DR
- HIPAA prohibits tracking Protected Health Information (PHI) in analytics platforms — not product analytics itself. A de-identified event taxonomy gives you full behavioural intelligence without touching patient data.
- Most healthcare SaaS companies running Mixpanel or Amplitude need enterprise contracts to access HIPAA BAA coverage and group analytics — typically $20,000–50,000+/year. PostHog includes both at standard pricing: approximately $2,000–4,000/year.
- A PHI-safe analytics architecture tracks staff behaviour, not patient data. The user identifier is an internal staff ID, never a patient ID. Clinic and practice metadata is safe; patient names, DOB, contact details, and medical records are not.
- The same compliant event taxonomy supports churn prediction, activation analysis, feature adoption tracking, and revenue intelligence — everything your product team needs without a single PHI exposure risk.
- Auditing an existing analytics setup typically finds events actively exposing PHI. Finding and removing them before a compliance review is significantly less costly than finding them during one.
Healthcare SaaS founders tend to believe one of two things about product analytics:
- Analytics is impossible because of HIPAA — so they avoid it entirely and make product decisions without data.
- Analytics is possible but requires expensive enterprise contracts with analytics vendors who will sign a HIPAA Business Associate Agreement — so they either pay $20,000–50,000+/year or defer indefinitely.
Both beliefs are wrong. And both are expensive.
HIPAA prohibits your analytics platform from storing Protected Health Information — patient names, dates of birth, contact details, medical records, appointment diagnoses. It does not prohibit tracking what your software does. The product behaviour your analytics platform needs to see is almost entirely non-PHI: who did what, when, in which product area, with what outcome.
The fix is architectural. A properly designed event taxonomy tracks the actions of your staff users and the metadata of your clinics and practices — never the identities of their patients. That architecture gives you every signal your product team needs and exposes zero PHI.
What HIPAA Actually Prohibits in Analytics
The relevant regulation is the HIPAA Privacy Rule, which defines Protected Health Information as any individually identifiable health information held or transmitted by a covered entity or business associate. Individually identifiable means the information can be used to identify the specific patient it relates to.
For analytics purposes, the practical definition comes down to two categories:
- Patient identifiers — name, date of birth, Social Security number, email address, phone number, physical address, IP address when linked to a patient record, any other unique identifier that traces back to a specific individual
- Health data linked to those identifiers — diagnoses, medications, allergies, treatment history, insurance details, appointment reasons, form field responses that contain clinical content
What HIPAA does not prohibit:
- Aggregate behavioural data — how many appointments were scheduled, what percentage of forms were completed, which product features are used most frequently
- Staff and user account data — the actions taken by the practice administrator or staff member logged into your product (not by the patient)
- Practice and clinic metadata — organisation name, city, state, timezone, account creation date, subscription tier, plan type
- Product-level event data — which features were accessed, in what sequence, with what timing, and with what outcome — as long as no patient identifier is included as an event property
"The key insight is that your analytics platform is watching your software, not your patients. The moment you design your tracking to capture what the software does — not what the patient's record contains — you've solved the HIPAA problem architecturally."
— Jake McMahon, ProductQuant
The implication is significant. The majority of the data your product team needs — activation signals, feature adoption rates, churn risk indicators, session depth, workflow completion rates — is entirely non-PHI. It lives in staff behaviour, practice metadata, and product interaction data. None of that requires touching a patient record.
How to Design a De-Identified Event Taxonomy
A de-identified event taxonomy is a tracking architecture where every event and every event property is explicitly designed to exclude PHI. It is not a stripped-down analytics setup — it is a precisely scoped one. You track everything the product team needs. You track nothing that creates compliance risk.
Rule 1: The User Identifier is a Staff ID, Never a Patient ID
Every product analytics platform identifies users with a distinct_id — the unique identifier that ties an action to the person who took it. In a healthcare SaaS product, this person is a staff member: the practice administrator, the front desk coordinator, the physician logging into their workflow tool.
The user identifier should be the internal database ID for that staff user account. Never a patient ID. Never an email address. The staff user's email can be stored as a user property for internal use — but only staff email, never patient email, and only when the analytics platform is covered by a signed BAA.
Safe — Use These as User Identifiers
- Internal staff user ID (e.g.,
user_id: 4821) - Internal organisation ID as a group identifier (e.g.,
org_id: 291) - Role type as a property (e.g.,
user_role: "admin") - Account creation date, subscription tier, plan type
Unsafe — Never Use as User Identifiers or Properties
- Patient ID, patient name, patient email, patient phone number
- Any identifier that traces back to a specific patient record
- Appointment IDs that are linked to patient-identifying data in your database
- Form submission IDs that expose form response content
Rule 2: Event Properties Capture Context, Not Content
When you track an event — form_submitted, appointment_scheduled, feature_accessed — the properties attached to that event describe the product context, not the clinical content.
| Status | Safe property (track this) | Unsafe property (never track this) |
|---|---|---|
| Safe | form_completion_time_seconds: 240 |
patient_name: "John Smith" |
| Safe | appointment_status: "completed" |
appointment_reason: "annual check-up" |
| Safe | form_category: "intake", field_count: 12 |
form_field_response: "allergic to penicillin" |
| Safe | doctor_specialty: "cardiology" |
patient_dob: "1985-04-12" |
| Safe | clinic_state: "CA", timezone: "America/LA" |
patient_email: "[email protected]" |
| Safe | payment_method: "card", invoice_status: "paid" |
diagnosis_code: "Z00.00" |
Rule 3: If Contact Data Must Be Referenced, Hash It
In some analytics workflows, you may need a stable identifier for a contact that is not a staff user — for example, tracking whether the same patient is completing forms across multiple visits, without storing their identity. The correct approach is a one-way hash: transform the patient identifier into a non-reversible string that allows you to count unique contacts without storing the identifier itself.
This is not a workaround — it is the correct architecture for any analytics that involves repeated interactions with the same non-staff user in a regulated context. The hash lets you count; it does not let you identify. PHI exposure requires the ability to identify. A properly implemented hash eliminates that ability.
Auditing Your Existing Events for PHI Exposure
If you have an existing analytics setup — Mixpanel, Amplitude, Segment, or any event-based platform — the first step before any migration or redesign is an audit. Most healthcare SaaS companies running analytics for more than 12 months have at least some events that expose PHI. Finding them before a compliance review is the right sequence.
In an engagement with a HIPAA-compliant healthcare SaaS, a legacy analytics audit found events actively tracking PHI-adjacent data — not through deliberate design, but through incremental additions made over time by engineers who were solving product problems, not thinking through compliance implications. The events were firing correctly. The data was flowing correctly. The compliance gap was structural and invisible until someone specifically looked for it.
The Audit Checklist
For each event in your analytics platform, answer these questions:
- What is the user identifier? Is it an internal staff ID, or does it trace to a patient record? Any event where
distinct_idis a patient ID, patient email, or patient phone number is a PHI exposure. - What properties are attached? Review every property. Does any property contain a value that could identify a specific patient — by name, contact detail, date of birth, or medical record number?
- Are form field responses captured? Any event that captures the content of a form field response — not the metadata (field type, completion status, time taken) but the actual response value — is a PHI exposure if that form collects clinical information.
- Are appointment details captured? Appointment type, duration, status, and timestamps are safe. Appointment reason, diagnosis codes, and clinical notes are not.
- What question does this event answer? If the event exists to answer a product question — "how many users completed the onboarding flow?" — it probably belongs in a compliant taxonomy. If it exists to answer a clinical question about a specific patient, it does not belong in your analytics platform at all.
When you find a PHI-exposing event: Do not simply delete it from your analytics platform. Remove it from the SDK implementation so it stops firing, document what it was tracking and why it was added, and determine whether the underlying product question it was answering can be answered with a compliant alternative event. Usually it can.
Analytics Audit — find the gaps before they find you
ProductQuant's analytics audit covers your full event taxonomy against HIPAA compliance, data quality, and decision-support value. We map what you have, what exposes risk, and what's missing for the product questions that matter.
Why PostHog Is the Right Platform for Healthcare SaaS
Once your event taxonomy is designed correctly, the platform you use to collect and analyse that data matters primarily for two reasons: HIPAA BAA availability and cost.
The HIPAA BAA Requirement
If your analytics platform stores any user-identifiable data — even staff user IDs, which are pseudonymous but not fully anonymous — it is handling data in a HIPAA-regulated context and needs to sign a Business Associate Agreement with you. This is not optional. Organisations that transmit or receive PHI on your behalf without a signed BAA create direct compliance exposure.
The critical difference between platforms is where the BAA sits in the pricing structure:
- Mixpanel and Amplitude require enterprise contracts to access their BAA — typically $20,000–50,000+/year, with multi-year commitments and the group analytics capability (B2B account-level tracking) as an additional paid add-on
- PostHog includes HIPAA BAA at standard pricing tiers — approximately $2,000–4,000/year at typical B2B SaaS event volumes, with group analytics included at no additional cost
The Full Cost Comparison
| Platform | Annual cost (HIPAA BAA + group analytics) | Data retention | Contract requirement |
|---|---|---|---|
| PostHog Cloud | ~$2,000–4,000/yr (standard pricing) | 7 years | No minimum commitment |
| Mixpanel Enterprise | $20,000–50,000+/yr (enterprise tier required for BAA) | 12 months | Annual minimum, multi-year lock-in |
| Amplitude Enterprise | $20,000–50,000+/yr (enterprise tier required; group analytics is a $3,000+/yr add-on) | 2 years | Annual minimum, multi-year lock-in |
The 90–95% cost reduction claim applies specifically to this scenario: a healthcare SaaS that needs HIPAA BAA coverage and group analytics (account-level tracking of clinics and practices). At standard volumes, PostHog and Mixpanel are actually comparable in base price. The difference is that Mixpanel requires an enterprise contract to unlock the BAA — and at enterprise pricing, that contract starts at $20,000/year. PostHog includes the BAA at standard pricing, with no enterprise tier required.
Why Group Analytics Matters for Healthcare SaaS
B2B SaaS analytics requires account-level visibility. You need to see not just what individual staff users are doing, but what each practice or clinic is doing as an account — their activation state, their feature adoption, their churn risk. Without group analytics, you have individual user events with no way to roll them up to the account level that actually drives business decisions.
For healthcare SaaS, the "group" is the practice or clinic — the entity that pays, churns, expands, and makes the product decision. Individual staff users come and go. The account is what you need to track. PostHog's group analytics capability — included at standard pricing — makes this possible without an enterprise contract.
What PostHog Includes at Standard Pricing
- Product analytics (up to 1M events/month free; usage-based above that)
- Group analytics (B2B account-level tracking)
- A/B testing and feature flags
- Session replay
- Surveys
- 7-year data retention
- HIPAA BAA (on paid plans)
- Unlimited dashboards and saved charts
How to Migrate from Mixpanel Without Losing Data Quality
If you are on Mixpanel today — either on a standard plan without a BAA, or on an enterprise plan you want to reduce the cost of — the migration sequence matters. The most common failure mode is migrating bad events into a new platform, which reproduces the problems of the old taxonomy at lower cost.
The right sequence is: audit first, redesign second, migrate third.
- Audit your existing events against the PHI checklist above. Identify which events expose risk, which answer real product questions, and which were added for reasons nobody can now articulate.
- Redesign the taxonomy around jobs-to-be-done. For each event you want to carry forward, ask: what product question does this event answer? If the question is valid, redesign the event to answer it without PHI. If the question is not valid, remove the event entirely.
- Implement PostHog in parallel before cutting over from Mixpanel. Run both platforms for 2–4 weeks to validate that the new events are firing correctly and producing consistent data. Do not cut over until you have confirmed the new implementation is sound.
- Address the historical data question explicitly. Historical Mixpanel data that exposes PHI should not be exported into PostHog. Historical data that is genuinely PHI-free can be imported if the business case justifies it. In most cases, starting fresh with a clean taxonomy and accepting a data continuity gap is the right call — and that gap closes within 30–90 days as the new data accumulates.
The most important implementation check: After going live, verify that event properties are actually populating. A common failure mode — found in a legacy Mixpanel setup during a client engagement — is events firing correctly while properties capture nothing. Events without properties cannot be segmented, cohorted, or used for churn prediction. An implementation that fires events is not the same as an implementation that produces usable data.
What You Can Now Measure
A de-identified, HIPAA-compliant event taxonomy supports everything your product team actually needs. The following is not a hypothetical list — it is what was built in an engagement with a healthcare SaaS platform using only PHI-free signals.
Activation Analysis
Track the specific workflow steps that correlate with long-term retention. For a healthcare SaaS, activation typically means a practice has successfully completed their first digital intake workflow, has active staff users, and has processed a minimum number of form submissions. All of these signals are available without any PHI. The activation event — the moment that predicts long-term retention — is identified from product behaviour data, not from clinical records.
Churn Prediction
Leading churn indicators in healthcare SaaS are almost entirely behavioural and non-clinical: declining appointment volume, falling form completion rates, reduced login frequency, increasing time between sessions, rising invoice overdue rates. A machine learning churn model built entirely on these non-PHI signals can flag at-risk accounts 2–4 weeks before cancellation — giving customer success enough time to intervene.
Feature Adoption by Segment
With group analytics tracking clinic and practice metadata (specialty, size, location, plan tier), you can segment feature adoption by account type. This answers the questions that matter for roadmap decisions: which features drive retention in your highest-ACV segment? Which features are adopted quickly by small practices but slowly by enterprise? These segmentation cuts do not require patient data — they require practice metadata and staff behaviour data, both of which are HIPAA-safe.
Revenue Intelligence
Connect payment and billing events — aggregate invoice amounts, payment status, overdue rates, plan tier changes — to product behaviour to understand the product actions that predict expansion and those that predict downgrade. Payment amounts are safe to track as aggregates. Patient-linked billing details are not. The distinction is straightforward, and the revenue signal available from aggregate billing data is sufficient for product and commercial decision-making.
Form and Workflow Analytics
Track form completion rates, abandonment points, average completion time, and field-level drop-off — by form category, by practice type, by workflow stage. Every one of these signals comes from form metadata and submission status, not from the clinical content of the form responses. This gives product teams the data they need to optimise high-value workflows without ever touching what patients wrote.
"The irony of HIPAA anxiety in product analytics is that most of the data that matters for product decisions has nothing to do with patients. Activation, churn, feature adoption, workflow efficiency — all of that lives in staff behaviour and account metadata. HIPAA was never the obstacle. Thinking it was is."
— Jake McMahon, ProductQuant
Build analytics infrastructure your compliance team will approve
ProductQuant's analytics implementation covers event taxonomy design, PostHog setup, group analytics configuration, dashboard build, and compliance documentation — designed specifically for B2B SaaS in regulated industries.
FAQ
Does PostHog sign a HIPAA BAA?
Yes — PostHog includes HIPAA BAA availability on paid plans, without requiring an enterprise contract. This is the key distinction from Mixpanel and Amplitude, which require enterprise tiers (starting at $20,000+/year) to access BAA coverage. PostHog's standard pricing — approximately $2,000–4,000/year at typical B2B SaaS event volumes — includes the BAA. Verify current BAA availability and pricing directly on PostHog's HIPAA compliance documentation before implementation, as pricing terms change.
What is a de-identified event taxonomy?
A de-identified event taxonomy is an event tracking design where no event or event property contains PHI. It tracks the actions of authenticated staff users (not patients), using internal database IDs as identifiers (not patient names or contact details), and captures behavioural context (what happened, when, in which product area, with what outcome) rather than clinical content (what the patient's record says). The result is full product behavioural intelligence — activation, churn risk, feature adoption, workflow performance — with zero PHI in the analytics platform.
Can I use Mixpanel for HIPAA-compliant healthcare SaaS?
Yes, but it requires an enterprise contract. Mixpanel's standard plans do not include a HIPAA BAA. To get BAA coverage, you need Mixpanel's enterprise tier, which starts at approximately $20,000/year and requires annual minimum commitments. If you also need group analytics (B2B account-level tracking), that is an additional cost on top of the enterprise base price. PostHog includes both BAA and group analytics at standard pricing — which is why it is the typical recommendation for healthcare SaaS teams that need HIPAA compliance without enterprise contract overhead.
What types of events expose PHI risk in existing analytics setups?
The most common PHI exposures found in healthcare SaaS analytics audits are: patient identifiers used as the user distinct_id, form field response values captured as event properties, appointment reason or diagnosis codes attached to appointment events, and patient contact details (email, phone) stored as user properties. These are usually not deliberate — they are the result of engineers adding tracking incrementally without a PHI-specific review process. An audit that reviews every event and every event property against a PHI checklist will find them. Finding them proactively is significantly less costly than having them found in a compliance review.
How long does a Mixpanel to PostHog migration take?
A well-executed migration typically runs 6–10 weeks from audit to full cutover. The audit and taxonomy redesign phase takes 2–3 weeks. PostHog implementation alongside Mixpanel (parallel running for validation) takes another 2–3 weeks. Dashboard rebuild in PostHog takes 1–2 weeks depending on volume and complexity. The migration timeline is longer than most teams expect because the right approach includes the taxonomy redesign step — not just a like-for-like event migration, which would replicate the compliance gaps and data quality problems of the old setup into the new platform.
Sources
- HHS.gov — HIPAA De-identification of Protected Health Information: guidance on methods and standards
- PostHog HIPAA Compliance Documentation — BAA availability and compliance configuration
- Mixpanel Security and Compliance — BAA and enterprise tier requirements
- Amplitude Security and Privacy — enterprise compliance requirements
- ProductQuant's analytics platform evaluation for a HIPAA-compliant healthcare SaaS (November 2025). Figures cited: PostHog standard pricing ~$2,000–4,000/year; Mixpanel/Amplitude enterprise contracts for HIPAA BAA + group analytics: $20,000–50,000+/year; 90–95% cost reduction available by selecting a platform that includes BAA at standard pricing; 13 production dashboards built with 118+ charts; legacy analytics audit found PHI-exposing events that were remediated before compliance review.
Stop flying blind. Build analytics your compliance team will approve.
Most healthcare SaaS teams are either avoiding analytics entirely or paying for enterprise contracts they don't need. The analytics architecture described here gives you full product intelligence — activation, churn prediction, feature adoption, revenue analytics — without PHI exposure and without $50,000 vendor contracts.