How it works, and what to expect
Where the readings come from
Vitality Tracker signs in to LibreLinkUp as a follower and asks for your glucose. It never talks to the sensor over Bluetooth and never touches LibreLink. Each request returns two different things:
That distinction explains almost everything else on this page.
Missing a request costs you nothing in history — the next one backfills it.
But every current reading you did not ask for is gone for good, and those are
the ones that show the shape of a spike.
How dense your data will actually be
This is the honest table, and it differs by platform because the platforms genuinely differ.Why iPhone cannot do better. Apple suspends apps that are not on screen.
There is no sanctioned way for an app with no Bluetooth device connected to
keep running a timer in the background — this is a platform decision, not
something we have left undone.Android allows a foreground service: a task that keeps running with a visible
notification. That is what the switch turns on, and why the notification has to
be there.
Does it matter?
For daily averages, time in range and HbA1c estimates — barely. Those are computed over thousands of readings and a fifteen-minute grid gives an essentially identical answer. For seeing what a meal did — yes, a lot. A rise and fall that takes forty minutes is roughly two points on a fifteen-minute grid and about twenty at two minutes. The peak, and how fast you came back down, are visible in one and averaged away in the other.Sensor life
Vitality Tracker tracks which day of its 14 your sensor is on. For a Libre it reads the activation time from Abbott directly, so there is nothing to set up.
For a CGM that does not report its own sensor — an Ottai, for instance — the
row says “Sensor age not tracked” and you can tap it when you apply a new one.
See other CGMs.
Knowing whether it is working
Three lines in Settings → CGM Integration, and they answer three different questions.'Last fetched just now' — under the Libre row
'Last fetched just now' — under the Libre row
When Vitality Tracker last successfully spoke to LibreLinkUp.If this stops advancing while the app is open, something is wrong with the
connection. Past twelve hours it changes to “readings are being missed”,
because at that point they genuinely are.
'CGM data is present' — the bottom line
'CGM data is present' — the bottom line
Whether readings actually exist in the database, and what wrote them.This asks the data rather than the settings, which is the point: a perfectly
valid Libre connection and an expired sensor look identical in the settings and
completely different here.
'last check' — under the alert rows
'last check' — under the alert rows
What the alert rule decided most recently, and why it stayed quiet if it did.
See alerts.
The “Syncing has paused” notification
Two hours after Vitality Tracker stops syncing, you get:Syncing has paused Real-time sync and alerts are paused. Reopen Vitality Tracker to resume continuous monitoring.This is not only about glucose — when the app is not running, nothing syncs: Apple Health and Health Connect reads, your Oura, Polar or Withings data, activity detection, sleep scoring. It is scheduled in advance rather than sent when the app closes, because an app that has been shut down cannot send anything. If you reopen Vitality Tracker before the two hours are up, it is cancelled and you never see it.
On Android with Keep collecting when closed switched on, this stays silent —
nothing has paused. It only speaks if that service itself stops.
Recovery
At the bottom of the CGM Integration panel, collapsed by default.Where your data is kept
Vitality Tracker’s servers never contact Abbott. Your phone does the asking,
with your credentials, from your own connection.
Next
Alerts
High, low and sensor warnings
Other CGMs
Ottai, xDrip and Nightscout-compatible uploaders