Skip to content

Privacy and data

No advertising, no tracking, no analytics. Your Microsoft and Minecraft credentials stay on your computer. The launcher talks to the Xol service only to check for updates, profile data and notices, and sends a crash report only if you have switched that on and pressed Send.

This page explains the mechanics. The binding text is the privacy policy on the product site; if the two ever disagree, the policy wins and this page is wrong.

What the launcher sends to the Xol service

When What is sent Why
Checking for updates, profile data and notices Your Xol access key, launcher version, operating system (Windows or macOS) and CPU architecture To offer the right installer and to confirm the key is valid
Fetching announcements Nothing beyond the request itself; no key To show the notices strip
Downloading an update A short-lived download token To deliver the installer
A failed update, only if diagnostics are on Launcher version, operating system, architecture and the reason. No game log. To find update problems
A crash report, only if diagnostics are on and you press Send Launcher version, OS, architecture, profile and Minecraft version, a short summary, a hash of the crash's first stack frames, and a redacted log excerpt To find and fix crashes

As with any internet service, the server sees the IP address a request comes from. Server logs are kept for 14 days for security and abuse prevention and are not used for anything else.

The access key is sent only to the Xol service's fixed address, as an authorization header, and the launcher refuses to follow redirects on those calls. The key is a random string issued to testers. The launcher does not link it to your Microsoft or Minecraft account.

Never sent to Xol: your Microsoft password (Xol never has it), Microsoft, Xbox Live and Minecraft tokens, your player name and UUID, your worlds, your settings, and the OptiFine file you import.

Other connections the launcher makes

To For
Microsoft, Xbox Live and Minecraft Services Signing in. Your computer talks to them directly; see Sign-in and accounts.
Mojang's download servers The game, its libraries, assets and the Java runtime
Minecraft Forge and Modrinth The pinned, checksum-verified components some profiles need

The downloads are plain file downloads. Xol sends them nothing beyond what any download involves: your IP address and a user-agent. See What gets downloaded.

What the client does inside the game

The Xol client makes no network connections of its own. It reads local game state to draw the HUD and stores its settings in your instance folder. When you join a server it sends the standard client-brand label with the text Xol, the same message every Minecraft client sends with its own name. See Multiplayer and fair play.

Diagnostics

Settings ▸ Support ▸ Diagnostics ▸ Allow sending reports to Xol. Off by default. While it is off, Xol sends nothing of this kind. Consent is stored only as an explicit "yes" that you set; a missing or damaged value counts as "no".

When it is on, two things can be sent:

  1. A failed update is reported automatically: launcher version, system type, the reason. No game log.
  2. A crash report is sent only when you press Send this crash report… after a crash, look at the preview, and press Send.

The preview

The report dialog shows the exact payload, already redacted, with its size: "This is everything that would be sent to Xol (…). Tokens, e-mail addresses, IP addresses and your home folder path have already been replaced. Read it; nothing is sent until you press Send."

  • Send is disabled while diagnostics are off. You can switch them on in the dialog itself.
  • Reports are tied to an access key. Without one: "Reports are tied to an Xol access key, and none is saved."
  • What is sent is the object you were shown and nothing else. It has exactly these fields: consent, kind, launcher version, OS, architecture, profile identifier, Minecraft version, summary, stack hash, log. Any other field is refused by the service.
  • The log part is the end of the crash report and the end of the game log, at most 1,500 lines and 120,000 characters each. The whole report is at most 256 kB.
  • The stack hash is a short hash of the exception line and the first frames with line numbers and memory addresses removed, so the same crash on two machines groups together. It contains no text from your log.
  • At most ten reports an hour per key are accepted.
  • After sending: "Thank you. It contains no account data and cannot be used to sign in as you."

What redaction removes

Redaction happens on your computer before you see the preview. The server applies the same redaction again on arrival.

Removed Replaced with
Tokens that look like JWTs (three dot-separated base64 segments) <redacted-token>
The --accessToken launch argument, and the --session, --uuid, --xuid and --clientId arguments <redacted>
Legacy session strings (token:…:…) token:<redacted>
Bearer … and XBL3.0 … authorization values <redacted>
Key and value forms such as access_token=…, "refreshToken": "…", id_token, identity_token, user_token <redacted>
Xbox RPS tickets (d=…) <redacted>
Xol access keys (xolkey_…) <redacted-key>
E-mail addresses <email>
IPv4 and IPv6 addresses. 127.0.0.1 and 0.0.0.0 stay, because they identify nobody and matter when reading a log. <ip>
Your home folder path, in every spelling (forward slashes, backslashes, escaped backslashes) <home>
Any other user's profile folder under C:\Users\, /Users/ or /home/ <user>

The privacy policy also says that chat lines are dropped from crash reports. The launcher's own redaction, listed above, does not remove them, so chat can appear in the preview. The service applies its redaction on arrival and reports how many lines it dropped. If a preview shows chat you do not want to send, do not send it.

Retention

Crash reports are deleted after 30 days. Server logs are kept for 14 days.

The support log

Settings ▸ Support ▸ Export support log… writes one text file to a place you choose. It is never sent anywhere by Xol; you decide whether to attach it to an e-mail. It goes through the same redaction as above.

Part Contents
Header Time of export; launcher version and the Electron version; operating system, release and architecture; CPU model and core count; installed memory
Configuration Selected profile and its state; instance name; preset; memory; whether a custom Java is set (yes or no, not the path); extra JVM arguments; profile manifest revision and whether it is the bundled or the remote one; how the last game run ended
Crash report The last crash report, if there was one, up to 4,000 lines
Game log The end of the most recent game log, up to 4,000 lines and 1.5 million characters. If earlier lines were left out, the log starts with "(earlier lines omitted)".

A game log can contain chat, server addresses by name and player names, because the game prints them. Read the file before you send it to anyone. Details on Support log and crash reports.

What is stored on your computer

What Where Protection
Microsoft refresh token, Minecraft access token accounts.json in the data folder Sealed by Keychain or DPAPI. Without a secure store, Xol refuses to save them.
Xol access key service.json in the data folder Sealed the same way. Never shown again after saving.
Launcher settings launcher.json Plain JSON. Contains no credentials.
Client settings xol/config.json in each Xol instance Plain JSON. Modules, settings and layouts only.

Paths are on File locations.

Your choices

  • Remove your account in Xol at any time; revoke Xol's access at account.microsoft.com.
  • Leave diagnostics off, or switch them off again in Settings ▸ Support.
  • Remove your access key in Settings ▸ Service. "The key was removed from this computer."
  • Ask for a copy or deletion of anything tied to your access key or e-mail address by writing to contact@xol.dev. The policy promises an answer within 30 days.

This documentation site

This site sets no cookies and loads nothing from any other origin: no fonts, scripts, images or trackers from third parties. Search runs in your browser against an index served from this site.