Privacy
PaceOS has no accounts and no telemetry. The watch connects only to the services you set up, and to this server for updates. Below is exactly what goes where – taken from the source code.
This site
- Static files only. No cookies, analytics, ads or third-party resources (fonts, scripts, CDNs).
- The server sees what every web server sees: your IP address, the time, the file requested and the browser's User-Agent. It may keep them in an ordinary access log. Nothing else is stored or analysed.
- The pages send
Referrer-Policy: no-referrer: when you follow a link elsewhere, that site is not told where you came from.
PaceOS Connect in the browser
- Connect talks to the watch directly (Bluetooth, USB, Wi-Fi). Settings, runs and passwords never pass through the server.
- The browser remembers the language, the watch's last address and the Bluetooth pairing key. They stay in your browser only.
- When it checks for updates, the page loads the release notes from this server
(
/updates/<channel>/amazfit-pace.json) – an ordinary browser request. - Wi-Fi passwords and the Strava and intervals.icu tokens are write-only: Connect writes them to the watch, but the watch never returns them, not even to Connect. Connect only learns whether they are set.
Update checks from the watch
After a sync or when it connects to Wi-Fi, at most once every 6 hours, the watch asks whether there is a new version. It is a plain HTTPS GET of a static file:
| What | Value |
|---|---|
| URL | https://paceos.lukaskovar.com/updates/<channel>/amazfit-pace.pup |
| Headers | Host, User-Agent: PaceOS/0.1, Range: bytes=0-4095, Connection: close |
- The User-Agent is the same on every watch and does not even include the system version. No serial number, watch identifier, account or cookie is sent.
- So the server sees the IP address, the time, the channel (stable or beta) and the model from the file name.
- Downloading an update is the same request for the whole file (an interrupted download resumes where it stopped).
- The channel "off" in the settings switches both checking and downloading off entirely.
Other connections of the watch
- Time: after connecting to Wi-Fi the watch sets its clock once from
pool.ntp.org(NTP). - Strava and intervals.icu: only if you set them up. The watch connects directly to
www.strava.comandintervals.icuover HTTPS with certificate checks and sends them your run files (including the GPS track). The tokens are stored on the watch and go nowhere else – not to this server either. - Phone: Gadgetbridge talks to the watch directly over Bluetooth. The weather comes from the phone. Notifications and callers are kept in the watch's memory only (the last 20): never written to its storage, never in its log.
What stays on the watch
- Runs (FIT files including the GPS track), training history, settings, music, saved Wi-Fi networks and tokens.
- The system log. It records what the watch showed on its screen – including the text of phone notifications and the caller's name. Passwords are never written to the log.
- The data on the watch is not encrypted: someone with the watch and a computer can read it.
The support bundle
When something does not work, you can download a diagnostics bundle over USB
(http://172.16.42.1/cgi-bin/support). It is made only when you ask for it and is never sent
anywhere by itself. It holds the system logs (with notification text, see above), the settings without
secrets, the training history, the update state, partitions and battery. It never holds tokens, Wi-Fi
passwords, runs or music. Before you send it to anyone you can look inside – it is an ordinary
.tar.gz archive.