Frequently asked questions
How Heimdall works, and what we actually do to keep your data safe.
What is Heimdall?
Heimdall lets clinicians, researchers, and other health professionals build their own data collection platform — no server to manage, no infrastructure team required. You sign up here, spin up a platform on your own subdomain, and get a fully working questionnaire and data-collection app (Vigil) a few minutes later.
How does it actually work?
Heimdall (this app) is the control plane — accounts, billing, and provisioning. Each platform you spin up is a completely separate, isolated environment: its own database, its own authentication, its own application. Nothing about how one platform runs affects any other.
Every platform runs in its own isolated cluster with its own database — not a shared database with a "tenant ID" column. One customer's platform being under heavy load, or having a problem, has no effect on anyone else's.
How secure is my data?
We'd rather tell you exactly what we do than make vague promises. Here's what's actually in place today:
- No passwords. Every account — yours and everyone on your platform — signs in with a passkey (WebAuthn), the same technology your phone and browser already use for Face ID/Touch ID/Windows Hello. There's no password to steal, phish, or reuse.
- Encrypted in transit and at rest. All traffic is encrypted with TLS 1.3. Data at rest is stored on encrypted block storage with Postgres transparent data encryption, and off-site backups are encrypted too.
- No open ports. Every platform's servers have zero public inbound ports. All traffic is routed through an encrypted tunnel to Cloudflare's edge — there's nothing for an attacker to scan or connect to directly.
- Full audit trail, with rollback. Every change to your data is recorded as an event, not just overwritten. That means a complete history of who changed what and when, and the ability to roll back a mistake — not just restore an entire backup.
- Nightly backups. Every platform is backed up nightly, both as a fast snapshot and as a separate, encrypted off-site copy. You can also export and download all of your own data at any time from your account.
- Continuously scanned for vulnerabilities. Every piece of software we run is scanned for known vulnerabilities before it's deployed, and continuously afterward.
- Kept patched automatically. Servers apply operating-system security patches automatically as they're released. Container images are rebuilt and redeployed automatically too, once our tests confirm nothing broke. Larger version upgrades (a new OS release, a new Node.js major version) are reviewed by a person first, since those are more likely to change behavior.
- Regularly tested like an attacker would. Beyond scanning our own software, every platform's live, running site is scanned weekly for the kind of issues an attacker would actually probe for — things like XSS, injection, and missing security headers. This is automated scanning, not a substitute for an independent third-party penetration test, which we haven't had yet — but it means real problems in what's actually running get caught every week, not just at review time.
- Rate-limited by design. Public-facing endpoints like sign-up and login have abuse protection built in from the start, not bolted on afterward.
Who can see my platform's data?
Nobody outside your platform. Each platform has its own separate database and its own access control — other Heimdall customers, and even Heimdall staff in the ordinary course of business, don't have a way to read your platform's data. Within your own platform, you control who has access and what they can see.
Can I get my data out?
Yes, at any time, from your account — no need to ask us. Every platform is also backed up nightly, and you can restore yourself from your account's settings — pick any recent nightly backup, not just the latest one, in case the problem you're undoing is already in that one. You'll see exactly which backup will be used before it replaces your current data, and have to confirm it explicitly.
How does billing work?
Each platform is billed independently through Stripe, as its own subscription. If you run more than one platform, destroying one only cancels that platform's subscription — it has no effect on any others.
Who do you share data with?
Only the handful of subprocessors that make the service work at all: Stripe for payments, Resend for transactional email, Cloudflare for DNS and network routing, and AWS for encrypted off-site backup and attachment storage. We don't sell or share your data beyond what's required to run the service. See our Privacy Policy for the full picture.
Have a question we haven't answered here? Reach out from your account page.