VivoKey Thermo for iOS
VivoKey Thermo is a free iOS app that reads your body temperature straight from a VivoKey Thermo NFC implant with a tap of your phone, and keeps a simple history so you can see how it changes over time. It's an independent project by Petr Ziegner, not affiliated with or endorsed by VivoKey.
Screenshots
Capabilities
Read in Seconds
Hold your phone near the implant and get a reading right away, no waiting around and nothing to set up first.
Your History, Saved
Every reading you take stays right on your phone, so you can look back and see how things have changed whenever you want.
Watch the Trend
A simple graph turns your readings into a line you can actually read, so patterns over days or weeks jump out at a glance.
Tuned to You
Adjust a personal calibration so the number on screen matches what feels right for your body.
How the Reading Works
The implant has no battery. It borrows a little power from your phone's NFC signal just long enough to take one measurement, so getting a reading is a quick back-and-forth:
For anyone curious about the hardware side, here's exactly what happens under the hood.
| Chip | NXP NTAG5Link-class (ISO15693-3), with an on-board I2C bridge to a TMP112 sensor by default. TMP117 and TMP119 are also supported and auto-detected. |
| Chip commands | 0xC0 READ_CONFIG, 0xC1 WRITE_CONFIG, 0xD2 READ_SRAM, 0xD4 WRITE_I2C, 0xD5 READ_I2C. |
| Energy harvesting | Writing the EH_CONFIG register (0xA7) triggers it. The app polls for the LOAD_OK bit, then enables output. |
| iOS command framing | Only NFCISO15693Tag.customCommand with requestFlags: [.highDataRate] (non-addressed) works on real hardware. |
| Manufacturer code quirk | Never prepend the NXP code 0x04 manually. CoreNFC adds it automatically. Adding it yourself causes a "Tag connection lost" error. |
| Address flag quirk | Setting the .address flag causes an "Invalid Parameter" error instead. |
| Response framing | CoreNFC strips the ISO15693 response flag byte, so command responses come back data-only. |
| TMP112 math | (rawInt16 >> 4) * 0.0625 |
| TMP117 / TMP119 math | rawInt16 * 0.0078125 |
| Conversion ready | Signalled by bit 15 (the OS bit) in the sensor's config register. |
The App
VivoKey Thermo is developed and maintained independently by Petr Ziegner. The application reads a temperature value over NFC from a compatible implant and displays it, together with a locally stored history of prior readings. The app operates entirely on your device, except for the optional download of the public Hall of Fame donor list described below.
Data We Collect
VivoKey Thermo does not collect, transmit, or store personal information on any server. Specifically:
- Your temperature reading history is stored exclusively on your device.
- The application does not transmit this history to us, or to any third party.
- No name, email address, device identifier, or location data is ever requested or stored.
Body temperature readings are health-related information, so to be explicit: these readings stay exclusively on your device. The application does not upload them, does not transmit them, and does not process them on any server operated by the developer, and it does not share them with third parties.
Network Activity
The only network request intentionally initiated by the application is an HTTP GET
to petrziegner.cz/vkthermo/halloffame, which fetches a public JSON file listing donors
for display in the app. It's unauthenticated and isn't tied to any account or
user identifier, and it never includes your temperature history or any other data from the app.
Like any HTTPS request, it naturally reveals standard network-level details, such as your IP
address, to the network it travels through, but nothing beyond that is sent.
Device Permissions
VivoKey Thermo uses Apple's Core NFC framework to communicate with compatible VivoKey Thermo implants over Near Field Communication (NFC). This communication is used only to obtain the current temperature reading; it is not logged or retained beyond the reading saved to your on-device history. The application does not request access to your location, contacts, camera, microphone, photo library, calendar, or any other sensitive device information.
Third-Party Services
VivoKey Thermo does not include any third-party SDKs for analytics, advertising, crash reporting, profiling, or tracking.
Accounts & Data Sale
There is no account system, login mechanism, or server-side user profile. As no personal data is collected, there is none to sell, and none to share with advertisers or data brokers.
GDPR & Data Rights
Because VivoKey Thermo does not process personal data on servers on your behalf, certain rights that apply to server-held personal information, such as requests for access, correction, or deletion, generally do not apply here, since no server-side record exists to access, correct, or delete. Your on-device temperature history remains fully within your control at all times; see "Deleting Your Data" below.
Children's Privacy
VivoKey Thermo does not collect personal information from any user, regardless of age. Because no personal data is collected or processed, there is nothing additional to consider here specifically for children.
Deleting Your Data
Because your reading history is stored exclusively on your device, you retain full control over it at all times:
- Individual readings may be deleted, or your full history cleared, from within the application; or
- The application may be deleted entirely, which removes all locally stored data along with it.
Changes to This Policy
Should this policy change, the revision will be posted on this page along with an updated "last updated" date.
Troubleshooting
Other Ways to Help
Not everyone can donate, and that's completely fine. There are other ways to support the project:
- Tinker with the reading timings in advanced settings and let me know what works best for you.
- Suggest a feature you'd like to see.
- Report bugs you run into.
Direct Contact
Prefer to reach out directly instead of the form below? Use either of these:
Contact Form
Fill in whatever you're comfortable sharing. Name and email are optional. If you leave an email, I'll reply there.
Donating simply helps me cover the ~$100/year Apple Developer membership required to keep the app on the App Store.
Ways to Donate
Want to appear on the Hall of Fame below? Include the name you'd like displayed (anonymous is also an option) in your bank transfer note, or send it via the support form along with an identification or proof of payment.
Hall of Fame
Those who already supported my work. Thanks!