← Retour

Confidentialité

Privacy policy

Last updated : 2026-10-15

1. Who are we?

RAVIT is a web application for nutrition and pacing planning in trail and ultra-trail running. The data controller is the publisher of the application, whose identity and address are set out in the legal notice.

2. Data we collect

We only collect the data required to operate the service:

  • Registration data: email address, username, password (encrypted), and optionally a UTMB/ITRA Index, plus physiological data you enter (weight, height, age, gender). Your food preferences and allergies, if you share them, are described in §14.
  • Race data: imported or created races, aid-station plans, selected products, race narratives. This data is linked to your account.
  • Technical data: connection logs, session identifier, browser type, for security and debugging purposes.
  • Usage data: navigation paths and session recordings (see §4 and §7), associated with your email address when you are signed in.

3. Purposes and legal bases

Your data is processed in order to:

  • create and authenticate your account (performance of the contract);
  • save and sync your plans across devices (performance of the contract);
  • generate the AI-assisted content you request (performance of the contract);
  • process payments (performance of the contract and statutory accounting obligations);
  • keep the service secure and prevent abuse (legitimate interest);
  • Measure audience and improve usability (active by default, refusable anytime via the cookie banner);
  • respond to your support requests (legitimate interest).

4. Hosting and recipients

We use the following providers, each acting as a processor or recipient of your data:

  • Supabase — database and authentication, hosted in the European Union (Ireland).
  • Cloudflare — application hosting, content delivery and protection against attacks.
  • Stripe — payment processing. Your card details are entered directly with Stripe and never pass through our servers.
  • Brevo — email delivery for messages we send you (support acknowledgments, plan invitations, weather alerts, The Mystery Race, race analysis). Brevo receives your email address and message content; the company is based in France.
  • Google Analytics — audience measurement. Measurement is active when you arrive on the site; you can refuse it anytime via the cookie banner, which stops collection and removes already-placed cookies.
  • Microsoft Clarity — usage analytics and session recording (mouse movement, clicks, pages viewed). When you are signed in, your email address is sent to it as a human-readable identifier.
  • Anthropic (Claude models) — the parts of your plan needed for the request are sent to the model to generate the answer.

Some of these providers are established outside the European Union. Transfers rely on the European Commission's standard contractual clauses or on an adequacy decision.

5. Retention period

Your account and race data are kept for as long as your account is active. On deletion, they are erased or anonymised within 30 days, save for legal obligations (accounting records relating to a payment are kept for 10 years).

6. Your rights

Under Regulation (EU) 2016/679 (GDPR), you have the rights of access, rectification, erasure, restriction, portability and objection, as well as the right to withdraw your consent at any time.

To exercise them, write to us at the address given in §9. We reply within one month at most.

You may also lodge a complaint with the supervisory authority of your country of residence (in France, the CNIL — cnil.fr).

7. Cookies and trackers

Strictly necessary cookies: authentication, session and application operation (including remembering your language). These do not require your consent.

Audience measurement and usage analysis trackers (Google Analytics, Microsoft Clarity): active by default when you arrive on the site. You can refuse them anytime via the cookie banner — collection stops immediately and already-placed cookies are removed. Refusing them doesn't disable any features.

8. Security

We implement appropriate technical and organizational measures: password hashing, encrypted connections (HTTPS), per-user data isolation at database level (Row Level Security) and restricted administrator access.

9. Contact

For any question about your data: contact@ravit.live

10. Changes

This policy may be updated. In the event of a substantial change, we will inform you in the application or by email. The last-updated date appears at the top of this page.

11. Weather alerts by email

On a race's forecast pages, you can request to receive that race's weather by email. This signup is independent of any account: it creates no account and requires none.

  • Legal basis: your consent, collected via a separate checkbox then confirmed by a link sent to your address (double opt-in). Until you follow that link, your address is used for nothing else.
  • Data processed: your email address, the race involved, the page language at signup, and proof of consent — date, page address, version of the checkbox text, and an irreversible fingerprint of your IP address. The IP address itself is never stored.
  • A second checkbox, optional and unchecked by default, lets you also receive RAVIT updates. Declining it changes nothing about weather alerts.
  • Recipient: Brevo, for message delivery (see §4). Your data is not sold, rented, or shared with third-party advertisers.
  • Retention period: a confirmed registration is kept until you unsubscribe, then for three years from that date as proof of consent, in accordance with CNIL recommendations. An unconfirmed registration is only used to send its single confirmation message and is not used for anything else; you can request its deletion at any time (§6).
  • Unsubscribe: each message has a one-click unsubscribe link requiring no account or confirmation. Unsubscribing applies only to that race. Your other rights are exercised as stated in §6.

