Security
Last updated 20 August 2026 · A plain-language companion to the privacy policy, which is the authoritative document.
Most of what a security page like this promises is abstract. This one is specific instead, because most of the interesting answer is "which of four places is this piece of data actually in, and who can reach it."
Where your data actually sits
| Location | Protected by | Who can read it |
|---|---|---|
| On-device database | The app's own sandbox, iOS file protection, your device passcode | Only you, on an unlocked device |
| iCloud sync (optional) | Your private CloudKit database, under your Apple ID | Only you — the developer has no access |
| The automatic backup | Cloudflare KV, HTTPS in transit, encrypted at rest by Cloudflare | You, and technically the developer via the Cloudflare account — see below |
| The web dashboard pairing | A one-time code and a 30-day bearer token, both generated per session | Whoever holds the token — see below |
The part worth being direct about
The automatic backup described in the privacy policy is not end-to-end encrypted. It sits in the developer's Cloudflare account as readable JSON, the same way any small backend can technically be read by whoever operates it. It is not analysed, not browsed routinely, and not shared — but "technically readable by one person" is a more honest answer than a vague claim of encryption this app doesn't actually implement, so that's the answer given here.
If that trade-off doesn't sit right for a specific piece of data, the fix is straightforward: nothing about the backup is required for the app to work, and it can be deleted entirely on request — see the privacy policy's "Your control over your data" section for how.
The web dashboard's actual protection
Pairing a browser to your account works like this: the phone generates an eight-character code, live for ten minutes, and typing it into the dashboard trades it for a token that lasts thirty days. A few specific choices make that safer than it might sound:
- The code is deleted the instant it's used — read over a shoulder and typed in a second later, it's already worthless.
- Guessing is rate-limited per browser and per network address, with a harder lockout after repeated wrong codes, so working through the keyspace by brute force isn't realistic in a ten-minute window.
- The token itself is a long random string compared using a timing-safe check, not a short PIN.
- The dashboard only ever sees today's numbers — the same summary the in-app coach reads — not your full history.
Ending a pairing from the app, or simply letting thirty days pass, closes it. There's no way to extend a token past that without the phone issuing a fresh code.
What never leaves the phone at all
Posture angles, rep counting, garment colour, the first-pass meal classifier, and speech-to-text all run on-device using Apple's own frameworks — nothing about how those work sends the underlying photo or audio anywhere. The privacy policy's "What stays on your iPhone" section has the full list.
Reporting an issue
If something here looks wrong, or you've found an actual vulnerability, email s0533495227@gmail.com directly — it's read and answered by the person who wrote the app, not a support queue.