Heart
- Continuous heart rate with lowest, average and highest
- Resting heart rate and HRV baselines over weeks
- Illness signs: temperature, resting heart rate and HRV together
For Withings watches · Android · open source
WristVitals replaces the Withings app and cloud. It pairs with your watch directly over Bluetooth, keeps your heart rate, sleep, ECGs and everything else on your phone, and shares only what you choose, end-to-end encrypted.
No Withings account. No ads, no trackers, no selling data. Free software under the AGPL. Not affiliated with Withings. Not a medical device.
What it is
Pairing, syncing, notifications on the wrist, alarms, workouts, ECG, settings: everything the watch can do, from an app that answers to you.
The keys that pair the app with your watch are generated on your phone. Withings' servers are never contacted, so there is no account to create and nothing to delete later.
Heart rate, HRV, sleep, SpO2, temperature, breathing rate, steps, workouts, ECGs, weight: all stored in an encrypted database on the phone. The app works fully offline.
Turn on a server if you want a web dashboard, family sharing or doctor links. Your phone encrypts everything first; the server stores ciphertext it cannot read.
Features
The screenshots show the web dashboard with fictional demo data. The Android app shows the same information on the phone, with no server needed.






Notifications from the phone (calls, messages, the apps you pick), smart wake-up alarms, the screens you want in the order you want, reminders, an hourly buzz, units and goals.
Morning summary, weekly digest, a journal of what affects you, and battery analysis: days per charge, drain per day, and how the battery ages.
Encrypted backup and restore for a new phone or watch, CSV and PDF export, and an optional write-only export to Health Connect.
Everything above, on the phone, with no server at all.





Privacy
Privacy is not a setting here; it is the design. Nothing leaves your phone unless you turn something on, and what leaves is encrypted with keys only you hold.
The watch talks to the app over Bluetooth. The pairing keys are made on your phone, never by Withings.
Readings go into an encrypted database on the phone. With no server set up, that is the end of the story.
If you link a server, the phone encrypts each day's data (AES-256-GCM) with keys derived from a master key that exists only on your devices.
The dashboard unlocks with your recovery key, in the browser. The server hands over ciphertext and never sees a single reading.
That metadata is documented honestly in the privacy policy.
Editions
Same app, same encryption. Pick where your ciphertext lives, and change your mind later: export from one, import into the other, keys stay with you.
Best for one person who wants nothing in the cloud.
The deployment guide is in the source repository (deploy/README.md).
For people who can't run a server. Privacy policy · Terms
Doctors
Doctor visit links. Before an appointment, pick what to share and from when, add your questions, and send the link by email. The code that unlocks it is given in person, so whoever carries the email can't open it. The doctor sees live charts in the browser, read-only, for a few hours, and your phone tells you when the link was opened. End it any time.
Report links. For a frozen snapshot, the phone builds a PDF report, encrypts it with a key that lives only in the link, and uploads just the ciphertext. Optional PIN, expiry and view limit.
Doctors agree to confidentiality terms before opening, and every page is watermarked with their name and the time.

Family
Each person chooses what to share (heart, sleep, temperature, SpO2, weight, walks, ECG, alerts) and with whom. A share is that category's key sealed to the other person's public key; revoking it stops access at once.
Rules such as fever, heart rate outside a range, low SpO2, no data for hours, inactivity or an "are you OK?" check-in. Alerts are encrypted to each caregiver and relayed by the server, which only sees that something was sent.
Optional webhooks straight from the phone to Home Assistant, ntfy or any URL you enter, with an HMAC signature. The server is never involved.
Download
WristVitals is in active development. Builds are published here as APK files; the app can check for updates itself if you turn that on (it only fetches a small version file from this site).
Open source
The app, the server, the dashboard and the protocol documentation are all published under the GNU AGPL-3.0. Anyone can read how the encryption works, run their own server, or check that WristVitals Cloud runs the code it says it runs.
Protocol facts were worked out for interoperability and written in our own words; no Withings code, firmware or assets are included. Framing and the older handshake were first documented by Gadgetbridge, which we credit.
Self-hosting: deploy/README.md in the repository walks through Docker Compose and Swarm. The encryption contract is in docs/crypto.md.
FAQ
WristVitals was built and is tested with a ScanWatch 2. Other Withings hybrid watches speak the same protocol and can be paired; untested models are marked as such in the app, and the app shows only the features your watch reports having. If something doesn't work on yours, tell us.
No, but the watch can only be paired with one app at a time. Pairing with WristVitals starts from a factory-reset watch and never contacts Withings. If you want your old history, request a data export from Withings first; importing it is planned.
On your phone, in an encrypted database. Nowhere else unless you turn on a server, Health Connect export, webhooks or app updates. The privacy policy lists every connection the app can make and when.
If you use a server, your recovery key is the only way to read the data stored there. We can reset your account (password, phones), but we cannot recover your data: we never have the key. Your phone keeps its own copy, so you can re-upload after creating a new key. Save the recovery key in a password manager or print it.
No. The watch's readings and the app's observations are information, not diagnosis. Never rely on WristVitals in an emergency. Talk to a doctor about anything that worries you; doctor visit links exist to make that conversation easier.
Sign-up is open and each account gets 200 MB of encrypted storage, which holds years of watch data. Service terms are in the terms of service.
Yes. Export from the dashboard (everything stored for you, still encrypted), delete the account if you like, and point the app at the new server; the phone re-uploads from its own copy. Keys stay with you.
Not yet. The app is Android only (it needs Bluetooth and background access that the watch protocol requires). The web dashboard works in any modern browser.