Sour Client — Privacy Policy

Effective date: 2026-08-21 Policy version: 2026-08-21.2 Operator / data controller: sourama (an individual, New Zealand) Contact: contact@sourclient.com Official site: https://sourclient.com

This policy describes what the Sour Client launcher, game-side mod, and backend actually collect and do with it. It is written against the real code paths (audited 2026-07-11); nothing is collected beyond what is listed here.

Changed on 2026-09-06: Terminology only. What this document used to call a cape is now called a cloak, throughout — the same feature, the same data, the same handling. Nothing about what is collected, shared, or retained changed, and no new collection was introduced. Two things are deliberately NOT renamed: the endpoint paths (/cape/<uuid>.png and the others), because those are the real URLs and renaming them here would document routes that do not exist; and the reference in section 4 to the official-Minecraft-cape check, which screens uploads against Mojang's own capes and is named accurately.

Changed on 2026-08-21: Two disclosures, both of things already happening.

1. Section 4 (Sharing) now names the content-moderation provider that uploaded cloak images are screened by. 2. Section 1.1 now describes your public profile — the playtime, join date, plan and cosmetics behind the players page — and the switches that control it. This was already being collected and published and was not described here, which also made one line in section 1.2 wrong: it said playtime "is not uploaded", and the launcher has been reporting it to the backend. That line is corrected rather than removed, because a policy that quietly drops a claim it used to make is harder to check than one that says what changed.

No new collection was introduced by either change; both close a gap between this document and the code.

Also changed on 2026-08-21 (second revision), again all disclosure of things already happening — no new collection:

3. Section 1.1 now names the third party your skin is loaded from (minotar.net) and says plainly that it receives the IP address of anyone viewing the page, not only the player whose card it is. The old wording said "a third party" without naming it and described it from the wrong side. 4. Section 1.1's public-profile table now separates what the API publishes from what the player page draws, because the page stopped drawing the owned-cosmetics list on 2026-08-21 while the API kept publishing it. The switch that governs it did not change. 5. Section 4 (Sharing) and 1.4 now name Lemon Squeezy as the payment provider and merchant of record, instead of describing payments as hypothetical. Payments are live. 6. Section 5 (Retention) now lists two stores it was silent about: the staff audit log, and the cloak moderation record — which includes the UUID of anyone who reports a cloak. 7. Section 6 (Your rights) now offers objection, restriction and portability, which were missing, and Section 9 explains our position on an EU Article 27 representative.

1. What we collect and why

1.1 Sour Client backend (cloak sync / accounts) — data sent to sourclient.com