12. Race search and requests

The "What's your next race?" field, at the top of the home screen and in the app, queries the public catalog. Two distinct processes are linked to it, and neither requires an account.

  • Search log: we record what is typed in the field, the number of results returned, the page language, and the country of that language's audience. This log contains NO identifying data — no account, no IP address, no browser fingerprint. A random marker, drawn on each page load and kept in memory only, serves solely to avoid counting the same entry ten times as it is typed letter by letter. It helps us know which races are missing from the catalog, and nothing else.
  • Log retention period: search details are deleted after three months. Beyond that, only a count by expression and by day remains, with no other information.
  • Race request: when a race is not in the catalog, you can send us the URL of its organizer's website. An email address is OPTIONAL: without it, the request is recorded and counted, you simply receive nothing.
  • Legal basis: your consent, given by submitting the form. We retain proof of this consent — date, page URL, version of the displayed text, and a salted hash of the IP address, never the address itself.
  • Retention period: your email address is deleted as soon as the message announcing the race's arrival has been sent — one message only, never two — or as soon as the request is rejected. The request itself, which then carries no personal data, is retained for the catalog's record.
  • Anti-bot control: the form is protected by Cloudflare Turnstile, which does not track people across sites and serves only to distinguish a human from a bot (see §4).
  • Unsubscribe: the message includes a one-click unsubscribe link, which requires neither account nor confirmation. Your other rights are exercised as stated in §6.

13. Product search

In the product selection screen, a search that returns no products is logged, so that we know which products are missing from the catalog and which words the search doesn't understand yet.

  • What's logged: the text you typed, the language, the screen the search came from, the active filters, and whether "Ask AI" was tried. Nothing else: no account, no IP address, no browser fingerprint. The text isn't linked to any account.
  • "Ask AI" sends your question to Cloudflare's AI search (§4), which compares it with the product catalog. We don't keep the question with your account.
  • Retention: twelve months, then automatic deletion.

14. Preferences and allergies

In the "My preferences" window of the product selection screen, you can note what suits you, what you can't stomach, your favorite brands, and your allergies or dietary restrictions. They're used only to show you the catalog products that suit you: a "Based on your preferences" row, and a filter for the allergies the catalog can verify (gluten, caffeine).

  • What we keep: the preferences you choose from those offered and any text you write, in your account. No products are created from your preferences, and they're never shared with any AI model.
  • Allergies and dietary restrictions: because they reveal something about your health, we only keep them with your explicit consent, given by checking a box in the "My preferences" window, and that consent is dated. Without it, your allergies are neither recorded nor used. You can withdraw your consent at any time: your allergies are then deleted.
  • Retention: as long as your account exists. You can edit or delete your preferences at any time in the "My preferences" window; deleting your account deletes them too.

15. Organizer space

A race organization can publish its race data on RAVIT from a space reserved for its team (terms of use, article 11). This section describes the data this space processes.

  • Team: for each invitation, the address it was sent to, its language and the name of the person who sent it; for each member, the address of the account that accepted it, the displayed name, the role if specified, the version and date of acceptance of the space terms, arrival and departure dates. Legal basis: performance of the space terms.
  • Members of the same space see each other's names, addresses and roles, as well as the space log, which records each publication and each action on the team with the name and address of its author and the date.
  • Invitations and team notices (a member joining or being removed, a changed start time, a next edition prepared, a message removed) are sent by email via Brevo (§4).
  • The organization's message is automatically translated into the site's languages using Cloudflare AI models (Workers AI, §4); only the message text is sent to them. Searching for a food item in Open Food Facts queries this public database with the typed name, without an AI model.
  • A visitor can report an organization's message. To count only one report per visitor, we keep a salted fingerprint of their IP address, from which the address cannot be recovered, for twelve months; it is then deleted.
  • Arrival link: when you follow a link published by an organization to RAVIT (utm_source=orga parameter), the name of the race and of the organization is stored in your browser, in first-party local storage (ravit.arrivee key), for thirty days at most. If you create an account within this period, they are recorded with your account, to count the runners who came through this link; the organization only receives numbers, never your identity. Legal basis: the legitimate interest of RAVIT and of the organization in measuring the effect of this link. No tracking cookie is used.
  • “Do you organize this race?” request: from the page of a race without an organization, you can ask RAVIT to open its organizer space. We receive your name, your email address, your role, your organization's name, the address of the race's official website and your message, to process the request and reply to you, nothing else. An accepted request is kept as long as the organization's space exists; a refused request loses this data as soon as our reply is sent. You can ask for its deletion at any time at hello@ravit.live.
  • Retention: the team list, invitations and log are kept as long as the organization's space exists. If a member deletes their RAVIT account, their name and addresses remain in the team list and log, next to what they published, for the same duration. The arrival link recorded with an account is kept as long as that account exists.

