HIPAA compliant chat API

HIPAA Configuration Guide: Setting Up Ethora for PHI

A HIPAA compliant chat deployment is a set of decisions, not a switch. This page lists the settings a covered entity applies before protected health information (PHI) goes into Ethora, where each one lives, and what Ethora does on its side. It is the same checklist that Annex C of our Business Associate Agreement refers to, written for the person who will actually configure the workspace.

Read the BAA
Self-hosted, dedicated or cloud with HIPAA enabled BAA on every covered deployment Checked against release 2610
HIPAA configuration guide for Ethora chat: settings for protected health informationBAA publishedRead it before you talk to us
10 settingsEach with where to find it and why

The short version

Which Ethora deployments can hold PHI

PHI goes on a covered deployment: a self-hosted Ethora Enterprise server on your own infrastructure, a dedicated server we run for you (including the Private Practice server), or an Ethora Cloud account with HIPAA enabled by our support team. Ethora signs the Business Associate Agreement for all three.

The free and Small Business plans on the shared cloud are for non-PHI use. Most HIPAA customers choose a self-hosted or dedicated server, but you do not have to: get in touch with tech support to enable HIPAA for your cloud account, or to get a trial dedicated server.

You can stay on the shared cloud as is if

  • your assistant or chat only handles general questions (opening hours, services, directions, booking links)
  • patients are told not to share health information in it, and are routed to a portal or a phone line when they do
  • nobody on your team pastes charts, results or identifiers into it

You need a covered deployment and the BAA if

  • patients, members or clinicians will discuss a person's condition, treatment, results or appointments
  • files with PHI (images, PDFs, lab reports) will be exchanged in chat
  • the chat is part of a patient portal, telehealth app, care coordination tool or a practice's client messenger
  • an AI agent will answer from records or documents that contain PHI

Rule of thumb: if a message in the system would identify a person and say something about their health, you are handling PHI and need a covered deployment, the signed BAA and the settings below.

Step 0

Choose the deployment and sign the BAA first

Everything below assumes PHI sits on one of these three. The BAA names the deployment, lists the sub-processors that may touch PHI on it (only AWS, and none on a self-hosted server) and allocates the safeguards between you and Ethora.

Self-hosted Enterprise

Ethora Enterprise on your own AWS, Azure, GCP or on-premises infrastructure. PHI never leaves your environment; you own the infrastructure safeguards, we own the software. Install options.

Dedicated server

A single-tenant server we run for you in the region you choose, from the light Private Practice server to a full Enterprise cluster. We own the infrastructure safeguards; you own the workspace configuration.

Ethora Cloud with HIPAA enabled

Your existing cloud account, hosted in AWS us-east-2 (Ohio), flagged as a covered deployment by support after the BAA is signed and the checklist is confirmed. Ask support@ethora.com.

The checklist

Ten settings, in the order to apply them

Items 1 to 7 are mandatory on every covered deployment (they are Annex C of the BAA). Items 8 to 10 are about the people and systems around the workspace. Where a setting lives in the admin panel, the path is given; where it is an API call, the endpoint is given and support can apply it for you.

01

Require two-step verification for administrators and owners

Admin panel › App Settings › Sign-on options › Require two-step verification for administrators and owners

Switch it on for every app that will hold PHI. Administrators who have not set up an authenticator are sent to Account › Security after their next sign-in and cannot use the admin panel until they do. End users of your app and API clients are not affected; their second factor is your decision in your own identity system.

Why: an administrator account can read every room, export history and change every setting below. The Security Rule's access control and person authentication standards (45 CFR 164.312(a) and (d)) are met for that account with a second factor.

02

Turn off self-registration and provision users yourself

Admin panel › App Settings › Sign-on options › User registration

Disable open registration so nobody can create an account in a PHI app by finding its sign-in page. Create patients, members and staff from the Users page, or from your own system through the API (one at a time or through the batch endpoint) so that identity stays in the system you already audit. Limit the sign-on options shown to the ones you actually use.

  • Give collaborators on the app the narrowest role that fits; the owner role is for one or two people.
  • Archive users who leave; an archived user cannot sign in or get a token, and their history stays in the archive.
  • Keep the App Secret and server tokens in your secrets manager, label each token by the system that uses it, and revoke the ones you no longer use (Admin panel › API tab).

