PipeHat Open PipeHat
FOR IT AND SECURITY TEAMS

Security overview

Last updated October 19, 2026

In one sentence: PipeHat is a static web page that decodes HL7 v2 messages entirely inside the user's browser. The page is technically blocked from sending data anywhere, and messages are never uploaded, stored or logged by us.

How it works

Why it can't send data

The app page (/app/) is served with a Content Security Policy that tells the browser to refuse every outbound channel:

default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline';
img-src 'self' data:; font-src 'none'; connect-src 'none'; form-action 'none';
frame-src 'none'; worker-src 'none'; object-src 'none'; base-uri 'none';
frame-ancestors 'none'

To verify: open the app, open the browser's developer tools on the Network tab, and decode a message. The only requests are for PipeHat's own files when the page loads; nothing is sent when messages are pasted or decoded. The response headers are visible on the same tab.

Data stored on the user's computer

Licensing

License keys are digitally signed (ECDSA P-256) and verified on the user's computer with a public key built into the app. There's no license server and nothing phones home, so PipeHat works on restricted networks and reports nothing about usage.

Other security headers

HeaderValue
Strict-Transport-Securitymax-age=63072000 (HTTPS only)
Referrer-Policyno-referrer on the app
X-Content-Type-Optionsnosniff
Cross-Origin-Opener-Policysame-origin
Permissions-Policycamera, microphone, geolocation, payment and USB disabled
FramingNot allowed (frame-ancestors 'none')

Domains to allow

Third parties

ProviderRoleReceives HL7 messages?
VercelHosts the static site; standard request logs (IP address, browser, page)No
StripePayments and the subscription billing portalNo
ResendDelivers license-key emailsNo

HIPAA

Because messages are processed only on the user's computer and are never transmitted to or stored by PipeHat, PipeHat doesn't create, receive, maintain or transmit protected health information on a customer's behalf. In our view a business associate agreement is therefore not required to use the app; please confirm with your compliance team. Users should still view PHI only on devices and in settings their organization's policies allow, and shouldn't email messages containing PHI to our support address (the built-in de-identifier can prepare safe examples).

Updates

Updates are published to pipehat.io; script and style files carry content hashes, so browsers always load a consistent version. The reference data comes from HL7 Terminology, the HL7 v2-to-FHIR Implementation Guide, the hl7apy project and CMS (ICD-10-CM/PCS); see notices.

Offline copy

Because PipeHat is static files, it also runs from a local folder with no internet connection. If your organization prefers that, contact us for an offline copy.

Contact

Security questions or a vendor questionnaire: pipehatsupport@gmail.com. See also our privacy policy and license terms.