Privacy
In effect 23 August 2026
The short version. Your record lives on your iPhone and nowhere else. Grove has no accounts and runs no server that stores anything about you. It contains no analytics, no trackers and no third-party code of any kind. A few things you switch on yourself send data out — this page names every one of them.
What Grove stores, and where
Everything you enter — meals, weights, sets, recordings, sleep, blood results, notes — is written to storage on your own device. It is not copied to a server, because there is no server. Nobody, including the person who built Grove, can see it.
That has a consequence worth understanding: if you lose the phone and have no backup, the record is gone. Grove can export your whole archive to a file and read it back in again, and you should do that from time to time. Where you keep that file is your decision, and its contents are your responsibility once it leaves the app.
What leaves your phone, and when
Grove reaches the internet only for the features below, and only after you turn them on. This is the complete list — the app is tested against it, and a tenth address cannot appear without that test failing.
| Where it goes | What is sent | Why |
|---|---|---|
| api.anthropic.com | The part of your record the question is about | The coach. The only outbound call that carries your logged data. It runs on an API key you create and paste in yourself, so the conversation is between you and Anthropic under your own account. |
| world.openfoodfacts.org | A barcode number | Looking up a scanned packet. Nothing about who scanned it. |
| search.openfoodfacts.org | The words you type in the food box | Searching for a food by name. |
| api.ouraring.com | An access token and a date range | Reading your own Oura sleep, readiness and activity in. Nothing goes the other way. |
| cloud.ouraring.com | Nothing — it is Oura's own sign-in page | Connecting your Oura account. Your Oura password is typed into Oura's page and never reaches Grove. |
| api.prod.whoop.com | An access token and a date window | Whoop's sign-in page, and reading your recovery, sleep, Strain and workouts in. Nothing goes the other way. |
| www.strava.com | A recording you chose to upload | The one address that receives rather than gives: the GPS track, its altitudes and its heart rate, published under your own Strava account when you ask for it. Nothing about food, weight, sleep or training is offered, and Strava has no way to ask. |
| console.anthropic.com developer‑dashboard.whoop.com | Nothing at all | Two “where do I get this?” links that open in your browser from Settings. They carry no token, no identifier and nothing about you — listed anyway, because a page the app sends you to is an address the app reaches. |
The two sign-in services
Whoop and Strava require a secret to be held somewhere that is not the app, because a secret shipped inside an app can be read out of it by anyone who downloads it. Grove therefore runs two very small services, one for each, hosted on Cloudflare.
They do exactly one thing: swap a sign-in code for an access token. Specifically, each one:
- Never sees your data. Your runs, sleep, recovery and workouts go between your phone and the vendor directly. Nothing physiological and no route passes through these services, ever.
- Stores nothing. No database, no session, no record of a token. The token pair goes back to your phone and the service forgets it existed.
- Talks to nothing else. Each one can reach its own vendor's token endpoint and no other address on the internet.
Their source code is published, and it is short enough to read in five minutes.
Apple Health
If you allow it, Grove reads from and writes to Apple Health on your device. That exchange happens entirely on the phone under Apple's permissions — you choose each data type, you can see exactly what was granted in Apple's Health app, and you can withdraw any of it at any time. Nothing read from Apple Health is sent anywhere by Grove.
Location and Bluetooth
Grove uses your location only while a recording you started is running, including with the screen off, which is the only way an iPhone can record a run from a pocket. It stops the moment the recording ends. The route is saved to your phone; it goes to Strava only if you upload it.
Bluetooth is used only to connect fitness sensors — heart-rate straps, cadence and power meters, smart scales. Grove only ever looks for published fitness sensor types, never for other devices around you, and asks for permission the first time you open the sensors screen rather than at launch.
What Grove never does
- No analytics and no tracking. Not reduced — absent. Grove contains no analytics, crash-reporting, advertising or attribution code, and no third-party software development kits at all. Every piece of code it loads is either Grove's own or Apple's.
- No accounts. There is nothing to sign up for and no profile of you anywhere.
- No selling or sharing. Your data is never sold, rented, shared or used to train anything.
- No advertising.
- No plain HTTP. Every address above is reached over an encrypted connection, and the app refuses to use anything else.
Other people's privacy policies
When you connect Oura, Whoop or Strava, or use the coach, your dealings with those companies are governed by their terms and not by this page. Grove's promise is only about what Grove does — which is why the table above says exactly what is handed over in each case.
Children
Grove is not designed for or directed at children under 13, and is not suitable for them. It gives training and nutrition guidance intended for adults.
Deleting your data
Delete the app. Because the record is stored only on your device, removing Grove removes it — there is no account to close and no request to send, because there is no copy anywhere else to delete. Anything you exported yourself, and anything already sitting in Apple Health or in your Strava account, is under your control in those places.
Changes to this page
If what the app does changes, this page changes with it and the date at the top moves. The list of addresses above is enforced by a test in the app's own source, so this page cannot quietly drift out of date without that test failing first.
Contact
Questions about any of this: chris.b.wilburn@outlook.com.