Why: HIPAA's minimum necessary rule and the workforce clearance and termination procedures (164.308(a)(3)) assume you decide who is in the system. Open registration gives that decision away.

03

Set push notifications to generic content

API: PUT /v1/push/content-mode/:appId with {"mode":"generic"} (server token), or ask support

A chat push normally carries the sender's name and the message text, and that text passes through Google's and Apple's push servers, which are not under a BAA. In generic mode the notification says "New message" or "You have received N new messages" with no sender, no preview and no picture, while the badge, sound and the tap target still work. Set it once on your base app and every child app inherits it; GET on the same endpoint shows the mode in effect and where it comes from.

  • If you ship your own React Native app, you can keep full content and use encrypted push notifications instead: the device key encrypts the push and the app decrypts it locally, so Apple and Google relay ciphertext.
  • Sender avatars in pushes can be switched off separately (PUT /v1/push/sender-avatar/:appId); generic mode sends none either way.

Why: a message preview on a lock screen is a disclosure to whoever is holding the phone, and the push relay is a third party that would otherwise need its own BAA.

04

Confirm encryption in transit and at rest, and decide on encrypted rooms

Dedicated and cloud: done by Ethora. Self-hosted: your TLS certificates, volumes and buckets. Encrypted rooms: App Settings › Chats › Allow users to start end-to-end encrypted chats

On a dedicated server or Ethora Cloud, TLS 1.2+ on every endpoint and AES-256 at rest for the database, file storage and backups are part of the service. On a self-hosted server, the installer sets up TLS for the API, the chat server and file storage; you provide encrypted volumes for the database, server-side encryption on the file bucket, and encrypted backups, which every major cloud offers as a checkbox.

End-to-end encrypted rooms are an option per app, off by default. Leave them off unless you have a reason: in an encrypted room the server holds only ciphertext, so there is no server-side archive, search, export or moderation, and a records request or an audit cannot be answered from the server. Switch them on when a specific use needs it (for example a clinician-to-clinician channel where the organisation has agreed that no server copy exists) and document the decision.

Why: the Security Rule asks for encryption as an addressable safeguard (164.312(a)(2)(iv) and (e)(2)(ii)); it does not ask for end-to-end encryption, and most covered entities need the server-side record more than they need the server to be blind.

05

Switch on the immutable audit log export and set your retention

Self-hosted: features.immutable_logs: true in deploy.yml plus an S3-compatible bucket with object lock. Dedicated and cloud: ask support

Ethora logs sign-ins, API calls, administrative actions and message events. The immutable export job copies new log entries on a schedule to an S3-compatible bucket you name; with object lock on the bucket, nobody, including an administrator, can alter or delete an exported window before its retention period ends. On a dedicated server or a HIPAA-enabled cloud account, support switches this on for you and confirms the bucket and the retention period in writing.

  • Message history is kept until you delete it. Decide a retention period for messages and files (many organisations apply the six years HIPAA requires for policy documentation to the messages too), write it down, and delete per chat through the API when it ends.
  • Export before you delete: chat history, users and files are available through the API, the admin panel and the Ethora MCP server, which is how you answer an access request under 164.524.

Why: audit controls (164.312(b)) and the documentation retention requirement (164.316(b)(2)) need a record that survives both time and a compromised administrator account.

06

Keep AI agents, retrieval and translation off for PHI, or bring a covered model

Admin panel › Agents (model per agent). Translation: server configuration (chat.translates on a self-hosted server; support on dedicated and cloud)

