Apache Superset for healthcare: why the build decisions start with ePHI
A hospital, payer or health tech team that wants dashboards on clinical and operational data faces a basic constraint: every chart query may touch electronic protected health information (ePHI), and every copy of that data in a new tool becomes part of the team's compliance scope. The HIPAA 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. That scope does not shrink because the analytics tool is free. Apache Superset is released under the Apache License 2.0 and has no paid edition, so the license cost is zero, but the work of keeping ePHI inside controls you can evidence is entirely yours. Self-hosting Superset inside your own cloud account or data center keeps the query path, the metadata database and the cached results under your access model rather than under a vendor's multi-tenant service.
The build changes depending on who sees which rows. Superset's row level security and role model decide whether a nurse manager, a revenue cycle analyst and a data steward each see only the patients, facilities or payer populations they are authorized to see. Before any dashboard is published, the team should write down which roles exist, which datasets each role can query, which filters are enforced in the database rather than in the dashboard, and which accounts hold the privileges to edit those rules. Identity also matters: if logins come from your directory through the authentication and SSO configuration, deprovisioning a departing employee removes their access to ePHI at the same time as their other systems. Confirm with your security and privacy officers how Superset's audit logs, cached query results and scheduled report exports will be handled, because each of these can copy ePHI outside the intended dataset.
Which HIPAA and sector requirements shape the Superset build
This table maps the HIPAA Security Rule standards, and the NIS2 and GDPR health provisions, that most affect dashboards to the Superset decisions they drive. Read each row as a question your design must answer with evidence, not as proof that Superset itself is compliant. HIPAA has no certification, so the goal is a configuration your compliance team can document and test.
| Requirement | What it means for Superset | Evidence to keep |
|---|---|---|
| Unique user identification (45 CFR 164.312(a)(2)(i), required) | Every analyst and viewer signs in with an individual identity. Shared dashboard logins and generic service accounts used by people do not meet the standard. Map identity provider groups to Superset roles. | Identity provider configuration, role mapping exports and a list of accounts with their owners |
| Emergency access procedure (45 CFR 164.312(a)(2)(ii), required) | Define how an authorized person gets access to clinical or operational dashboards during an outage of the normal identity path, and how that access is logged and removed afterward. | Written procedure, break-glass account controls and records of any use |
| Automatic logoff (45 CFR 164.312(a)(2)(iii), addressable) | Set session lifetimes in Superset's configuration so idle browser sessions on shared clinical workstations end. Document the chosen interval and the reason if you choose a different measure. | Configuration values, the documented decision and test results for idle timeout |
| Encryption (45 CFR 164.312(a)(2)(iv) and 164.312(e)(2)(ii), addressable) | Encrypt traffic between browsers, Superset and the warehouse with TLS. Protect the SECRET_KEY and database credentials. Encryption at rest for the metadata database is a hosting decision you must assess. | TLS configuration, key management records and the addressable-specification assessment |
| Audit controls (45 CFR 164.312(b), standard) | Superset's own logs and the warehouse query logs must show who viewed or exported ePHI. Decide where logs go, how long they are kept and who reviews them. | Log retention settings, sample audit trails and a review schedule |
| Row-level security and minimum necessary access (45 CFR 164.308(a)(4), information access management) | Use Superset roles and row-level security rules so each team sees only the patients, sites or payers it needs. Test RLS against the warehouse, since a misconfigured rule exposes records. | Role matrix, RLS rule definitions and test results for each role |
| Export controls for ePHI (45 CFR 164.312(c) and 164.312(e)) | CSV and image exports leave the controlled environment. Decide which roles may export, whether exports are logged, and how downloaded files are handled. | Export permission matrix, logging evidence and a documented handling rule |
| Business associate terms (45 CFR 164.314(a)(2)(i)) | If a vendor or partner hosts or supports Superset and handles ePHI, the contract must require Security Rule compliance, flow the same terms to subcontractors and require incident reporting. | Signed business associate agreement and subcontractor list |
| Health data under NIS2 and GDPR (Directive (EU) 2022/2555, Annex I; Regulation (EU) 2016/679, Articles 32 and 34) | For EU operators in the health sector, NIS2 applies to security governance and incident handling. GDPR Article 32 expects access control matched to need-to-know. A 2026 CNIL fine cited missing multi-factor authentication for external access and access control that ignored the care team's need to know. | Access reviews, multi-factor authentication settings for remote access and an incident response record |
Choosing hosting for clinical and operational data
When a hospital runs Superset on servers in its own data center, the organization is the covered entity and controls every layer itself. Network isolation is usually the strongest lever, because Superset can sit on a segment that only reaches the analytics databases and the identity provider, with no path to the general clinical network. The metadata database is a production system in this setting, so the team should plan PostgreSQL or MySQL rather than the SQLite default, which the Superset architecture documentation does not recommend for production. Encryption keys stay with the hospital's own key management, and the SECRET_KEY and database credentials should be stored there too.
- Network segment: Confirm which analytics databases Superset may reach, and block every other east-west path from the analytics segment.
- Metadata database: Choose PostgreSQL or MySQL within the supported versions, and back it up before each change.
- Key custody: Keep the SECRET_KEY, database passwords and TLS certificates in the hospital's key store, with rotation owned by named staff.
- Caching and workers: If alerts, reports or async queries run, place Redis and Celery on the same isolated segment and restrict their access.
- Patching capacity: Confirm the team can apply upgrades and test them in staging on its own schedule.
Ask who in the hospital owns each of these controls, and where the evidence for them will be kept.
When the organization runs Superset in a cloud account it controls, the cloud provider's infrastructure is outside the organization's data center but still within its administrative authority. The organization needs a business associate agreement with the cloud provider and any managed service used for ePHI, and that agreement must flow the Security Rule obligations to subcontractors that handle ePHI, as described in 45 CFR 164.314. Network isolation is built from virtual networks, private endpoints and security groups rather than physical cabling. Managed database services can host the metadata database, but the team must confirm the service's encryption settings and who can access its keys before storing any ePHI-derived content there.
- Business associate terms: Confirm the provider and each managed service are covered by a signed agreement that matches the Security Rule scope.
- Private connectivity: Reach analytics databases over private endpoints, and keep Superset off public addresses.
- Metadata database: Choose a managed PostgreSQL or MySQL service only after confirming its version support and backup behavior against the Superset configuration documentation.
- Customer-managed keys: Ask whether the organization can hold and rotate its own encryption keys, and who in the provider can reach them.
- Shared responsibility: Write down which controls the provider operates and which the organization configures, including logging and access reviews.
Request the provider's current documentation on its business associate terms and key management before design starts.
A health tech vendor that embeds Superset dashboards in a product for providers or patients is a business associate of its customers when it handles ePHI on their behalf. Hosting is usually multi-tenant, so the design must keep each customer's data separate at the database, role and token level. Network isolation covers the application tier, the embedding path and the analytics databases, and the vendor should decide early whether tenants share a Superset instance or run separate ones. The metadata database and the signing keys for embedded access become shared assets across tenants, so their custody matters more than in single-organization deployments. Business associate contracts with each customer must describe how the vendor's subcontractors, including the cloud host, are bound by the same terms.
- Tenant model: Decide whether tenants share one Superset instance with row level security or run isolated instances, and document the trade-off in the design.
- Embedding path: Confirm how guest tokens are issued and scoped, and keep embedding keys in a managed key store.
- Metadata database: Use a production database with separate credentials per environment, since a single metadata store holds every tenant's configuration.
- Customer contracts: Map each customer's business associate terms to the vendor's own hosting and subcontractor agreements.
- Key custody: Decide which keys the vendor holds and whether customers can require their own.
Ask the vendor's security team to show how a tenant's data and tokens are separated before any customer data is loaded.
Superset settings and modules that matter in healthcare
In a healthcare Superset, the same handful of settings decide who can see patient-level rows, how logins map to clinical roles, and where query and report data is stored. Each card below names one of those decisions and the check to make before any clinical data is connected.
Roles and row level security for care teams
Superset roles set which dashboards and datasets a user can open, and row level security (RLS) filters the rows a query returns. For ePHI, RLS is where patient, facility and care team scoping is enforced, so a nurse on one ward sees only that ward's encounters. Test each RLS rule with accounts from every role, and confirm that the filter also applies to cached results, exports, alerts and scheduled reports. Filters written only on the dashboard are not access control.
Flask-AppBuilder login and group mapping
Superset uses Flask-AppBuilder for authentication and supports LDAP and OAuth2 providers. Setting AUTH_ROLES_MAPPING translates directory groups into Superset roles, so access follows the same joiner, mover and leaver process as the EHR and clinical systems. Confirm that a removed or transferred clinician loses access on the next login, and that no fallback local account remains active for people who have left the organization.
SECRET_KEY and PREVIOUS_SECRET_KEY handling
Superset will not start without a user-specified SECRET_KEY, and the same key protects session data and encrypted values stored in the metadata database. Store it in a secrets manager, never in a repository or image, and rotate it with PREVIOUS_SECRET_KEY so existing sessions and stored credentials remain readable during the change. Record each rotation in the change log, since auditors will ask how key material for systems holding ePHI is managed.
PostgreSQL or MySQL metadata database
The metadata database holds dashboard definitions, users, roles, saved queries and, for some features, stored results that can reflect patient-level data. The Superset architecture documentation says the SQLite default and the Docker Compose PostgreSQL container are not recommended for production, and the supported production options are PostgreSQL or MySQL. Confirm the supported versions for your release, enable encryption at rest and TLS in transit, and include the database in the backup and restore tests.
Caching and Celery workers for alerts and reports
Alerts, scheduled reports, async queries and dashboard thumbnails depend on the caching layer and Celery worker and beat processes, and most installations use Redis and Celery for them. Each of these components can hold query results or rendered images, so they fall inside the ePHI boundary. Set the cache lifetime deliberately, restrict who can receive reports, and confirm that worker hosts and Redis are in the same network zone and encryption standard as the metadata database.
Database connection privileges
The database account Superset uses for each connection decides what a user can reach even when Superset's roles are correct. Create read-only accounts scoped to the clinical or operational schemas each dataset needs, and avoid connecting Superset with an account that can write, administer or read unrelated patient tables. Confirm with your DBA whether database-side row policies can back up the Superset RLS rules, so that a misconfigured dashboard cannot expose rows that the database itself would filter.
How a healthcare Superset rollout is sequenced
The sequence moves from classifying the ePHI Superset will touch to a monitored production cutover, with each gate closed by a named approver and a written check. Healthcare teams use it to confirm access rules and business associate terms before any clinical or operational user sees data.
Classify data and scope business associates
The compliance lead and data owners inventory every dataset Superset will query, marking which tables contain electronic protected health information and which hold only operational or de-identified data. Legal or privacy counsel confirms whether any vendor, hosting provider or contractor that handles that ePHI needs a business associate contract that meets 45 CFR 164.314(a)(2)(i). The step closes with a signed data inventory and a list of approved parties, which the privacy officer approves before design starts.
Design the access model and row level security
The platform owner and data owners map job functions to Superset roles, decide which users may export data or view raw patient-level rows, and write row level security rules that limit each group to the records it needs to see. The security lead reviews the design against the HIPAA technical safeguard for unique user identification and the minimum necessary expectation your privacy policy sets. The output is an approved role matrix and RLS rule set, signed off by the security officer and the data owners.
Deploy and harden staging with the documented steps
The engineering team deploys Superset in a staging environment on PostgreSQL or MySQL for the metadata database, sets a user-specified SECRET_KEY, and configures SSO and group-to-role mapping against your identity provider. Any caching, Celery worker or alerting components are added only where the reports or async queries need them. Staging is complete when the platform builds from the documented configuration, the metadata database is backed up, and the platform owner signs the build record.
Validate access controls with test accounts
The security team creates test accounts for each role and runs scripted checks that confirm RLS filters, export restrictions, database credentials and logout behavior work as the role matrix states. Failed checks are logged, fixed and retested rather than accepted as known issues. The step closes when every test case passes, the results are archived as evidence, and the security officer approves moving to a pilot group.
Run a pilot with a care operations group
A limited group of care operations users, such as scheduling or throughput analysts, uses Superset on real operational data under the approved access model for a defined trial window agreed in advance. The project lead collects feedback on dashboard accuracy, access problems and slow queries, and the security team reviews the access logs for unexpected behavior. The pilot ends with a documented list of fixes and a go or no-go decision from the clinical operations sponsor and the security officer.
Cut over to production with monitoring
The team applies the pilot fixes, repeats the access tests on the production build, and moves users in groups while retaining the rollback path described in the upgrade documentation. Monitoring covers authentication failures, query activity, scheduled reports and audit logs, with alerts routed to the platform and security teams. The cutover is complete when all access checks pass in production, the runbook and backup schedule are handed over, and the privacy officer and CISO sign the go-live record.
Embedding analytics in patient and provider portals
Embedding Superset dashboards in a patient or provider portal changes the threat model, so it must be tested as its own project and not inherited from the internal Superset deployment. Internal users sign in with their own identities and work inside a trusted network. Portal users are a different population, may be patients acting on their own record, and reach the dashboard through a browser session that your application hands off. The embedded surface is the attack surface, and every control that protected internal use (roles, row level security, the login session) has to be re-verified for that path.
Start with guest tokens. Superset's embedded SDK relies on a guest token issued by your backend, and the token's row level security clauses, dashboard reference and resource scope decide what a viewer can see. Test that a token issued for one patient or one provider's panel cannot be replayed to query another tenant's rows by altering a filter in the browser, and confirm the token lifetime is short enough for a shared workstation. Keep public dashboards disabled for anything that touches ePHI, because a public dashboard has no per-viewer identity to scope against. Check the browser side as well: the iframe's allowed origins, the content security policy, cookie attributes for the portal session, and whether the Superset host can be framed by sites you do not control.
Plan session handling and verification as separate work items. Confirm which session the embedded view uses, how logout in the portal ends it, and what happens when a provider's access is revoked in the identity source while a token is still valid. Use the SECRET_KEY and PREVIOUS_SECRET_KEY rotation procedure from the configuration documentation to test how sessions behave during a key change. Verification should include negative tests against guest token scope, tenant isolation, export and download paths, and error pages that might leak query text. Ask your assessor and your privacy counsel which of these results belong in HIPAA technical safeguard evidence, since the Security Rule does not certify a design and auditors will test what you can demonstrate.
Questions healthcare teams ask before hiring help with Superset
What drives the cost of a Superset healthcare implementation?
The cost follows the written scope, and the largest drivers are the number of data sources, how many row level security rules must be designed and tested, whether dashboards are embedded in a portal, and how much validation evidence the compliance team expects. Each source adds connection, permission and data modeling work, and each access rule adds design and test cases. Setup costs are one-time, while hosting, patching, upgrades and backups recur on your infrastructure and may be covered by a separate retainer. Ask for each item to be priced separately so you can see which decisions move the total.
How long does a Superset rollout take in a hospital or payer?
Duration depends on dependencies more than on Superset itself: identity integration, approval of data extracts, network access to the analytics databases, and the time your data owners need to confirm definitions. Row level security testing and compliance review often add cycles because each access rule must be checked against real roles. Superset also needs a metadata database, and the architecture documentation recommends PostgreSQL or MySQL for production, so that provisioning is a dependency too. Ask the partner to tie each phase to a named dependency in the written plan.
What must our team provide before implementation starts?
Plan for four groups of inputs before work begins:
- Identity: an OAuth2 or LDAP directory, group names for each clinical and operational role, and a decision on who administers accounts.
- Data owners: named owners for each dataset who can confirm definitions, patient-level fields and which roles may see them.
- Network access: approved paths from the Superset host to the analytics databases, plus any VPN or access controls your security team requires.
- Compliance contacts: people who can answer questions about HIPAA safeguards, business associate terms and evidence requirements.
Missing any of these usually delays the schedule more than technical work does.
Can our internal team deploy and run Superset without outside help?
Yes, many teams can install Superset, but the decisions that matter for healthcare need experience with both the platform and your control framework. Internal staff typically need time for the metadata database, SECRET_KEY handling, caching and worker setup for alerts and reports, role mapping and row level security design, and documented upgrades. The Superset upgrade documentation expects a metadata database backup, testing in staging and a review of UPDATING.md before each change. Ask whether your team has the capacity to maintain that cycle alongside its current duties, and consider a fixed-scope engagement for the first build.
How does row level security affect the effort and what should we test?
Row level security is usually the largest source of design effort in a clinical deployment because each rule must match your need-to-know policy. Rules that filter by care team, facility or payer population need test accounts for each role, including negative tests that confirm users cannot see records outside their scope. The HIPAA Security Rule expects unique user identification and access controls, so your evidence should show who can see which records and how that was verified. Ask the partner for a written test matrix and a record of approved rules before go-live.
Does DeployOpen certify that our Superset deployment is HIPAA compliant?
No. There is no HIPAA certification, and HHS states that no Security Rule standard requires an entity to certify compliance. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports, attestations or certifications. Independent auditors and the HHS Office for Civil Rights assess compliance, and OCR enforces the rule through complaints, compliance reviews and audits. Ask for a scope that lists the evidence to be produced so your compliance lead can present it to the people who make the assessment.
What should a fixed-scope quote for Superset in healthcare include?
A fixed-scope quote should list the deliverables, the environments covered and the acceptance criteria in writing before work starts. Ask it to name each data source, each identity integration, each role and row level security rule, the embedding work if portals are in scope, the validation and test evidence, the documentation handover, and the upgrade or support terms after go-live. It should also state your responsibilities, such as data owner sign-off and network access, and what happens if a dependency slips. Request separate line items for one-time setup and for recurring support, and confirm that the business associate terms are addressed in the contract.
Which parts of a healthcare Superset build break most often?
Most problems appear at integration points rather than in the dashboards themselves. Common failures include group mappings that assign users to the wrong role, row level rules that work for one test account but leak data for another role, database accounts with broader privileges than the dashboards need, and background reports or caching that expose results outside their intended audience. Alerts and reports depend on the caching layer and worker components, so check those paths explicitly. Ask the team to test each path with real role assignments in staging before any clinical data is loaded.
What auditors will test and what DeployOpen can prepare
No HIPAA certification exists, so a Superset deployment is judged on evidence that the Security Rule safeguards are in place and documented. DeployOpen prepares the systems, controls and records that an assessor or OCR investigator would ask to see, while independent assessors issue any reports.
No certification, only evidence
HHS states that no Security Rule standard requires an entity to certify compliance and that private certifications do not stop HHS from later finding a violation. OCR enforces the rule through complaints, compliance reviews and audits, so your Superset evidence must show how each safeguard works in practice. Ask any partner, including DeployOpen, what it will prepare and who signs any report.
Addressable specifications need written decisions
For each addressable implementation specification, you must assess whether it is reasonable and appropriate for your environment. If you decline one, you must document why and implement an equivalent measure where reasonable. For Superset, this covers items such as automatic logoff for idle sessions and encryption of stored metadata, and each decision should name the Superset setting, owner and review date.
Business associate contract terms
If a vendor or hosting partner handles ePHI on your behalf, 45 CFR 164.314 requires a contract that commits it to the Security Rule, flows the same terms to subcontractors and requires incident reporting to you. Confirm which party touches Superset metadata, query results, exports and backups, and make sure every one of those parties is covered before data flows.
Unique user and access evidence
Auditors will test whether each analyst has a unique identity and whether row level security limits ePHI to the care or operations scope each user needs. DeployOpen can prepare role mappings, RLS rule records, test accounts showing denied access and exported access reviews. Confirm how group mappings from your identity provider are reviewed and who approves changes.
Proposed Security Rule revision pending
HHS proposed a major Security Rule revision on 6 January 2025, and as of October 2026 no final rule has been published. The Unified Agenda projects final action for July 2027. Design your Superset controls to the current rule, and track the proposal so that changes such as stricter encryption or asset inventory requirements can be scheduled rather than discovered during an audit.
Which sources to check before finalizing a healthcare design
Before you lock a healthcare Superset design, check three sources against your own deployment: the Superset documentation for the exact version you plan to run, the HIPAA Security Rule text in 45 CFR Part 164 Subpart C, and the current status of HHS's proposed Security Rule revision. The Superset architecture page tells you which components your design needs, including the metadata database, the caching layer and the Celery worker and beat processes that alerts, reports, async queries and thumbnails depend on. The configuration page covers the settings that carry your access model, such as SECRET_KEY, PREVIOUS_SECRET_KEY and AUTH_ROLES_MAPPING. Read these pages for the release you will deploy, not for whatever version you remember from earlier work.
The HIPAA Security Rule text is the reference for what your controls must do. Map each Superset control to the technical safeguard standards in 45 CFR 164.312 and note which implementation specifications are required and which are addressable, because an addressable specification still needs a documented decision. Confirm with your compliance team and counsel whether your organization is a covered entity or business associate, and which business associate terms your vendors and hosting providers must accept. Also confirm the status of HHS's January 2025 proposed Security Rule revision. Our review did not confirm a final rule, and the regulatory agenda timing can change, so your counsel should check the Federal Register and reginfo.gov on the day you sign off.
Upgrade planning depends on the same sources. Superset's upgrade guide asks you to back up the metadata database, run superset db upgrade and superset init, test in staging first and check UPDATING.md for breaking changes between versions. Record the version you tested, the date you tested it, and the configuration you changed, so the evidence you give an assessor matches the system in production. Keep a named owner for re-reading these sources at each planned upgrade, because a design that passed review against one release may need a new review against the next.
How DeployOpen scopes and delivers healthcare Superset work
DeployOpen plans, builds, hardens and documents self-hosted Apache Superset inside your own infrastructure, with healthcare data access decided before any dashboard is built. Engagements are fixed-scope, with the scope, deliverables and timelines agreed in writing before work starts.
How we scope
- Written scope lists the data sources, dashboards, roles and row level security rules included for your healthcare workloads.
- Scope records which ePHI datasets Superset will query and which users need each one, mapped to the access model.
- Scope states hosting location, metadata database, caching and worker components, identity provider and embedding requirements before quoting.
How we build
- Build covers deployment on your infrastructure, metadata database setup, SECRET_KEY management and SSO mapping of identity groups to Superset roles.
- Row level security rules are written, then tested with named test accounts to confirm each care or operations team sees only its permitted records.
- Export controls, logging settings and database privileges are configured and checked against the scoped access design before handover.
How we hand over
- Handover documentation covers architecture, configuration keys, role and RLS definitions, and the evidence each control produces for your auditors.
- Runbooks describe backup of the metadata database, staged upgrades using the upgrade guide and checks in UPDATING.md, and rollback steps.
- Your team receives a walkthrough of access reviews, user administration and the records needed for HIPAA Security Rule assessments, which DeployOpen prepares but does not certify.
How we support
- Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the original build.
- Upgrade work is planned and tested in staging before production, with the breaking change notes reviewed for each target version.
- Security testing of the Superset deployment and its connected data paths can be scheduled after go-live, with findings tracked to closure.

