Privacy policy
Version of 14 November 2026. This is a translation: the French version prevails.
Runsten keeps the trips and positions of your car: this is personal data, which tells where you go. This page says what we do with it, and above all what we do not.
Controller
Akitek SRL, Rue Mercelis 63, 1050 Ixelles, Belgium, BE 0644.503.830 (see the legal notice). For any question about your data: support@runsten.app.
The data
| Data | Where it comes from |
|---|---|
| Account: email address, name, sign-in identifier | you, through the sign-in service |
| Volvo authorisation: access tokens, encrypted | Volvo ID, when you connect your account |
| Volvo key: the API key of the application you create on Volvo's developer portal, encrypted; only its last four characters are shown back | you, on the Connection page |
| Polestar credential: the client ID, secret and Account ID you create on Polestar's Data Portal, encrypted; only the last four characters of its client ID are shown back, with when it was given and when it expires | you, on the Connection page |
| Tesla tokens: the tokens of your sign-in with Tesla, when you give them (an access token and a refresh token of Tesla's Fleet API), encrypted; the refresh token is replaced by the one Tesla gives back at each renewal | you, through Tesla's own sign-in page, from the Connection page; then Tesla |
| BMW connection: the client ID you create in the MyBMW or MyMINI portal, the tokens BMW gives when you approve the code (access, refresh and ID tokens), your BMW customer identifier and the data selection Runsten creates at BMW, encrypted; only the last four characters of the client ID are shown back, with when it was connected | you, on the Connection page; then BMW |
| Pleos key: the client ID and client secret of the key you create in the Pleos Playground, one per brand (Hyundai, Kia, Genesis), encrypted; only the last four characters of the client ID are shown back, with when it was given. Never the password of your Bluelink, Kia Connect or Genesis Connected account, nor the access token Pleos gives for the key, which is never stored | you, on the Connection page |
| Car: serial number (VIN), model, and its readings: position, charge, range, odometer, charging state, diagnostics | Volvo's API |
| Polestar car: serial number (VIN), and its readings: position, charge, range, charge limit, odometer, charging state, whether it is driving | Polestar's Data Portal |
| Tesla car: serial number (VIN), model, name, trim, software version, and what it sends: position and heading, gear, odometer, battery level, range, charging state, power, current, voltage, phases, energy added, charge limit, time to full, outside and inside temperature, preconditioning, battery heater, whether it is locked, doors, windows, sentry mode, tyre pressures; Runsten keeps the last value of each field, and the readings, trips and charges it derives from them, as for the other brands | Tesla's Fleet API, and the car itself, which sends its data to Runsten |
| BMW or MINI car: serial number (VIN), brand, model, colour, steering side, battery capacity, picture of the car, and what it sends: position, ignition on or off, whether it is moving, odometer, battery level and charge target, range, charging state, cable and charging type, power, current, voltage, phases, time to full, tyre pressures, doors, bonnet, boot, windows, sunroof, locks, preconditioning; and the charging sessions of the last 30 days (times, battery levels, energy drawn from the grid, place) | BMW CarData: its API, and the stream through which the car sends its data |
| Hyundai, Kia or Genesis car: serial number (VIN), brand, model and model year, the name the car has in the maker's account, and what it sends: position, ignition on or off, whether it sleeps, odometer, battery level and charge target, battery capacity, range, charging state and type, cable, time to full, doors, boot, bonnet, sunroof, central lock, tyre pressures, warnings, climate and its setpoint | the Pleos Vehicle Data API |
| Tesla commands: each command you send a Tesla from Runsten (which one, and its value: a charge limit or a temperature), when, and its outcome (carried out, refused, car asleep…) | you, on the car's page |
| Imported history: the trips and charges from before Runsten (times, distances, energies, costs, odometer, positions or place names, tracks), and the name of the source they come from | TeslaMate, when you import a backup of its database; Aximote, when you import it with a token of its Pro offer; the Volvo Data Portal, when you import the files Volvo Cars gave you; AAOS Logging, when you import the export of this app in a car with Google built-in; BMW CarData, for the charges of the month before a BMW or a MINI was connected |
| Aximote token: the personal access token you paste for an import, encrypted | you, in the vehicle's settings |
| Volvo Data Portal files: the trips and waypoints files you choose for an import, read and never kept | you, in the vehicle's settings |
| What Runsten works out: trips, charges, energies, statistics, battery estimate | calculated from the readings |
| What you enter: places, tariffs, costs, settings | you |
| Subscription: plan, state, dates, country. Never your card number, which only Stripe knows | Stripe |
| API access and connected apps: your personal access tokens and the apps you have allowed, assistants or Home Assistant (name, dates, last use). Never the token itself, of which we keep only a fingerprint | you, in the settings |
| MQTT broker: its address, its username, its password encrypted, your options (publishing the position among them), the state of the connection | you, in the settings |
| Records of acceptance: which document, which version, when | you, at sign-up, at checkout and before your first question to Ask Runsten |
| Ask Runsten: the questions offered and the month's, and for each question asked its date, its outcome (answer, off topic, no answer, error), the model, the data read, the number of tokens and the cost. Never the text of the question or the answer | the service |
| Fleet statistics: whether you share your cars' data for them, since when, and when you stopped | you, when accepting these documents and in the settings |
| Support: your emails and our answers | you |
| Follow-up emails: which you received and when, whether you no longer want them | the service, you in the settings or through the email's link |
| Waitlist: your email address, your language, when it was given and confirmed | you, through the form of runsten.app |
| Technical logs: dates, errors, IP address to limit sign-in attempts and joins to the waitlist, an assistant's calls or questions to Ask Runsten (tool, duration, not their content). No position, VIN or token | the service |
Why, and on what basis
| Purpose | Legal basis (GDPR, art. 6) |
|---|---|
| Providing the service: reading the car, keeping and calculating your data, showing it to you | performance of the contract |
| Sending your data to the assistant, program, Home Assistant or MQTT broker you connect, at your request | performance of the contract |
| Answering the questions you ask Ask Runsten, and counting them | performance of the contract |
| Managing the subscription and the accounts | performance of the contract, legal obligation |
| Protecting the service: security, sign-in limits, logs | legitimate interest |
| Counting the runsten.app site's visits, anonymously | legitimate interest |
| Answering support, telling you of a change to the service or to these documents | performance of the contract, legitimate interest |
| Writing to you during your first weeks (welcome, help to connect the car, asking your opinion), and when you delete your account to learn why. Never advertising. You can object at any time, in the settings or through the link in each email | legitimate interest |
| Telling you when Runsten opens, if you asked and confirmed | consent |
| Publishing anonymous statistics by car model, from the data of the accounts that have not stopped sharing (see Fleet statistics). You can object at any time, in the settings | legitimate interest |
| Keeping proof of your acceptance | legal obligation, legitimate interest |
What we do not do: no selling or renting of your data, no advertising, no profiling, no audience measurement in the service (the runsten.app site only counts its visits, anonymously: see Cookies), nothing passed to third parties beyond the providers below and what you choose to send to an assistant, to your Home Assistant, to your MQTT broker, or to Aximote for an import (your token only). We do not look at an account's data, except at your request or to handle an incident, and every such access is recorded.
For how long
| Data | Period |
|---|---|
| Account, cars, readings, trips, charges | as long as the account exists |
| Account with no sign-in for 24 months | deleted, after an email 30 days before |
| After the account is deleted | erased at once, then from backups within 30 days |
| Volvo authorisation | deleted when you disconnect the Volvo ID, or with the account |
| Aximote token | erased as soon as the import ends, whether it succeeded or not |
| Imported history | until you delete the import, or with the account |
| Volvo key | until you remove or replace it, or with the account |
| Polestar credential | until you remove or replace it, or with the account |
| Tesla tokens | until you remove Runsten's access or the car, or with the account |
| BMW connection | until you remove the connection, or with the account |
| Pleos key | until you remove or replace it, or with the account |
| Tesla commands | until you remove the car, or with the account |
| Personal access tokens | until you revoke them, or with the account |
| MQTT broker | until you remove it, or with the account |
| A connected app's authorisation (assistant, Home Assistant) | until you disconnect it, after 30 days without use, or with the account |
| A connected app's codes and access tokens | until they expire: one minute for a code, one hour for a token |
| Count of Ask Runsten's questions | as long as the account exists |
| Technical logs | 30 days |
| Your choice to share for the fleet statistics, and its dates | as long as the account exists |
| Follow-up emails sent, and your choice to no longer receive them | as long as the account exists |
| A deleted account's address, for the email asking why | until it is sent, 7 days at most |
| Published fleet statistics | without limit: they are anonymous |
| Subscriptions and records of acceptance | 10 years after the end of the contract: the limitation period under Belgian law |
| Accounting records | 10 years: the period of Belgian accounting law |
| Support emails | 3 years after the last exchange |
| Waitlist | unconfirmed, 7 days; confirmed, until the opening is announced, or until you leave it, through the email's link or by writing to support |
With whom
Our providers process your data on our behalf, under contract, and only for this service:
| Provider | Role | Where |
|---|---|---|
| Scaleway SAS | hosting of the service, its sign-in and its maps; the service's emails (sign-in, notices, follow-up, waitlist); answering Ask Runsten's questions (Generative APIs); the backups | France (Paris); backups in the Netherlands (Amsterdam) |
| OVHcloud | support emails | France |
| Stripe (Link) | payment, as seller of record | European Union, and United States |
| GoatCounter (Martin Tournoij) | anonymous count of the runsten.app site's visits | Ireland; servers at Hetzner, in Finland and Germany |
- Stripe, through Link, sells the subscription in its own name and processes the payment as controller of its own data: its privacy policy applies to the checkout page.
- Volvo Cars is the source of a Volvo's readings. Runsten calls its API on your behalf, with your Volvo key, and sends it nothing but those calls: Volvo counts them against the application you created on its developer portal, under its terms. Volvo processes your data under its own policy.
- Polestar Performance AB (Sweden) is the source of a Polestar's readings. Runsten calls its Data Portal on your behalf, with the credential you created there under the EU Data Act, and sends it nothing but those calls. Polestar processes your data under its own policy.
- Tesla, Inc. (United States) is the source of a Tesla's data. Runsten calls Tesla's Fleet API (its European region) on your behalf, with your token, to list your cars, tell which have the key and set the car to send its data, and, at your request, to wake the car and send it the commands you choose; it sends it nothing else. The car sends its data directly to Runsten's receiver, hosted with the rest of Runsten at Scaleway, in Paris (France). Tesla processes your data under its own policy.
- BMW AG (Germany) is the source of a BMW's or a MINI's data. Runsten calls BMW CarData on your behalf, with the client ID you created there and the tokens BMW gives it, to list your cars, create the selection of data it reads, read that data, the car's picture and its charging sessions, and receive the car's stream; it sends it nothing else, and never a command. BMW processes your data under its own policy.
- Hyundai, Kia and Genesis, makes of the Hyundai Motor Group, are the source of their cars' data, which the group serves through Pleos, its platform, under the EU Data Act. Runsten calls the Pleos Vehicle Data API on your behalf, with the key you created in the Pleos Playground, to list the cars the key reads and read their data; it sends it nothing else, and never a command. The maker processes your data under its own policy.
- Aximote is the source of the history you import. Runsten calls its API with your token, during the import only, and sends it nothing but those calls. Aximote processes your data under its own policy.
- The Volvo Data Portal is where Volvo Cars gives you your car's data, under the EU Data Act. Runsten never calls it: you download its files and choose them for the import.
- Sign-in runs on our own servers, at Scaleway: the accounts are not entrusted to any identity provider.
- Transfers outside the European Union: only Stripe, established in the United States; any transfer rests on the EU–US Data Privacy Framework or on the European Commission's standard contractual clauses. For a Tesla, Runsten sends Tesla, Inc. only its calls with your token, at your request.
AI assistants and API access
You can connect your account to an AI assistant (Claude, ChatGPT or any other MCP client), or to a program, with a personal access token. You decide and you choose: nothing is sent until you have allowed it.
- What is sent: what the assistant or program asks for, read only: your cars (VIN, model), their state (charge, range, odometer), the battery's health, trips and charges with their places' names and addresses, costs, statistics, your places. Never the coordinates of positions. Nothing can be changed.
- Who receives it: the provider of the assistant or program you chose. It processes your data as controller of its own processing, under its own policy, not on our behalf: it is not our provider, and its processing, including any transfer outside the European Union, is a matter between you and it.
- To stop it: “Connected apps” in the settings to disconnect an assistant, or revoke the token. What the assistant has already received stays with its provider: ask it to erase it.
Ask Runsten (beta)
With hosted Runsten, you can ask Ask Runsten a question about your car, in beta. A language model picks the data that answers it and writes a short sentence; the figure itself is read by Runsten from your own data, with a link to the screen it comes from. Before your first question, Runsten asks you to accept this policy: nothing is sent before.
- What is sent: your question, and what Runsten reads to answer it, read only: trips, charges, costs, statistics, the battery's health, your places' names and addresses. Never the coordinates of positions.
- Who receives it: Scaleway, our provider, through its Generative APIs service, in France. It processes the question for us and only to answer it: it keeps none of it, and does not read, reuse or analyse its content, nor train any model on it.
- What we keep: neither the question nor the answer. They stay in your browser's tab and are gone when you close it. We keep only the count of your questions (see The data), your acceptance and the technical logs, without their text.
- Beta: an answer may be missing or give the wrong figure. The link to the screen lets you check it.
- To not use it: do not accept, or do not ask a question. Nothing is sent.
Home Assistant and MQTT
Runsten's integration for Home Assistant reads your cars from your Home Assistant, on every plan. You install it and you allow it: nothing is sent until you have allowed it, on the Runsten page that asks you, or with a personal access token.
- What is sent, read only, every minute: your cars (VIN, model, name), their current state (charge, range, charging, plug, power, odometer, engine, openings, lock, temperatures) and the coordinates of their position. Nothing can be changed.
- Who receives it: your Home Assistant. You are responsible for it, or its host if it is an online service, under its own policy: it is not our provider.
- To stop it: “Connected apps” in the settings to disconnect Home Assistant, or revoke the token. What Home Assistant has already received stays there: remove the integration to erase it.
With Plus, Runsten can also publish the state of your cars to an MQTT broker, for Home Assistant or another home automation system. You decide and you choose the broker: nothing is published until you have given it in the settings.
- What is published, after each reading: the state of each car (charge, range, charging, plug, power, odometer, engine), its model (never its VIN), and the coordinates of its position, unless you turn their publishing off. Runsten connects to your broker, encrypted (mqtts), at an address reachable from the Internet.
- Who receives it: the broker you chose, and whoever has access to it. You are responsible for it, or its provider if it is an online service, under its own policy: it is not our provider, and Runsten answers neither for its security nor for what is done there with the data, including any transfer outside the European Union.
- To stop it: remove the broker in the settings. Runsten then clears what it published there, if the broker can be reached at that moment; otherwise, what was published stays there. Without Plus, nothing more is published.
Fleet statistics
Runsten can publish statistics by car model, such as the battery's capacity by mileage, the consumption by month or the real charging power, which owners find nowhere else. They take many cars: sharing is therefore on by default, on the basis of our legitimate interest, and you can object at any time. It is shown to you when you accept these documents, before Runsten reads your car, with a switch turned on that you can turn off; then, in the settings.
- What is used: the model of your cars, their mileage rounded to 10,000 km, and the distance, energy, charge levels and duration of their trips and charges, by month. Your history recorded before sharing started counts too.
- What is never used: positions, places, addresses, the VIN, costs, or anything that names you.
- How it stays anonymous: each car counts once, its own value first; a figure is published only when it comes from at least 10 cars of 10 different accounts, and the number of cars is rounded. The figures are computed in the database, which lets out nothing below these thresholds; we read them before they are published, on runsten.app.
- To stop it: turn the switch off when accepting these documents, or choose “Don't share” in the settings, with no reason to give. Your data leaves the next statistics; the figures already published stay, as they say nothing of you.
Your rights
At any time, you can:
- access your data and take it with you: the full export, in the settings, on every plan;
- erase it: “Delete my account”, in the settings;
- correct it: your account details, from your account page; the car's readings are not corrected, but are deleted with it;
- restrict a processing or object to it, when it rests on our legitimate interest;
- withdraw the Volvo authorisation: Runsten then stops reading the car;
- remove the Polestar credential, in Runsten, or delete it on Polestar's Data Portal: Runsten then stops reading the car;
- remove the BMW connection, in Runsten, or delete the client ID in the MyBMW or MyMINI portal: Runsten then stops reading the car;
- remove the Pleos key, for each brand, in Runsten, or revoke it in the Pleos Playground: Runsten then stops reading the brand's cars;
- remove Runsten's access to your Tesla, in the Tesla app (Profile > Security & Privacy > Third-party apps), or its virtual key in the car (Controls > Locks): Runsten then stops receiving the car's data; deleting the car or the account in Runsten deletes its data;
- disconnect an app (an assistant, Home Assistant) or revoke a token: nothing more is sent to it;
- remove the MQTT broker: nothing more is published to it;
- stop sharing for the fleet statistics: your data leaves the next ones.
For anything else, write to support@runsten.app. We answer within one month, and may ask you to prove that the account is yours.
You can also lodge a complaint with the Belgian Data Protection Authority (Rue de la Presse 35, 1000 Brussels, dataprotectionauthority.be), or with the authority of your country.
Cookies
Runsten sets only a session cookie, needed to stay signed in. Your browser also keeps your preferences (language, appearance, keyboard shortcuts, maps shown or not), which never leave your device. There is no audience measurement, no advertising and no third-party script: no banner is needed.
The runsten.app site sets no cookie: your browser only keeps the appearance chosen there, light or dark. Its visits are counted by GoatCounter, without cookie or any storage in your browser: it keeps neither your IP address nor your full User-Agent, only aggregate figures (pages viewed, referrer, browser, system, screen size, country). To tell visits apart, it holds the IP address and User-Agent in memory only, for at most 8 hours, under a random identifier. The service itself, my.runsten.app, loads no such script. Stripe's checkout page sets its own cookies, on its domain, under its policy; the sign-in page, auth.runsten.app, sets only those needed to sign in.
Maps are drawn from our own map file, hosted by Scaleway in Paris: no third party sees which areas you look at. You can hide them in your preferences; positions are then coordinates, with a link to OpenStreetMap that only you decide to follow.
Security
Each account's data is isolated in the database. Volvo tokens and keys, Polestar credentials, Tesla tokens, BMW credentials and tokens, and Pleos keys are encrypted. Connections are encrypted (https). Logs contain no position, VIN or token. In case of a data breach, we notify the Data Protection Authority within 72 hours, and you too if the risk is high.
Age
Runsten is for people aged 18 or over.
Changes
If this policy changes substantially, we tell you by email 30 days before.