Cailloux tracks runners in the mountains. That means names and GPS positions — so it is best to say plainly what is done with them.
Last updated: 17 October 2026 — the position read with the screen locked by the iPhone and Android apps; notifications that go through Apple and Google; OpenStreetMap maps, the QR code and the anonymous sign-in with Google; what a bug report keeps; encouragement from the public; deleting your account in the 1.2 app; your request to try the Android or iPhone app; the phone identifier of version 1.2 and of the iPhone app; impossible pebbles and check-ins, set aside; the version number of each app, recorded when your account signs in; and automatic enrolment in the test programme for an account created on the beta. On 7 October: your language, kept on your account. On 5 October: 1.1 is open to everyone: what was kept for the test versions — the Cupboard, the notebook, professional accounts, tracking the position during an SOS alert — joins the main lists. On 19 September: the GPS positions the app sends without you touching anything (the automatic pebble, and the SOS alert), a race going online by itself 24 hours before its start, organisers who submit a race sheet, the runner notebook, what a professional receives in addition, and the services that actually serve the site and send the emails. On 13 September: the confirmation of your email address, the 48-hour link when you change it, and the news question asked when you sign up. On 27 August: professional accounts, in full: the 2 doors, what a coach or a dietitian receives from a race opened to them, the 3 things never sent to them, why food reactions follow the nutrition strategy, and what that means for the runners in your race, who asked for none of it. Before that, on 23 August: the full inventory re-checked field by field against the code, last sign-in date, and a section on the test versions
Cailloux is built and hosted by Pierre Miné Delplanque, in a personal capacity. There is no company behind it, no team, no investor. On the App Store, the name shown is “Pierre Mine”: it is the same person.
For any question or request: admin@cailloux.app.
A coach or a dietitian can work inside your race. It goes through 2 doors, never one: I open the professional account on the strength of the credentials they declare, and you choose which races are opened to them. What the account can edit there — information, kit, nutrition strategy, split times… — is set when it is opened, and shown to you before you accept. Race by race. The professional account is free. You can close it again at any time.
⚠️ And the point to read twice: your runners asked for none of this. If your race carries people other than you, opening that race to a professional gives them their names, their race numbers, their weight, and — if their account carries the nutrition strategy — their starred products, what they ate and how it went. They create no account, they ticked no box, and the app does not ask their opinion. It is up to you to tell them, exactly as for the tracking of a race. If you are not sure you have their agreement, do not open that race to a professional who has nutrition.
The race itself carries 2 numbers entered by the route planner: race control and an emergency number for the organisation. They are shown to the runner at the moment they withdraw or raise an alert — the moment when they should not have to hunt through their contacts. Both fields are optional.
These reports are read by me alone, and serve only to fix things. You can of course ask me to delete them.
The suggestion keeps your name and the link to your account, so I can come back to you if a value is worth discussing. It is visible to me alone, never to other users.
The organisers page keeps your name, your email address and, if you give it, your phone number, along with the language you filled it in and the address of your race's website. They are used to check that the submission really comes from the organisation, to write to you — to confirm the submission, then to tell you whether the sheet is published — and to send you the link that lets you correct it. They are never published: only the sheet is — the course, the checkpoints, the cut-off times. They are kept as long as the sheet exists, and a refused submission is kept with its decision. You can ask for them to be erased at any time.
I also sometimes write to the organisation of a race already in Cailloux, to suggest that they check and certify its course. I then use the organisation's contact address; it is kept with the sheet, for the letters that follow.
When somebody tries to sign in, create an account or send a report, the server counts attempts per network in order to slow automated attacks. It does not record your IP address: it keeps an irreversible hash of it, together with a simple counter. These counters erase themselves after a few tens of minutes and are linked to no account.
A cookie-free, identifier-free audience measurement (Cloudflare Web Analytics) counts page views. It cannot recognise you from one visit to the next — which is why this site has no consent banner.
To know which features are actually used, the app increments global counters: “finisher cards shared: 12 in August”. That is all that is recorded — a number.
No identifier, no time, no link to you, your race or your device. It is technically impossible to trace a counter back to a person, and the database rules allow nothing but adding 1: these counters cannot even be reset from the app.
Since 1.1, Cailloux also keeps what the runner's Cupboard and the route planner's notebook need — for everyone, no longer only in the test versions.
Here is the list, in full:
2 of these deserve to be named for what they are. Food reactions and notes about a runner touch the body and health. They leave their route planner's account in one case only, and you decide it: a professional to whom you opened the nutrition strategy reads the reactions — never the notes. No other user sees them, they feed no global calculation, and they are not in the public part of a race. A runner in a team shares the stock count, never the reactions — what a stomach can take belongs to that stomach alone.
If you want the exact detail — the field names, where they are stored, what each one holds — write to me and I will send it: admin@cailloux.app. This data is erased like the rest, with the “Delete my account” button or on simple request.
The next test versions may record new things before being opened to everyone: this page will say so, as it did for 1.1.
A tracked runner creates no account: their route planner enters their name and race number, then passes them a personal 6-digit code that opens the app for them. No password, no email address, no sign-up. It is therefore up to the route planner to make sure they are entitled to do so, and to tell their runners they will be tracked.
⚠️ A dated race goes online by itself 24 hours before its start, if the route planner has not published it: it is a safety net for the forgetful, and an email tells them so. To prevent it, switch off the race's “Automatic go-live” toggle. In other words, runners can be tracked without anybody having clicked “Publish”: tell them beforehand, not on race day.
On my side, I provide the tool and I host the data. If you are a runner and you want your data gone, you can go through your route planner or write to me directly — I will handle it.
Your number, your next of kin's and the organisation's do not live with the public part of the race. They are stored in a closed area that nobody can read directly — not even knowing the race code. To obtain them you must present a personal 6-digit code that the route planner passes to each person, and it is then the server that decides what to show: your crew receives the numbers it needs, a runner receives only their own contacts, and public tracking receives none.
The race code, on the other hand, is made to circulate: it can be dictated, copied and shared. It opens the tracking — it does not open the numbers.
2 honest clarifications. First, I can technically read this data, since I administer the database — that is true of every host, and I would rather write it down than let you guess it. Second, a route planner who would rather do without can always leave these fields empty: tracking, alerts and notifications all work without them.
| Data | What it is for | Kept |
|---|---|---|
| Route planner account | To let you create and manage your races | As long as the account exists |
| Race, check-ins, positions | To show live tracking to the crew and to family | Until the route planner deletes it |
| Pebbles and check-ins set aside | To keep an impossible passage apart, without showing it and without losing it | Archived when the race is taken offline. Erased when it is closed or deleted |
| Crew messages — and, in 1.1, encouragement from the public | To communicate during the race | With the race |
| Phone numbers — runner, emergency contact, race control, emergency | To be able to call each other when a race does not go to plan | With the race. Optional: an empty field is not recorded |
| Personal 6-digit codes — one per runner, one for the crew | To open the app at the right level of access, with no account to create | The crew code with the race; a runner's code with their notebook, as long as they are in it |
| Phone identifier — version 1.2, the iPhone and Android apps | So that only one athlete app at a time sends your pebbles and check-ins | On your phone, until you clear its data or uninstall the app. On the server, erased when the race is taken offline, closed or deleted |
| Notification subscription | To send the check-in alerts | Until you turn notifications off, or the race is taken offline, closed or deleted. Also erased when the notification service says it has expired |
| Sign-in session | To save you retyping your password | 30 days — and changing your password immediately signs out your other devices |
| Last used date | To know whether the app is still in use, and who to write to before changing anything | One date only, replaced each time. Goes with the account |
| Version number — of the app, of Le Cairn, of the iPhone or Android app | To know who is using which version, for the beta and for updates | The latest value per app, and the version read from the address, replaced at each visit. Go with the account |
| Request to try an app — Android or iPhone | To send you the invitation to install the test app | Until you ask for it to be withdrawn, or with the account |
| Stock, kit, intakes and reactions | To prepare the aid stations, and stop suggesting what went down badly | As long as the account exists. Erased on request, or with the account |
| Runner notebook | Not having to type your runners again for every race | As long as the account exists. Erased on request, or with the account |
| An organiser's contact — name, email, phone | To check a race sheet, write to the organisation, and let them correct it | As long as the sheet exists. A refused submission is kept with its decision. Erased on request |
| Bug reports | To reproduce and fix a problem | Until I deal with it, or you ask me to erase it |
| Anti-abuse counters | To slow automated attempts | A few tens of minutes, then erased |
| Audience measurement | To know whether the site is read | Aggregated, with no identifier |
There is not yet an automatic purge of old races. Write to me and I delete them, immediately.
The database is hosted by Firebase (Google) in a data centre in Belgium. The site, Le Cairn and the web app are served by OVH, in France, which also manages the domain name. The iPhone and Android apps carry their code inside them: they are distributed by Apple and by Google. The server that does the calculations and sends the notifications runs at Netlify. Emails are sent through Brevo, a French company. The audience measurement is done by Cloudflare.
If you ask to try an app, your e-mail address is passed on, and only in that case, to Google (Firebase App Distribution) for the Android app, or to Apple (TestFlight) for the iPhone app. They send you the invitation and install the test app.
Notifications go through the notification service of your device. On the web, it is the one of your browser (Google, Apple or Mozilla, depending on the browser), and the text goes through it encrypted. In the iPhone app, it is Apple (APNs); in the Android app, Google (Firebase Cloud Messaging). They receive the identifier of your phone and the text of each notification, which can contain the name of a runner.
Google, Apple, Netlify and Cloudflare are American companies: even with servers in Europe, access from the United States is not theoretically ruled out. That is true of very nearly every service of this kind, and it should be known.
Other services are called directly from your device, and so see your IP address. OpenTopoData finds the altitude of a track when you import it, and Open-Meteo gives the weather at the time you will pass: they only receive points on the course, and a date for the weather. OpenStreetMap provides the pieces of map: it sees the area of the map you are looking at. QR Server draws, in Le Cairn, the QR code of a tracking link: it receives that link, which carries the race code and an athlete identifier, with no name. None of them receives your name.
Finally, each time the app or Le Cairn opens, it opens an anonymous session with Google (Firebase): that is what lets it read the database. It carries neither your name nor your account, and its identifier is stored nowhere in the database.
Apart from these services, nobody has access to the data. It is neither sold, nor shared, nor used for anything other than making the app work.
The app keeps some things locally, on your device, and they do not leave it:
All of this disappears if you clear the browser's data or uninstall the app.
The European regulation (GDPR) gives you the right to access your data, to correct it, to have it erased, to retrieve it in a readable format, and to object to its processing.
For erasure you do not even have to ask me: the “Delete my account” button erases everything at once — your account, your races, the race codes they were holding and the suggestions you had sent. It is in your profile in Le Cairn. From version 1.2, it is also in the app, on the web, on iPhone and on Android. The product sheets you had certified stay in the shared catalogue, but detached from you.
For the rest: write to me at admin@cailloux.app and I will handle the request. The project is small enough for this to be done by hand, quickly, with no form.
If my answer does not satisfy you, you can lodge a complaint with the CNIL, the French data protection authority.
Write to admin@cailloux.app