>_ Privacy Notice
Last updated: 1 October 2026
1. Controller
The data controller for personal data collected through race-term.com and the RACE application is E-1 Przemysław Alexander Kamiński, Aleja Solidarności 117, 00-140 Warsaw, Poland. Contact: [email protected].
This notice explains what data is collected, why, and what rights you have under the EU General Data Protection Regulation (GDPR).
2. What I collect
When you buy a licence
Your name and e-mail address, supplied at checkout, so that the licence can be issued and delivered to you. Payment itself is handled by Stripe Technology Europe, Limited, the Merchant of Record, under the name Link. Stripe collects your billing details, country and payment information and acts as an independent controller for that data — see the Stripe Privacy Policy. I never see or store your card details.
Stripe holds billing and payment details. My sales records contain the checkout session identifier, payment time, amount and currency. Where you allow ad measurement, they also contain campaign attribution.
If you check out with a Link account, or create one during checkout, that account is yours and belongs to Stripe, not to me. I have no access to it, and deleting it is something you arrange with Stripe — which will also cancel and erase the purchase data held on their side.
Legal basis: performance of a contract (Art. 6(1)(b) GDPR) and, for tax and accounting records, legal obligation (Art. 6(1)(c) GDPR).
The licence record
Issuing a licence creates one record on my licence server, which runs on Cloudflare Workers and stores its data in Cloudflare's key-value storage. That record holds the name and e-mail address the licence was made out to, the signed licence block itself, the issue date and update window, and the Stripe payment and customer identifiers. The licence block contains your name and e-mail address, so it is personal data in its own right.
Every licence record is encrypted at rest with XChaCha20-Poly1305 under a key unique to that record, derived from a secret held by the server and never stored alongside the data. An export of the underlying storage therefore contains neither your details nor the licence block in readable form.
The licence e-mail is delivered through SendGrid, which processes your address and the message for that purpose.
Legal basis: performance of a contract (Art. 6(1)(b) GDPR) — the record is what lets me re-send a lost licence, or issue a replacement for a new machine, without creating a second licence for the same sale.
When you use the application
At most once per day, RACE contacts the licence service, and only for these:
- Revocation check — to ask whether the installed licence ID has been revoked.
- Update check — to ask which RACE version is newest. A newer release raises a dismissible notice.
- First-launch report — sent once, the first time RACE runs on a device, so that new installations can be counted.
The revocation check carries the licence ID. The update check carries an
installation ID and the version you are running. The
first-launch report carries that same installation ID, the version, and the
name of the operating system (for example macos). Every request
carries your IP address, as an unavoidable part of any internet
connection. The first-launch report's IP address is also compared with
recent downloads from ads, as described in
Downloads from an ad.
The installation ID is 32 random characters generated on your own
machine on first launch and kept at
~/.local/state/race/install-id. It is not derived from your
hardware, your licence, your name or anything you do — it is a random number,
and it exists for one reason: so that one copy of RACE checking for a release
every day can be told apart from thirty copies checking once. It is never
sent with the revocation check, so it never appears next to your licence ID,
and nothing on my side joins the two. What I can see from it is how many
installations there are and which versions they run; I cannot see who they
belong to.
You can switch it off. Setting enabled = false
under [telemetry] in config.toml means no
installation ID is generated or sent at all, and the update check goes out
exactly as anonymous as it was before the ID existed. Deleting the file gives
that installation a new ID.
No terminal data is sent, with the ID or without it. RACE contains no usage analytics, no behavioural tracking and no profiling. Your terminal contents, commands, shell output, file paths, canvas layouts and configuration never leave your machine. Network failures are silent — the Software does not require a connection to run.
Your licence itself is verified offline: the licence block carries an
Ed25519 signature checked against a key built into the binary, and is stored
locally at ~/.config/race/license. The result of a revocation
check is cached locally at
~/.local/state/race/license-status.cbor.
Legal basis: legitimate interest in securing and maintaining the Software, preventing licence abuse, and knowing in aggregate how many installations there are and which versions need supporting (Art. 6(1)(f) GDPR), and performance of a contract for licence validation (Art. 6(1)(b) GDPR). You may object to the installation ID at any time, and the setting above is how — no request to me is needed.
When you visit the website
Cloudflare Web Analytics counts visits without cookies or device fingerprints. Cloudflare also processes server logs for security and troubleshooting, and counts requests to the download host. Google Analytics runs only if you allow it, as described in Optional analytics and ad measurement.
Fonts are served from the Site itself. Checkout is hosted by Stripe under its own privacy policy.
Legal basis: legitimate interest in operating and maintaining the website (Art. 6(1)(f) GDPR).
Downloads from an ad
When you arrive from an ad, the Site copies the ad's click identifier and campaign parameters from the address bar onto the download link. Nothing is saved in your browser. Cloudflare logs the download request with your IP address and those parameters.
My licence service reads those logs. For each download that carried an ad parameter it keeps the time, the click identifier and campaign, and a network key made from your IP address: the whole IPv4 address, or the first half of an IPv6 address. If RACE sends its first-launch report from the same network within 24 hours, that download is linked to the installation ID. The service then sends the ad platform that issued the click identifier (Meta, Reddit or Google Ads) a FirstLaunch event with that click identifier, the launch time and a random event reference. Your IP address, browser information and installation ID are not sent to the platform.
The download's network key is deleted after 48 hours. The first-launch report's network key is deleted once matched, or after one hour. Linked download and launch records are deleted after 90 days.
Legal basis: legitimate interest in knowing which paid ads lead to installations (Art. 6(1)(f) GDPR). You can object by writing to me, by downloading from a link without ad parameters, or by switching telemetry off, which stops the first-launch report.
Optional analytics and ad measurement
The banner asks once for both. Nothing described in this section happens until you allow it.
Google Analytics
If you allow it, the Site loads Google Analytics 4 from Google Ireland
Limited. It records the pages you view, the page you came from, your
browser, device type, screen size and language, and your approximate
city and country. Google uses your IP address to estimate the location
and does not store it. The Site sets two cookies, _ga and
_ga_<ID>, which hold a random identifier so that
several page views can be counted as one visit. They expire after 180
days.
The Google Analytics property is linked to my Google Ads account. If
you arrived from a Google ad, Google Ads can see that your visit led to
a download or purchase, and I can see my ad costs next to the visit
data. For this the Site also sets a _gcl_au cookie, which
expires after 90 days. The link is used only to measure ads. Google
Signals and ad personalisation are switched off, so your visit is not
used to show you ads. Google keeps the event data for 2 months and then
deletes it. I see only aggregate reports.
Ad measurement
If you allow it, the Site saves campaign names and ad click identifiers in your browser for up to 30 days. The identifiers can come from Meta, Reddit or Google. This allows a later purchase in the same browser to be associated with an earlier ad visit.
After you consent, the Site sends these identifiers and campaign details to my Cloudflare service, with your consent, browser information and IP address. A random reference connects that record to your Stripe checkout. After Stripe confirms payment, the service sends the corresponding ad platform a Purchase event with its click identifier, payment time, transaction identifier, amount and currency. Meta also receives the browser information and IP address for matching the event. Google Ads receives only the click identifier and those purchase details, marked as permitted for measurement and not for ad personalisation. Your name, e-mail, billing address and card details are excluded from these measurement events.
Declining and withdrawing
You can decline and still download or buy RACE. Use Analytics and ad
settings in the footer to withdraw consent. Withdrawal stops Google
Analytics and deletes its cookies, including _gcl_au, clears browser attribution and cancels pending reports for checkout references saved in that browser;
reports already accepted by an ad platform cannot be recalled by that
control. Contact me to request deletion of previously shared data.
Your choice is remembered for 180 days. Random checkout references used for withdrawal are saved in your browser for up to 90 days. Attribution and purchase delivery records on my service are deleted after 90 days. Stripe and the advertising platforms retain their records under their respective policies.
Legal basis: consent (Art. 6(1)(a) GDPR).
When you e-mail me
Your e-mail address and the content of your message, kept so that I can reply and follow up. I may use AI tools to help draft replies; every message is read by me personally.
3. Who your data is shared with
I do not sell your personal data. It is shared only with the providers needed to run the service:
- Stripe Technology Europe, Limited — payments, invoicing, tax, refunds, fraud checks and payment support, as Merchant of Record and independent controller, operating towards you as Link (privacy policy).
- Cloudflare — hosting of the website, the download and the licence server, including the encrypted licence records, the cookieless traffic analytics and the installation counts described above.
- SendGrid (Twilio) — delivery of the licence e-mail.
- Google (Google Ireland Limited) — Google Analytics, and Google Ads measurement through the linked account, when you consent, as described above.
- Meta, Reddit and Google Ads, ad measurement when you consent, and FirstLaunch events for downloads from their own ads, as described above. Their privacy policies are Meta, Reddit and Google.
- Public authorities, where legally required.
Some of these providers may process data outside the EEA under appropriate safeguards such as the European Commission's Standard Contractual Clauses. Google LLC, which may process Google Analytics data in the United States, is certified under the EU-US Data Privacy Framework.
4. How long it is kept
- Licence records — kept for as long as the licence exists, so that a lost licence can be re-sent, and afterwards as long as tax and accounting law requires (generally 5 years).
- Purchase and invoice records — held by Stripe under its own retention rules, and by me as tax law requires.
- Server and update-check logs — typically up to 30 days.
- Installation counts — the installation ID, the version and the operating system name, held as counting data in Cloudflare's analytics storage for up to 90 days, never joined to a licence, a purchase or a person.
- Downloads from an ad — download time, click identifier, campaign and linked installation ID for 90 days; network keys for at most 48 hours.
- Cloudflare Web Analytics — aggregate counts only, with nothing traceable to a person, retained by Cloudflare for up to 6 months.
- Google Analytics — event data for 2 months at Google;
the
_gacookies for 180 days and_gcl_aufor 90 days in your browser, or until you withdraw consent. - E-mail correspondence — as long as needed for support history, then deleted on request.
5. Your rights
Under the GDPR you have the right to access your data, to rectify it, to have it erased, to restrict or object to processing, and to data portability. You may withdraw consent at any time where processing is based on consent. To exercise any of these rights, write to [email protected] — I will respond within one month.
You also have the right to lodge a complaint with a supervisory authority. In Poland that is the President of the Personal Data Protection Office (UODO), uodo.gov.pl.
6. Security
Data is transmitted over encrypted connections (HTTPS/TLS), licence records are encrypted at rest under per-record keys as described above, and access to them is restricted to me. Card details do not reach my systems. No system is perfectly secure, so the amount of data collected is kept to a minimum.
7. Children
The Software is not directed at children under 16, and I do not knowingly collect their personal data.
8. Changes
This notice may be updated; the current version is always published here with its "last updated" date. Material changes affecting you will be communicated by e-mail where I have your address.