Privacy Policy
Effective October 14, 2026
CompletionLab helps you finish games. To do that it reads your Xbox achievements and keeps track of what you have left. This page says exactly what that involves — what is read, what is kept, what other people can see, and how to take it back.
CompletionLab is an independent project. It is not Microsoft, not Xbox, and not affiliated with either.
What CompletionLab gets from Xbox
When you sign in, Microsoft asks whether you want to give CompletionLab access. If you agree, CompletionLab reads:
- your Xbox user ID (XUID), gamertag and gamerpic
- your gamerscore and how long you have had an Xbox account
- the games in your Xbox history
- your achievements for those games — which you have earned, and when
That is the whole list for an ordinary sign-in. CompletionLab does not ask for, receive or store your email address, your Microsoft password, your friends or your messages. It reads nothing about your purchases or payments unless you separately turn on purchase import, which is optional and described below.
What you are authorising, in plain terms
- XboxLive.signin
- Signs you in to Xbox Live so we can read your gamertag, your games and your achievements. That is all an ordinary sign-in is used for. Only if you separately turn on purchase import does CompletionLab also use this sign-in to ask Microsoft for a purchase authorisation and read your Microsoft Store order history.
- offline_access
- Lets CompletionLab keep your library up to date in the background, without asking you to sign in again every time. If you turned on purchase import, that background sync is also when it runs. It works for as long as that authorisation stays valid — it can expire, be revoked, or otherwise stop working.
In practice that second one is what lets your library stay current while you are not looking. CompletionLab holds a refresh token and uses it to ask Xbox for your achievements on a schedule. It is not permanent, and it works only for as long as that authorisation stays valid. It stops working if you revoke CompletionLab’s access from your Microsoft account, if you delete your CompletionLab account, or if Microsoft expires or otherwise invalidates it.
What CompletionLab stores
- Your account — XUID, gamertag (and previous gamertags, so your history survives a rename), gamerpic, gamerscore, and your settings.
- Your games and achievements — which games you have played, which achievements you have earned and when, and your completions.
- Anything you enter yourself — manual progress ticks, collectible checklist ticks, the games in your 20, the game you are currently completing, and any guide, report, Feedback post, comment or forum post you write.
- Your sign-in — a session, which records your browser’s user-agent string and an expiry date, and your encrypted Microsoft refresh token.
- A record of each sync — when it ran and whether it worked, so failures can be diagnosed and retried.
- Purchase records, only if you turn on purchase import — a few facts about each game or add-on you bought, listed below.
Microsoft Store purchase import (optional)
Optional. When you turn it on, CompletionLab reads your Microsoft Store order history after your Xbox sync, keeps a few facts about each game or add-on you bought, and discards the rest.
How it works:
- It uses the Microsoft sign-in you already gave CompletionLab for your Xbox library. There is no new Microsoft sign-in for it.
- With that sign-in, CompletionLab asks Microsoft for an authorisation specific to purchases, and uses it to request your order history from Microsoft's order-history service. These requests are made with your Microsoft account each time an import runs.
- Microsoft does not show you a separate permission prompt for this. CompletionLab asks for your agreement instead.
- Nothing is requested until you tick the agreement box and turn purchase import on. Signing in does not turn it on.
You turn it on, turn it off or disconnect it in profile settings.
Microsoft’s order responses can include:
- product and transaction details
- prices, dates and currencies
- payment-method references and tokenised payment information
- billing and sold-to address references
- device identifiers
- purchaser and beneficiary account identifiers
- order and transaction identifiers
CompletionLab keeps only:
- the Store Product ID of what you bought
- when you bought it
- the amount you were charged and its currency, when it can be attributed reliably
- whether it was refunded or cancelled
- a little bookkeeping about the import itself: when records were first and last seen, and how much of your history has been read
Everything else - payment, address, device, account and order identifiers, titles and list prices - is discarded while the response is processed. It is never stored and never logged.
- Purchase import is optional, and separate from signing in with Xbox.
- Your purchase records are private to you. They never appear on your profile or anywhere public.
- Administrators cannot browse anybody's purchase history; they see only site-wide totals.
- Purchase information is never sold, never shared with advertisers and never used for advertising.
- A purchase record shows that something was bought. It does not prove you still hold an active licence for it.
- This is an unofficial integration. Microsoft's order-history service is not publicly supported for third-party apps like CompletionLab. Microsoft may restrict, refuse or discontinue access at any time, and CompletionLab cannot promise it will keep working.
- Turn off future imports at any time. Records already imported are kept until you delete them.
- Disconnect and delete at any time. This stops imports, withdraws your agreement, and immediately and permanently deletes your purchase records and the history of your imports. Nothing is imported again unless you link your purchases and agree again.
- Copies in older database backups remain until those backups are rotated out, and anonymous counts of import runs, which do not name you, are kept.
- Deleting your CompletionLab account deletes all of it too.
To withdraw CompletionLab’s access at Microsoft, use your Microsoft account’s app permissions.
- Removing CompletionLab there withdraws all of its access to your Microsoft account: your Xbox connection and library syncing stop too, not only purchase import.
- To stop only purchase import, use CompletionLab's purchase import controls in profile settings instead. Disconnecting purchase import on CompletionLab does not remove its access at Microsoft.
What it is used for
Keeping your library current, working out what you have left in a game, recording completions, showing your profile and your Hall of Completions, marking up guides with what you have already earned, and keeping the service running and secure.
CompletionLab does not sell your data. It does not share it for advertising. There is no advertising network, no analytics service, no tracking pixel and no third-party script on this site — not as a policy promise, but because none is installed.
What other people can see
Profiles are public by default. A public profile shows your gamertag and gamerpic, your achievements and when you earned them, your rarity collection, your completions and Hall of Completions, the games you have played, and the game you are currently completing.
You can change this whenever you like in profile settings: set your whole profile to signed-in members only, or to private, and keep your games, Hall, rarity and contributions pages to yourself. Which sections your profile shows is yours to choose in Customize Profile. Neither deletes anything.
Some things are never public, whatever your settings:
- your Microsoft credentials and your tokens
- your sessions and sync errors
- your purchase records, if you import them — private to you; administrators see only site-wide totals
- your manual progress — achievements you tick off yourself are yours alone. They are never published, and they never count as Xbox-confirmed. Everything CompletionLab shows publicly as an accomplishment comes from evidence Xbox returned.
Cookies
CompletionLab currently uses two cookies, both essential to signing in.
- session — identifies your sign-in. It lasts 30 days and is deleted when you sign out.
- oauth_state — holds one sign-in attempt together securely, and expires after ten minutes.
Both are httpOnly, so page scripts cannot read them. CompletionLab does not currently use advertising or analytics cookies, and there are no tracking scripts on the site.
Your IP address is not stored. It is used in memory for a few seconds to rate-limit searches from signed-out visitors, and it is not written to the database.
Who else is involved
CompletionLab is a small site and does not hand your data around, but two things are worth being straight about:
- Microsoft — CompletionLab reads your achievements from Xbox services, and your Microsoft Store order history if you turn on purchase import, so Microsoft necessarily knows about that.
- Images from Xbox — box art, hero images and gamerpics are loaded by your browser directly from Microsoft’s image servers rather than copied onto this site, so those servers see your IP address and browser, exactly as they would if you visited the Microsoft Store. That happens on any page showing artwork, whether or not you are signed in.
- Hosting — the site runs on a rented virtual server at DigitalOcean, and the database sits on that machine. There is no content delivery network in front of it.
Keeping it safe
Your Microsoft refresh token is encrypted before it is stored, using AES-256-GCM with a key that is held in the server environment and not in the database — so a copy of the database alone does not hand somebody your Xbox account. Sessions are random identifiers checked against the server on every request, so signing out ends a session immediately rather than waiting for it to expire. The site is served over HTTPS.
No service can promise it will never be breached, and this one does not.
Keeping and deleting your data
CompletionLab keeps your data while your account exists. Sessions expire after 30 days.
You can delete your account at any time from profile settings. It is immediate, and there is no grace period. It removes your account, your gamertag history, your stored Microsoft authorisation, your games and unlock records, your manual progress and settings, your completions, your votes, your reports of forum posts, your sync history, and your imported purchase records and purchase-import choice.
Some things you published deliberately survive, with you taken off them. Guides you published stay readable, credited to Deleted — somebody may be part-way through a guide you wrote, and deleting it would take it from them. Your Feedback submissions and comments, and your General Discussion threads and replies, stay published too, credited to Deleted, because they are part of public discussions. None of them shows your gamertag, gamerpic or a link to your profile any more. Reports you filed about a guide are kept without your name. Anything you deleted yourself before deleting your account stays deleted: deleting your account does not bring it back.
You can also disconnect purchase import and delete your purchase data on its own, from the purchase import settings. That stops imports, withdraws your agreement to purchase import, and immediately and permanently deletes your purchase records and the history of your imports. Nothing is imported again unless you link your purchases and agree again. Turning importing off instead keeps the records until you delete them. Backups follow the caveat below.
And the shared game and achievement catalogue is not yours to delete: it describes games, not people.
One honest caveat: backups take a while to catch up. The database is backed up so that a server failure does not lose everyone’s progress, and a backup taken before you left still contains your data until it is rotated out. Deletion is immediate in the running site; it is not instant in every copy of it.
Deleting your CompletionLab account does not change anything at Microsoft. To withdraw CompletionLab’s access to your Xbox account, do that in your Microsoft account privacy settings, at https://account.live.com/consent/Manage. You can revoke it there at any time. Revoking it stops library syncing and purchase import alike.
Children
CompletionLab does not ask your age and has no way to tell how old you are. It is built for Xbox players generally. If you are old enough to have a Microsoft account that you control, you are old enough to use this.
Changes
CompletionLab is in public alpha and will change. If this policy changes in a way that affects what is collected or who can see it, the effective date above changes with it.
Contact
Questions about any of this: support@completionlab.gg. See Contact for what to send where.