DataWhere it comes fromWhyStored?
Minecraft UUID and usernameSent by the launcher/client when you sign in to the cloak service (/auth/begin, /auth/complete)Proving you own the Minecraft account (via Mojang's join-server handshake) and keying your cloak to your playerYes — in short-lived auth challenges, in signed session tokens, and as the filename of your cloak (<uuid>.png)
IP addressAutomatic on any connectionRate limiting (abuse prevention) and server logsTransiently in memory for rate limiting; may appear in server logs
Cloak image you uploadYouDisplaying your cloak to you and other Sour Client users, once it has been screened (see the Content Policy)Yes — until you delete or replace it
Session tokenMinted by the backend after Mojang verificationKeeping you signed in (expires automatically)Signed token held by your launcher; secret key on the server

Authentication works by the standard Minecraft server-join handshake: the backend asks Mojang's session server to confirm your account performed the join. We never see or store your Microsoft/Minecraft password or Microsoft access token on the backend.

Anyone using Sour Client can query whether a given UUID has a cloak and fetch that cloak image (GET /cape/<uuid>.png) — that is how cloaks are shown to other players. Your cloak image and its association with your UUID are therefore public to other users while set.

Your public profile (the players page). Signing in creates a profile on the backend that powers sourclient.com/players, where anyone can look up a Sour Client user by username.

DataWhere it comes fromWhyStored?
PlaytimeReported periodically by the launcher while you play (POST /profile/<uuid>/heartbeat)Your public card and the playtime rankingYes — as a running total
Join dateThe first time your account contacts the backendYour public cardYes
Plan (Free or Sour Gold)Your entitlementsYour public cardYes
Cosmetics you own and wearYour entitlementsYour public cardYes
Username and skinMojangIdentifying whose card it isUsername yes; the skin is loaded from a third party at view time (see below), not stored by us

"Published" and "drawn on the page" are not the same thing, and the difference is in your favour. The switches control what the backend publishes — what GET /profile/by-name/<you> returns to anyone who asks. What any given page chooses to *draw* from that is a separate, narrower thing: since 2026-08-21 the player page shows the cloak you are wearing, on a model you can turn, and the mark beside your name, and no longer lists everything you own. Your cosmetics switch still governs publication exactly as before. Nothing you switched on is published more widely than it was, and nothing you switched off is published at all.

Your skin is loaded from minotar.net, and that means minotar.net sees the visitor. The skin shown on the players page, on a player's page, and in the launcher's sign-in card is fetched from minotar.net by the browser at the moment the page is viewed. We do not store it. Two consequences worth stating plainly:

minotar.net is a third party with its own privacy policy; this one does not govern it. There is no way to view a page that shows Minecraft skins without some service being asked for the skin.

You are asked before any of this is published. The launcher shows a consent screen straight after your first sign-in, listing the four details above as individual switches plus a single switch for whether you appear on the players page at all. You can change any of it later on your account page at sourclient.com. Turning a detail off blanks it on your card; turning off the top switch removes you from the players page and from search entirely, so a lookup for your username returns nothing.

Your username and skin cannot be hidden while you are on the page — they are what a public card is. The switch that covers them is the one that takes you off the page.

Where a detail is switched off, the backend omits it rather than serving a placeholder, so the difference between "hidden" and "zero" is not inferable from the public response.

1.2 Launcher (on your device)

1.3 Optional third-party integrations (off by default, your own API keys)

1.4 What we do NOT collect

No email addresses, no real names, no passwords, and no payment card details — card data is handled entirely by Lemon Squeezy, which is the merchant of record for every purchase and operates under its own privacy policy. Card numbers never reach any Sour Client system. We receive only the fact that an order succeeded and which account it was for.

Also not collected: no telemetry/analytics, no advertising identifiers, no behavioural profiling, no targeted advertising, and nothing is ever shared with advertisers or data brokers.

2. Legal bases and applicable law

sourama operates from New Zealand, so the Privacy Act 2020 and its 13 Information Privacy Principles apply (https://www.privacy.org.nz/privacy-act-2020/privacy-principles/) — including collecting only what is necessary (IPP1), security safeguards (IPP5), access and correction rights (IPP6–7), retention limits (IPP9), and controls on cross-border disclosure (IPP12).

For users in the EU/UK, the GDPR/UK-GDPR may apply to the backend service (https://commission.europa.eu/law/law-topic/data-protection/reform/rules-business-and-organisations_en). Our legal bases are: performance of a contract (operating the cloak/account service you request) and legitimate interests (rate limiting, abuse prevention, security logging).

3. Children

Sour Client is not directed at children under 13, and the backend does not knowingly collect personal information from children under 13. Minecraft UUIDs, usernames, and IP addresses can be "personal information" under the US COPPA rule (see the FTC's COPPA guidance, https://www.ftc.gov/legal-library/browse/rules/childrens-online-privacy-protection-rule-coppa — persistent identifiers such as IP addresses count). If we learn that a child under 13 has created backend data, we will delete it. Parents/guardians can contact contact@sourclient.com to request deletion.

The Terms of Use set a minimum age of 13 to use the Service, or 16 where that is the local age of digital consent, and require a parent or guardian's permission and payment for anyone under 18 who buys something. That is a condition of use, not only a statement about who we aim at.

4. Sharing

We do not sell or rent personal information. Data is shared only:

5. Retention

6. Your rights

You can, at any time:

We answer these within 30 days. There is no charge, and using any of them never costs you access to the Service or any part of it.

7. Security

Backend transport is HTTPS. Session tokens are signed with a server-side secret. Cloak uploads are validated (PNG structure and fixed dimensions) and size-limited. Rate limits apply to auth and upload endpoints. No password database exists to breach. If a data breach occurs that risks serious harm, we will notify affected users and the NZ Office of the Privacy Commissioner as required by the Privacy Act 2020.

8. Changes

Changes to this policy will be announced via the launcher and/or sourclient.com. The current version always lives at sourclient.com and in this repository.

9. Contact, and our position on an EU representative

sourama — contact@sourclient.com

There is one data controller and it is one person, reachable at the address above. Everything in section 6 goes there.

On GDPR Article 27 (an EU/UK representative): we do not have one, and rather than leave that unexplained — a representative is what a policy is usually silent about — here is the reasoning. Article 27 requires a representative unless the processing is occasional, does not involve large-scale processing of special-category data, and is unlikely to result in a risk to people's rights and freedoms. Sour Client processes a Minecraft UUID, a username, a playtime total, a join date, an optional image you chose to upload, and server logs. It processes no special-category data at all, sells nothing to advertisers, and profiles nobody. We consider the exemption to apply. If that assessment is wrong we would rather be told than be right by default: write to the address above, or complain to your supervisory authority, and we will appoint one.