On Ethora Cloud, AI agents, retrieval over uploaded content and message translation run through a cloud model provider under Ethora's own key, with no BAA. Do not point an agent at rooms, documents or websites that contain PHI there, and leave message translation off for PHI apps. A public website assistant that answers general questions stays fine.

  • On a self-hosted or dedicated server, each agent can use a model you host yourself through an OpenAI-compatible endpoint (Ollama, vLLM, LM Studio) so PHI never leaves your environment, or a cloud provider with which you have your own business associate agreement, using your key.
  • Translation sends the message text to the translation provider for every configured language. Use it for PHI only with a provider covered by your own BAA, and only on a server where the provider is configured by you.
  • A HIPAA-enabled cloud account has these features kept off by support until you confirm a covered model.

Why: every company that receives PHI on your behalf is a business associate and needs a BAA (164.502(e)); a model provider is no exception. The HIPAA compliant chatbot page has the full pattern.

07

Point webhooks and integrations only at systems under your control or your BAA

Admin panel › Webhooks tab. API: send-as-user and server-token endpoints. MCP: the Ethora MCP server

Webhook events carry message content, so every endpoint you register must be HTTPS, must belong to you or to a vendor with a BAA in place, and should verify the signature on each delivery. The same applies to anything that reads history through the API or the MCP server: a CRM, a helpdesk, an EHR bridge or a staff member's AI assistant connected over MCP is another client of the PHI and sits under your policies.

  • Use one server token per integration, scoped to the app it serves, so a revoked token stops exactly one system.
  • Account emails from Ethora (verification, sign-in, reports) carry no message content, so your email provider is not in the PHI chain.

Why: a webhook is a disclosure to whoever receives it. If that receiver has no BAA with you, the disclosure is not permitted.

08

Keep public widgets PHI-free, or embed them behind your login

Admin panel › Widget (appearance, greeting, where it is installed)

A chat widget on a public website creates a visitor account per visit and anyone can type into it. Use it for conversations that do not involve PHI: hours, services, insurance accepted, how to book. Put a line in the greeting such as "Please do not share health information here; for anything about your care, sign in to the portal or call us", and route people there. If the widget must handle PHI, embed it inside your authenticated portal so only signed-in patients reach it, on a covered deployment.

Why: a public widget cannot verify who is typing, and PHI typed into it is PHI you now hold, with all the obligations that follow.

09

Treat the admin panel as a configuration surface and keep PHI out of support tickets

Self-hosted: no analytics leave your server. Ethora Cloud: analytics are turned off for HIPAA-enabled workspaces

A self-hosted admin panel sends no product analytics to Ethora: tracking only runs on Ethora's own domains. On Ethora Cloud, the admin panel normally reports anonymous usage to product analytics tools; when HIPAA is enabled on your account, Ethora turns that off for your workspace, so a screen that shows a conversation is not captured. On your side, use demo data when you test with support, do not paste real messages into tickets or emails, and keep PHI in the app clients and the API rather than in the admin panel's own chat screens where you can.

Why: a session recording of an admin reading a patient's message is a copy of PHI in a tool that has no BAA. Removing the tool is simpler than covering it.

10

Cover the people and the devices around the workspace

Your policies, your mobile device management, your incident plan

Ethora runs on phones and laptops you do not control. Require a screen lock and remote wipe on any device that has the app with PHI; train staff on what belongs in a chat and what belongs in the record; apply the minimum necessary rule to who is added to which room; and name the person who receives security notices from Ethora. Ethora reports incidents and breaches of unsecured PHI to that person in writing within 10 business days of discovery and cooperates with your investigation; notices to individuals and to HHS stay with you.

Why: the administrative safeguards (164.308) are most of the Security Rule, and no software setting replaces them.

Who does what, by deployment

The allocation below is Annex B of the BAA in short form. "You" means the covered entity; "Ethora" means Dappros Ltd under the BAA.

SafeguardSelf-hosted EnterpriseDedicated serverCloud with HIPAA enabled
Physical and infrastructure securityYou (and your cloud provider)Ethora via AWSEthora via AWS
TLS, network, firewallYouEthoraEthora
Encryption at rest, backups, OS patchingYouEthoraEthora
Ethora software updates and security fixesEthora provides, you apply (or Ethora applies under support)EthoraEthora
Immutable audit log storageYou enable and provide the bucketEthora, on requestEthora, on request
Settings 1 to 8 aboveYouYouYou (support applies the API-only ones for you)
Users, roles, room membership, devices, trainingYouYouYou
Incident detection in the infrastructureYouEthoraEthora
Incident detection in the Ethora softwareEthoraEthoraEthora
Notice to you of incidents and breachesEthora, within 10 business daysEthora, within 10 business daysEthora, within 10 business days
Notices to individuals, HHS and the mediaYouYouYou
Sub-processors that may hold PHINone from EthoraAWS, region of your choiceAWS us-east-2 (Ohio)