16. The Mystery Race

The Mystery Race (page /trail/wordle) is a game: a race to recognize from its profile, in six attempts, published on dates chosen by the RAVIT team. Playing requires neither an account nor an address. Joining the leaderboard is optional; it is described below.

  • The game also stays on your device: your attempts and the hints obtained are kept in your browser's local storage (key ravit-wordle-v1), so that you find your game again when you come back while the race is in play. This storage serves a function you ask for by playing: it does not require your consent. It is erased with your browser data.
  • So that a score cannot be cheated, the server keeps each game under an identifier drawn at random on your device: the race, the attempts submitted, the time of the first and the last, and the outcome. This identifier says nothing about you. A game not linked to any sign-up is erased at the latest 30 days after its race ends.
  • Leaderboard sign-up, optional: you give a username, which is public, and an email address, never displayed, and you choose how often you receive emails (with each new race, or a recap on Mondays). The language of the sign-up page is kept: it is the language of the emails. Legal basis: your consent, given by a checkbox that is unchecked by default. Sign-up is immediate: the address is not confirmed by a link, and is used only for the game's emails, each of which carries a one-click unsubscribe link. If you unsubscribed and sign up again, a confirmation link is sent to the address (double opt-in); before this link, it receives only that message, and a sign-up never confirmed is erased after 7 days.
  • Proof of consent: the date, the page address, the version of the checkbox text, and a salted hash of your IP address, which does not allow it to be recovered. The IP address itself is never kept.
  • Leaderboards: they are public, readable without an account, but excluded from search engines. They show your username, your attempts, your game time and your season points; never your address. Only your first game of each race counts. The RAVIT team may hide an inappropriate username: you then choose another one, and your points remain.
  • Recognized device: as soon as you sign up, a random token is kept in your browser's local storage (key ravit-wordle-appareil), so that your games count on the leaderboard. Each game email carries a personal link that gets another device recognized.
  • Challenge your friends: at the end of a game, you can share a personal link. It carries an identifier drawn at random by the server, which points to your game and says nothing about you; it is removed from the page address before any audience measurement. If you are registered, your username appears on your challenges (the banner your friend reads, the link preview and the shared image); you can hide it in your settings, and your friends then read «A friend». Each completed share and each friend who plays through your link earn you a season point.
  • One point per network: so that a player doesn't earn points by opening their own link, a friend who arrives via your link only earns you one point per network (internet connection) and per race. The network is identified by the salted fingerprint of the IP address described below, already kept for two days against abuse; nothing more is retained.
  • The details of challenges (which link was shared, which game arrived through which link, and whether it earned a point) are kept until the end of the season. On 1 January they are deleted: only counts per race and per week remain, plus each registered player's total sharing points for the closed season.
  • Duel and challenge returns: when a friend takes up your challenge, the server compares their game with yours (found or not, number of attempts, time in seconds) and keeps the result with the race and the date until the end of the season. This result is shown to your friend at the end of their game, and to you on your next visit. Each player's username appears only if they show it on their challenges; otherwise “A friend”. To find these results, your browser keeps the list of games for which you prepared a challenge (key ravit-wordle-defis-v1, 20 at most, 14 days).
  • Share with everyone: the Facebook, X, Discord and Instagram icons open the network's share page, or copy the text and the link; the page itself sends nothing to the network. The link carries a letter that says which way it was sent (message, Facebook, Instagram, Discord, X); it identifies no one and leaves the address before any audience measurement, like the challenge identifier. The Instagram icon's video is made on your device, with its music, and goes through no server: it only leaves your phone if you share it.
  • Your character: without signing up, the character that represents you is drawn at random once and its seed stays in your browser (key ravit-wordle-perso-v1), so that it is the same from one game to the next. When you prepare a challenge, this character is kept with the challenge, so that your friends see the one you see.
  • Video of the day: the "Create today's video" button makes a 12-second video on your device, to post wherever you like. It shows the outline of the race in play, the name of the previous race, how its attempts were spread and its podium: the character, the order and the number of attempts of the top three in the public ranking, never their username (a hidden username does not appear). The video is sent neither to RAVIT nor to anyone else: it stays in your browser's storage, one video per language at most, until you share or download it. The link copied with it carries the letter j, which says a visit came from a video of the day; it identifies no one. We only count, with nothing that identifies you, the videos created, shared, downloaded or failed, and the visits that came through their link.
  • The Diagonale Serial (page /trail/feuilleton, in French): your game for the season is kept on the server under an identifier drawn at random by your browser and stored in its local storage (key ravit-feuilleton-partie). It holds your episode choices, their outcomes and the items in your bag, never your name. If you are signed up to The Mystery Race, it is linked to that sign-up: same season points, same leaderboard, same morning e-mail, your nickname shown under the same conditions. The links you share (challenge, relay, share) carry a random identifier and the letter of their channel, removed from the address before any analytics tool; a friend who arrives through your link only counts once per network, recognised by the salted fingerprint of the IP address kept for two days. Episode videos are made on your device and sent to no one. We only count, with nothing that identifies you, the episodes played, the shares and the visits coming from these links. A game linked to no sign-up is deleted 60 days after it was created.
  • Orders, titles and badges: if you are registered, your games, your shares and the friends who take up your challenges raise you through six orders (titles from Squire to Duke) and earn you badges. The server computes them from the games and challenges it already keeps; they count for the season. Your main title and the character you choose (one of twelve drawings, never a photo) appear next to your username, in the rankings and on your challenges; they are hidden along with it. For the “On the line” badge, your registration is matched with a RAVIT account by email address, which is never displayed. Titles and badges are no longer shown after you unsubscribe, and are erased along with your registration.
  • Player profile, plans and recruits: by clicking a username in the leaderboards, anyone can read that player's profile, namely their character, titles, scores in the six orders and badges for the season. A RAVIT plan for a race of the game earns 2 season points: it is matched to your registration by email address, which is never displayed. When a friend who arrived through your link joins the leaderboard, their registration is matched to your challenge to earn you 3 points; this match is erased along with the challenge details at the end of the season.
  • Emails: they are sent from no_reply@ravit.live via Brevo (§4), at the frequency you chose, at 8:30 a.m. Paris time. Each one carries a one-click unsubscribe link, with no account or confirmation needed, and a way to change the frequency or your username. After three failed sends in a row, the address receives nothing more.
  • Unsubscribing: immediate. Your username leaves the leaderboards, your devices are no longer recognized, and your games, detached from your sign-up, are erased like anonymous games. Your address and the proof of consent are kept for three years from the unsubscription, as proof, then erased, as for weather alerts (§11).
  • Anonymous statistics: to know whether the game brings in runners, we count, per published race and per page language, page views, arrivals through a shared link or a game email, shares, and games started, found (with the number of attempts) or lost. These are only numbers: no account, no IP address, no cookie, no browser fingerprint. To count only one arrival in the same tab, a mark is placed in that tab's session storage, which is erased when the tab closes.
  • Against automated submissions, the number of attempts per minute, and of sign-ups and link requests per hour, is limited. For this, a salted hash of the IP address, which does not allow it to be recovered, is kept with the count. Legal basis: the security of the service (§3). It is erased after two days.
  • Retention: anonymous statistics are kept for the history of the game; games linked to a sign-up, for as long as the sign-up lasts, for season points and past leaderboards.

