Local first, transparent when data leaves
Privacy Notice
This notice describes the information handled by the Kairo desktop app, website, reporting Worker, and optional integrations.
Anonymous, never sold, never shared. What Kairo collects - optional error reports and an optional installation count - identifies no one, and Kairo never sells, rents or shares it with anyone. It is kept in Kairo's own database, which Cloudflare hosts for Kairo as a service provider (section 7), and is used only to run Kairo and to find and fix what goes wrong in it.
1. What remains local
Kairo is designed to keep ordinary library activity on your computer. The following generally remains local unless you deliberately include it in a report:
- installed-game records, paths, queue state, download history, settings, and shortcuts;
- locally imported
.torrentfiles and torrent session state; - mod profiles, backups, installation plans, and local save locations;
- Admin catalog drafts, tokens, and private configuration files.
2. Network requests
When Kairo checks the public catalog, updates, cover media, provider pages, the report service, or an enabled API integration, the receiving service can see ordinary connection data such as your IP address, request time, and user-agent information.
Some facts about games come from Steam. Kairo's own service asks Steam for each game's current build, tags, reviews, languages and achievement names on Kairo's behalf, so your address does not reach Steam that way. Kairo asks Steam directly, as a web browser would, for a game's artwork, its news and patch notes, and Workshop listings. Kairo never signs in to your Steam account, never sends account details, and never reads which games you own.
Kairo displays no advertisements during launch and the dormant sponsor system does not fetch creatives, record impressions, or send click events.
3. Optional installation count
Kairo offers one optional installation event, off unless you turn it on. Nothing is sent unless you actively choose it: in the public Windows installer on a first installation, on Kairo's welcome screen after a fresh installation or an update, or at any time in Settings > Privacy & data. It is sent once. Games, library activity and downloads send no analytics events; error reports are separate (section 4).
| Event | Data retained by Kairo | Purpose |
|---|---|---|
| Installer request | Day, requested Kairo version, request source, and two-letter country, stored only as aggregate counts | Understand public installer demand and release adoption |
| Chosen installation count | HMAC-protected random installation ID, event times and count, Kairo version, Windows version/build, architecture, interface locale, and two-letter country | Estimate participating installations, operating environments, country percentages, and release health |
The installer, or Kairo itself, records only your choice. Kairo creates the random installation ID itself and sends the one event the first time it is online after you chose it (from 0.4.69; earlier installers sent it during setup); the ID is kept locally so you can withdraw later. It is sent over HTTPS and immediately transformed with a secret-key HMAC before D1 storage; the raw ID and raw IP address are not stored in Kairo's analytics database. Cloudflare derives the country from the request at its edge.
You can remove the pseudonymous installation row in Kairo Settings. The local consent record is removed only after the server confirms deletion. Historical daily totals contain no installation ID and remain as identifier-free aggregate statistics.
4. Error reports
When something goes wrong in Kairo, it sends an anonymous error report so the problem can be found and fixed. Error reports are on by default and you can turn them off. The choice is shown on Kairo's welcome screen - after a fresh installation and after every update - before any report is sent, and it stays in Settings > Privacy & data. Turning reports off stops them at once and deletes any that were waiting to be sent.
| A report carries | A report never carries |
|---|---|
| The kind of problem (a crash, an error in the app, a download, install or update that failed, a catalogue that would not load, a very slow start); the error message and where in Kairo's code it happened; Kairo's failure code; the game and download source involved, where there is one (catalogue information); what each download source answered; the last few steps taken in Kairo and whether they worked; Kairo's version, the Windows version and architecture, the interface language; and the two-letter country Cloudflare derives from the request. | Your name, account names, passwords, e-mail addresses, IP address, installation ID, the contents of any file, your library, or the names of your folders and files. Before a report is written - even to the log on your computer - Kairo removes your user name and home folder, e-mail addresses, the paths and query strings of links, and anything that looks like a key or token. The report service removes them again before anything is stored. |
Reports are anonymous. They carry no installation ID. Each carries a random number that Kairo makes anew every time it starts, stored only as a salted hash, so the reports of one run of Kairo can be read together while runs cannot be linked to each other, to a computer, or to you. The raw IP address is not stored. Because reports cannot be traced back to anyone, Kairo also cannot find a particular person's reports to show or delete them; turning reports off is how you stop them.
Kairo keeps the same reports in a log on your computer (%APPDATA%\Kairo\logs\errors.jsonl). You can read it in Settings > Privacy & data - it shows exactly what a report carries - attach it to a bug report yourself, or clear it. A bug report you send through Support may carry the short identifiers of the errors recorded on your computer in the day before, so the report can be read beside them.
5. Reports and rights claims
| Submission | Data processed | Purpose |
|---|---|---|
| Bug or suggestion | Category, title, description, reproduction details, app/catalog version, optional contact and screenshots | Diagnose problems, answer users, and improve Kairo |
| Privacy request | Your request, contact details, and any information needed to verify and answer it | Exercise data-protection rights and maintain an audit trail |
| Rights-holder claim | Legal name, organization, role, contact details, work and disputed location, ownership/authority explanation, signature, declarations, and optional image or PDF evidence | Verify authority, temporarily disable disputed material where appropriate, decide final removal, and handle counter-notices |
The reporting service also receives a user agent and a salted, shortened hash derived from the submitting IP address for abuse prevention. The raw IP is not deliberately stored in the report database by Kairo.
6. Legal bases and minimization
The optional installation event is processed with your consent, which you can withdraw in Kairo Settings. Error reports are processed for Kairo's legitimate interest in finding and fixing faults in software people rely on: they identify no one, the choice is shown before any report is sent, and you can object at any time by turning them off in Settings. Aggregate website installer-request measurement is processed for the legitimate interest of operating and understanding the public release service without cookies or cross-site tracking. Service security, catalog integrity, support, and rights-case review are processed for legitimate interests and, where applicable, compliance with legal obligations. Optional contact details and attachments are submitted at your direction. Kairo asks only for information reasonably needed to review the request.
Do not send passwords, payment information, full identity documents, or unrelated confidential records. Rights holders need detailed proof of ownership or authority, but a passport is not requested by default.
7. Service providers and transfers
- Cloudflare delivers the website, Turnstile verification, Worker API, country derivation, and D1 storage for reports, error reports and the installation count. Kairo does not sell or share this data with anyone; Cloudflare hosts it for Kairo as a service provider.
- Valve (Steam) receives the anonymous requests for game artwork, news and Workshop listings described in section 2, and answers the requests Kairo's service makes on Kairo's behalf.
- GitHub hosts approved public release files and may receive updater or download requests.
- Nexus Mods receives API requests only when that optional integration is enabled and used.
- Independent download providers receive requests when a user opens or downloads from their service.
These providers may process data outside Sweden or the EEA under their own terms and lawful transfer safeguards.
8. Retention and security
Ordinary reports are retained while they are investigated and until they are archived or deleted through Admin. Rights claims, evidence, decisions, and case events may be retained longer where needed for legal claims, repeat-notice handling, audit integrity, or dispute resolution. A fixed automatic deletion schedule has not yet been enabled for the private beta.
Error report events are deleted automatically 90 days after they arrive. A summary of each problem - its title, how often it was reported and the Kairo versions it affected, with no session numbers - may be kept for up to a year after the problem was last seen, and daily counts by version may be kept for long-term release trends.
Pseudonymous installation rows are automatically deleted 24 months after their last opted-in installation event, or earlier when you withdraw. Identifier-free daily install and installer-request totals may be retained for long-term product and release trends because they contain no installation ID.
Administrative access uses a private token. Responses are marked non-cacheable, evidence size and file types are restricted, and Turnstile is used to reduce automated abuse. No online system can guarantee absolute security.
9. Your rights
Depending on applicable law, you may request access, correction, deletion, restriction, objection, or a portable copy of personal data. You may also complain to the Swedish Authority for Privacy Protection (IMY) or your local supervisory authority.
Some information may be retained when required by law or necessary to establish, exercise, or defend legal claims. Kairo may ask for proportionate verification before disclosing or changing personal data.
10. Changes and contact
Material privacy changes will be published here with a new effective date. Contact the Kairo Project through Support and select Privacy for a data-protection request.
Kairo