Privacy Policy
Polaris is local-first. Your accounts, instances, settings, logs, cosmetics and shards live on your computer. We do not use analytics or advertising SDKs, and we do not sell data. The only data that leaves your machine is the network traffic needed for the features you use.
1. Who we are
Polaris Client is an open-source project maintained by Polaris Client Contributors. We are not a company, and we do not operate a commercial account service. For privacy questions or requests, open an issue at github.com/eddddiwe/polaris-client.
2. Data stored on your device
Polaris stores its data in %APPDATA%\Polaris on Windows or
~/.config/Polaris on Linux. A portable.txt file next to the executable
switches storage to a data folder beside the app. This data stays on your machine
unless a feature below sends it:
| Data | Where | Why |
|---|---|---|
| Settings | settings.json | Java path, appearance, wallpaper, update and privacy preferences. |
| Accounts | accounts.json | Minecraft profile, UUID, friend code, access token and refresh token. Tokens are encrypted with the OS credential store (DPAPI, Keychain or libsecret) where available; systems without an encryption backend fall back to a marked plaintext value so login still works. |
| Friends cache | friends.json | A local copy of your friend list so the Friends page can render offline. |
| Instances | instances/ | Minecraft files, mods, saves, logs, options and per-instance PolarisConfig settings. |
| Logs | logs/ | Launcher diagnostics. Logs are not uploaded automatically. |
| Downloads | downloads/, cache/ | Installers, libraries, assets and mods you asked Polaris to download. |
| Cosmetics and shards | settings.json | Local-only progress. Shards have no monetary value and are not transferable. |
To delete local data, remove each account in Settings, then delete the Polaris data folder. Deleting an instance removes its game files and its PolarisConfig settings.
3. Microsoft, Xbox and Minecraft
Microsoft sign-in uses the OAuth device-code flow with an Azure public-client ID that you supply.
Polaris sends the device-code and token requests to
login.microsoftonline.com, then exchanges the Microsoft token for Xbox Live and
Minecraft Services tokens. The resulting tokens are encrypted with the operating system
credential store and stored locally in accounts.json; on systems without an
encryption backend the legacy token fallback is clearly marked plaintext. Microsoft, Xbox and
Minecraft process that traffic under their own privacy statements. Offline accounts need no
network at all.
4. The Polaris API
Polaris runs a small Cloudflare Worker at
polaris-api.joykelows17.workers.dev. It is not an account service and it does not
receive your Microsoft tokens, Minecraft password or game files. It handles:
- Update and announcement checks. The launcher requests the current version. Cloudflare and GitHub process standard request metadata such as IP address, user agent, timestamp and requested URL. No account identifier is sent.
- Friend codes. If you create or add a friend, the API stores your friend code, display name, optional Minecraft UUID, friend list and pending requests in Cloudflare KV. Your code is a public identifier, not a password: a per-account secret authenticates every read or change and is stored encrypted on your device. Knowing a code alone does not grant access. Removing a friend or responding to a request updates or deletes the relevant records.
- Presence. If you enable presence sharing, the API stores your UUID, Minecraft name, current server address, friend code and a last-seen timestamp. The Friends page resolves those records only for people on your authenticated friend list, so it can show an accurate online badge. See the next section.
- Chat. If you send a message to a friend, the API stores the message text, both friend codes, your display name and a timestamp for up to 30 days, and delivers it live to your friend. Chat is friends-only and not end-to-end encrypted. See section 6.
- Abuse and attack investigation. When your launcher registers or updates your friend profile — for example, when you open Friends — the API stores the most recent authenticated IP address for that profile for up to 30 days. It exists so we can investigate reported abuse and attacks, including DDoS attempts, and correlate an account with its last known network address. It is not an access log: only the latest address is kept and older values are overwritten. It is not shown to other players, is not part of the friend or presence payload, and is not used for advertising, analytics or profiling.
The API does not run an analytics pipeline, does not log request bodies for advertising, and does
not use your data to train models. The former /v1/telemetry route has been removed;
the launcher has no telemetry setting because it does not send telemetry.
5. Presence sharing
Presence is the feature behind Polaris user badges. When it is on, the bundled PolarisConfig mod
sends your UUID, Minecraft name and current server address to the API roughly every 20 seconds
while you are connected to a multiplayer server. Other signed-in Polaris clients can read the
per-server list to show a [P] marker; friend presence lookups are restricted to your
authenticated friend list. Entries expire automatically after about two minutes.
Presence is off by default as of 0.4.0. You can enable or disable it at any time under Right Shift → General → Share presence & show badges. Disabling it stops new posts immediately; the last entry expires within two minutes. Presence is not sent in singleplayer. The per-server list is available to authenticated Polaris clients, while UUID lookups return only friends, so treat the server list as visible to other Polaris users while presence is enabled.
6. Chat messages
Chat is one-to-one and limited to people on your authenticated friend list. There is no public or global room. When you send a message, the API stores the message text, your friend code, the recipient's friend code, the sender display name and a timestamp in Cloudflare KV so the conversation survives a restart. Live delivery uses a Cloudflare Durable Object that holds only open connections; it does not keep a second copy of your history.
Stored messages expire automatically after 30 days and are not sold or used for advertising, analytics or model training. Chat is not end-to-end encrypted. Messages are encrypted in transit with HTTPS/WSS, but the API can read stored messages while they exist, in the same way it processes friend codes and presence. Do not send passwords, tokens or other secrets through chat.
The live connection authenticates with a short-lived ticket issued to your account; your friend secret is never placed in a URL or a WebSocket address. Message history is readable only by the two participants. Individual messages cannot be deleted from the app yet; they disappear when their 30-day lifetime ends.
The bundled Polaris Chat mod uses a chat-scoped token issued by the Polaris API when a game instance is launched by Polaris; the token is valid for up to 12 hours. This lets friends message you in-game without giving the chat mod your account secret. It connects to the same API and shows messages on your screen; like vanilla chat, those lines are also written to the instance's chat log on disk.
The separate PolarisConfig presence mod still receives the account secret described in section 5 while a Fabric instance is running. The in-game chat mod does not receive or send that secret, and you can remove it with Settings → In-game chat mod.
7. This website
This website is a static site. It does not set cookies, does not use analytics or advertising pixels, and does not load third-party fonts or scripts. The download button points at an installer or a release page you choose to open. Our hosting provider may process standard request logs (IP address, user agent, requested URL, timestamp) to serve the site and protect it from abuse.
8. Third-party services
| Service | When | Data |
|---|---|---|
| Microsoft / Xbox / Minecraft Services | You sign in with a Microsoft account | OAuth device code and tokens, Xbox and Minecraft profile data |
| Mojang version metadata | Installing or launching the game | Version and asset requests; standard request metadata |
| Fabric meta | Installing or updating Fabric | Loader and game version requests |
| Modrinth | Searching, installing or updating mods and packs | Search queries, project and version requests |
| GitHub | Update checks and downloads | Release metadata requests; downloads if you install from GitHub |
| Cloudflare | All Polaris API calls | Request metadata and the API records described above |
Each service processes data under its own policy. We choose services that are necessary for the feature you are using; we do not add advertising or data-broker SDKs.
9. Retention and deletion
- Local files remain until you delete them.
- Friend lists and pending requests update when you remove a friend; the public profile record tied to your code remains until you ask us to delete it.
- Presence records expire automatically after about two minutes.
- Chat messages expire automatically after 30 days and are readable only by the two participants while stored.
- The most recent authenticated IP for a friend-code profile is overwritten on the next profile update and automatically expires after 30 days.
- Version-check requests are transient; we do not build a profile from them.
- Hosting logs are retained according to the hosting provider's policy.
10. Security
Network requests use HTTPS. Account tokens are encrypted with Electron safeStorage and
the operating system credential store where available. On systems without an encryption backend,
legacy tokens use a clearly marked plaintext value protected by your OS account permissions, so
use full-disk encryption and a locked OS account if you need protection at rest. Friend API
secrets never use that fallback: if encryption is unavailable, friends and presence stay
disabled. No system is perfectly secure, and we cannot guarantee that a compromise will never
occur.
11. Children
Polaris is not directed at children under 13. Minecraft and Microsoft accounts have their own age requirements. If you believe a child has sent personal data through the friend or presence features, contact us and we will remove it.
12. Your rights
Depending on where you live, you may have rights to access, correct, delete, restrict or object to the processing of your personal data, and to lodge a complaint with a supervisory authority. You can exercise most of these directly:
- Delete local data by removing accounts and deleting the Polaris data folder.
- Remove a friend in the Friends page, which updates the API records.
- Disable presence sharing under General.
- Chat messages cannot be deleted individually yet; they expire after 30 days.
- Ask us to delete a friend-code record by opening a GitHub issue.
We do not sell personal data and we do not use it for targeted advertising.
13. International transfers
Cloudflare, Microsoft, GitHub and the other services above operate globally, so your data may be processed outside your country. They apply their own transfer safeguards. The Polaris project itself does not maintain a separate data warehouse.
14. Changes
We will update this page when the app's data flows change and revise the effective date. Material changes will be called out in the release notes. Continuing to use Polaris after a change means you accept the updated policy.
15. Contact
Privacy questions and deletion requests: github.com/eddddiwe/polaris-client/issues. Please do not include access tokens, passwords or other secrets in a public issue.
Polaris is not affiliated with Mojang Studios or Microsoft. Minecraft is a trademark of Mojang Synergies AB. This policy covers the Polaris launcher, its bundled mods and this website; it does not cover Minecraft, Microsoft, Modrinth or any other third-party service.