17. Race analysis by email

When RAVIT publishes the segment-by-segment analysis of a race, we may email you the link, opened on your own race. This message is optional and can be stopped with one click.

  • Who receives it: two cases, and only two. A RAVIT account that created a plan for this race before its start; or an address you yourself entered under “Get this analysis by email” on an analysis page, after confirmation by a link (double opt-in). That address receives the analysis of a race published afterwards if we can unambiguously find the runner whose bib was used at sign-up. No other address is used: RAVIT holds no runner's address that was not entrusted to us.
  • Legal basis: for an account, a service message linked to the plan you created (performance of the service you requested, and legitimate interest in giving you the result of the race you were preparing), with one-click objection in every message; for list sign-up, your consent.
  • What the message contains: the link to your race analysis; and, if we find you there by your first and last name (those on your profile, or passed on by Google when you signed up), your time and your position within your level group, as the page displays them. Nothing about other runners. If we cannot find you with certainty, the link opens the page on the edition, with your name already typed in the search: nobody is picked in your place.
  • What we keep, for each message: your address, the race and edition, whether we found you (and the bib that identifies you in the public results), the message language, a random token unique to the message, and the dates the message was sent and the link opened. Your name is not kept: it is read again from your account, or from the race's public results, when the message is written.
  • Link opening: the link carries a random token. When the page is opened through it, the page reports this to RAVIT, which records the date, to know whether these messages are useful. This signal depends on no cookie and concerns only this message. The token and your name are removed from the address bar immediately, and the campaign parameters a few seconds later (audience measurement: see §7).
  • Emails: they are sent from no_reply@ravit.live through Brevo (§4), at 6:30 p.m. Paris time, at most one per day and per address, and only one per race and edition. Each carries a one-click unsubscribe link, with no account and no confirmation, and the “unsubscribe” button in your email client works too.
  • Unsubscribing: it applies to all analysis emails, whatever the origin of your address, and changes nothing else: not your account, not your plans, not the other emails you asked for. If you were on the list, you are removed from it. Your address is kept in the unsubscribe list, with no time limit, for the sole purpose of not writing to you again.
  • Retention: the data of each send is deleted 400 days after it was created. The unsubscribe list is kept, so that your choice is respected. Your other rights are exercised as described in §6.