Every other service provider Ethora uses (push relays in generic mode, email, billing, CRM, product analytics, model providers) receives no PHI on a deployment configured as above, which is why the BAA lists only AWS.

Ethora Cloud

What happens when you ask support to enable HIPAA on your cloud account

One email to support@ethora.com from the account owner starts it. The steps on our side, in order:

BAA for signature

You receive the Business Associate Agreement with the account named as the covered deployment, for electronic signature by both sides.

Checklist walk-through

Support goes through settings 1 to 8 with you, applies the API-only ones (push content mode) and confirms the rest in the admin panel.

Audit export and analytics

The immutable audit log export is switched on for your workspace and admin panel analytics are turned off for it.

AI and translation held off

Agents, retrieval and translation stay off for the PHI apps until you confirm a model you host or a provider under your own BAA.

Written confirmation

You get a note confirming the account is a covered deployment, the date, the region (AWS us-east-2) and your named support contact.

Or a trial dedicated server

If you would rather not share infrastructure at all, ask for a trial dedicated server in your region instead; the same BAA and checklist apply.

HIPAA configuration FAQ

Can I keep PHI on the free plan or the Small Business plan?

No. The shared Ethora Cloud plans are for non-PHI use until HIPAA is enabled on your account. Write to support@ethora.com to have HIPAA enabled for your cloud account, or to get a trial dedicated server. Until then, keep PHI out of the workspace and use it for a public assistant, internal testing or non-health conversations.

How do I get HIPAA enabled on my Ethora Cloud account?

Email support@ethora.com from the account owner address with your organisation name and the app or apps that will hold PHI. Support sends the Business Associate Agreement for signature, walks through the checklist on this page with you, switches on the immutable audit log export and turns off admin panel analytics for your workspace, then confirms in writing that the account is a covered deployment.

Do I have to turn on end-to-end encryption to be HIPAA compliant?

No. HIPAA requires encryption in transit and at rest with access controls and an audit trail, which every covered deployment has by default. End-to-end encrypted rooms are an option per app. Most covered entities keep them off, because an encrypted room cannot be archived, searched, exported or moderated on the server, and those functions are what a records request or an audit usually needs.

Does Ethora sign a BAA for the Private Practice plan?

Yes. The Private Practice plan runs on a light dedicated server in the region you choose, which is a covered deployment. The BAA template on this site is the one we sign; the configuration items on this page apply in the same way.

Where is PHI stored on each deployment?

On a self-hosted Enterprise server, wherever you run it: your cloud account or your own data centre. On a dedicated server, in the AWS region named in your order. On Ethora Cloud with HIPAA enabled, in AWS us-east-2 (Ohio), under the AWS Business Associate Addendum. In every case the chat server, the database, file storage and backups are in that one place.

Is Ethora HIPAA certified?

There is no official HIPAA certification for software. Ethora is HIPAA and SOC 2 compatible: it provides the technical safeguards, signs a BAA and documents the configuration. Whether a given project is compliant depends on its configuration, its hosting and the policies around it, which is what this guide is for. A customer has passed a SOC 2 audit with Ethora as part of the audited system.

What happens if there is a security incident?

Ethora reports a security incident or a breach of unsecured PHI to you in writing within 10 business days of discovery, with what is known at the time, and keeps you updated while it is investigated. You remain responsible for notices to individuals and to HHS. Report anything you suspect on your side to security@ethora.com.

Ready when you are

Enable HIPAA on your account or start on a dedicated server

Tell us which apps will hold PHI and where you want them hosted. We send the BAA, go through the checklist with you and confirm the covered deployment in writing.

Email support