Keeping your health data private: how local-first tracking works
Updated
Short answer
Local-first means your data lives on your own device by default and goes to a server only if you choose. BiomarkerHQ keeps lab results and wearable data in your browser until you sign in and explicitly agree to save them to an account in EU storage. PDFs are read on your device and are not uploaded unless you choose to keep a copy.
What local-first means
Most health apps start from a server: you sign up, and your data is stored there. A local-first app starts from your device. The app runs in your browser, the data is stored in the browser, and a server is involved only for the things that need one, such as an account that opens your data on another device. The trade-off is that data held only in your browser is gone if you clear that browser's site data, so a backup export matters.
Where BiomarkerHQ keeps your data
| Situation | Where the data is | What you do to change that |
|---|---|---|
| No account | Only in this browser. We do not receive it and cannot recover it | Nothing. Export a JSON backup for safety |
| Signed in, not agreed | Still only in this browser. The server refuses health data | Agree to saving it to your account, when you want that |
| Signed in and agreed | Your account, in a database in Cloudflare's EU jurisdiction | Download everything, stop saving, or delete the account |
| A PDF you chose to keep | EU file storage under a random name, downloadable only by you | Delete it, or stop saving |
| A connected wearable | A wearables service we run, with the provider's authorisation stored encrypted | Disconnect the wearable, which deletes the service's copy |
Lab PDFs are read in your browser. The original file is never uploaded unless you are signed in and tick the option to keep a copy.
Why saving health data needs your explicit agreement
Under the GDPR, data about health is a special category of personal data, and processing it needs a specific legal basis. BiomarkerHQ relies on your explicit consent. Signing in is not consent: after you sign in, the dashboard asks separately, with a box you tick and wording that says what is stored and how to undo it. We record which version of the wording you agreed to, and when. If the wording changes in a way that matters, you are asked again, and until then nothing new is saved.
The text of the regulation is on EUR-Lex, and its Article 9 covers special categories of data.
Your controls
- Download everything held for your account as one file.
- Stop saving to your account. This withdraws your agreement and deletes your lab and wearable data held in the account. The account itself stays.
- Delete your account, which removes the account and everything in it, including any kept PDFs and the wearables service's copy.
- Disconnect a wearable at any time. The provider is asked to end the connection and the service's copy of what it pulled is deleted.
Connecting a wearable
You sign in on the provider's own page, so BiomarkerHQ never sees your provider password. The wearables service pulls only the daily sleep and readiness values it needs, stores the provider's access tokens encrypted, and is not reachable from the internet: only the BiomarkerHQ app's server can call it. You can disconnect at any time.
Frequently asked questions
Does BiomarkerHQ see my lab results?
Not unless you sign in and agree to save them to your account. Without an account, results stay in your browser and we cannot see or recover them.
Are my lab PDFs uploaded?
No. PDFs are read in your browser. A copy is kept only if you are signed in and choose to keep one.
What happens if I clear my browser data?
Data held only in your browser is deleted with it. Export a JSON backup from the dashboard to keep a copy, or save your data to an account.
Where is account data stored?
In a database and a file store in Cloudflare's EU jurisdiction. A request can be handled by a Cloudflare data centre near you, so data can pass through other regions on the way, but it is stored in the EU.
Sources
Related
Keep your results in one place
The dashboard works without an account and keeps your data in your browser unless you sign in.