18. Measuring the paid offer

To understand whether RAVIT's paid offer serves runners and decide how to develop it, our servers maintain a product log of actions related to this offer.

  • What it contains: the action (for example the display of the offer in a plan, a click on an offer, a payment, a refund request, a question asked to the assistant, the opening of a crew link), its date, the account, plan and race concerned, and a few context items: the number of days before the race, the screen it came from, the device type, the language and the offer in force. It contains neither banking data nor the text of the questions asked to the assistant.
  • Legal basis: our legitimate interest in measuring a paid offer and verifying that it works as advertised. This log does not place any tracker on your device. The same actions are also sent to Google Analytics, unless you have refused audience measurement (§4 and §7).
  • Recipients: the log is hosted by Supabase (§4) and is read only by the RAVIT team, in the form of counts.
  • Retention period: 25 months from each action. Beyond that, rows are automatically deleted once a month. Your rights, including the right to object to this processing, are exercised as indicated in §6.

19. Your debrief

After a race whose official timing publishes split times online, or during it, you can compare your actual split times to your race plan. When you press the button, it's your browser that reads, from the race timer's website, the times of the bib you provided: RAVIT's servers don't read these times themselves.

  • What RAVIT keeps, for this race plan only: the bib number, who provided it and when; after each read, the first name, last name and category that the race timer associates with the bib, your status (racing, finished, dropped out), your split times at the race plan's aid stations and your total time. No other runner, no participant list.
  • What this is for: display the debrief in your race plan, to you, your coach and people you share this race plan with in RAVIT, never on a public link; once times are final, record your finishing time as the race plan result, which helps estimate your level.
  • After the race's cut-off time for finishing, an email invites you to open your debrief or provide your bib number. It's sent once per race plan and contains no times.
  • Legal basis: performing the service you request by pressing the button. For a tracked athlete, the coach relies on the consent they declared when adding the athlete to their space, and on the coach mode terms.
  • Recipients: the RAVIT database, hosted at Supabase (§4). At the time of reading, your browser contacts the race's timing service directly, which then receives your IP address, as when you visit its site.
  • Retention period: that of the race plan. Changing bibs erases the previous read; deleting the race plan erases the bib and the kept times. Your rights are exercised as stated in §6.