Privacy Policy

Last updated: October 24, 2026

1. Who we are

SoulLock.gg is operated by a limited liability company organized in the United States. In this policy "SoulLock", "we", "us" and "our" mean that company and the SoulLock.gg service it runs. That company is the controller of the personal data described here, which means it decides how and why that data is used. You can reach it at the email addresses in this policy.

This policy covers the SoulLock.gg website, the optional SoulLock desktop app (the "Desktop App") and the SoulLock Discord server and its bot (together, the "Service"). It explains what we collect, why, who we share it with, how long we keep it and what you can do about it. Section 5 is for people who play Deadlock but have never used SoulLock, because we hold some data about them too.

SoulLock.gg is not affiliated with or endorsed by Valve Corporation. For anything about this policy or your data, email privacy@soullock.gg.

2. Information you give us

2.1 Your account

You can sign in with Steam, Google, Discord, or an email address and password. What we store depends on how you sign in:

  • With an email address and password, we store the email address and the password, which Google Firebase Authentication keeps in hashed form. We never see the password itself.
  • With Google, we store the email address, name and profile picture of your Google account.
  • With Discord, we store the Discord details listed in 2.4, and your Discord email becomes your account email.
  • With Steam, Steam confirms your Steam ID to us on its own sign-in page, so we never see your Steam password. We store your Steam ID with the name and avatar from your public Steam profile.

When you link or claim a Steam account, we record which login owns it. One login can own several Steam accounts. A claimed profile can also hold a short bio and an accent color you choose, your messaging preference (who can message you) and your email preferences. Section 10 explains which of these anyone can read. We use your email address to identify your account and to answer you when you contact us. We do not send newsletters or marketing email.

When you accept the Terms of Service and this policy on the Terms screen, we record against your login which version you accepted, when, where you accepted it (the website, the Desktop App, or the Desktop App before you signed in) and the version of the site. That is our record that you agreed. It is kept until you delete your account and is included when you download your data. If you accept on the Desktop App before signing in and then sign in within a day, the record is made for that login. The Desktop App also keeps the version accepted on your PC in a small file in its data folder.

2.2 Your List

When you flag a player as liked or disliked, we store against your account that player's Steam ID, the name they used, and for each game you log with them the match, the hero they played and their rank at the time, plus any note you write. When you flag a player from your live roster, their rank at that moment is saved with your note. In the Desktop App with the Live Game Reader on, that rank can be the one the reader read from the game.

Nobody can see who flagged them or what you wrote. We count, without names, how many Lists a player is on as a like or a dislike. A player who has claimed their profile can see their own totals, and players liked by enough people get a public Well-Liked badge. If you share your List with another account that accepts your invite, everyone in the group can read and edit all of it, and an account that leaves the group keeps a copy.

2.3 Queue alerts by text message or Discord

Queue alerts tell you about your own Deadlock matchmaking queue while you are away from your PC: when a match is found, when Deadlock is about to remove you from the queue for being idle, and when it has. They need the Desktop App, which is what notices these events (see 4.2 and 4.5). You choose where alerts go: a Discord direct message from our bot, a text message, or both. Discord alerts use only your Discord user ID.

Text alerts are part of Pro and go only to verified mobile numbers in the United States and Canada. We send a one-time code to the number you give us and only use the number once you enter that code back, so nobody can sign up a number they do not hold. Codes last 10 minutes. A number you have not verified is deleted within five minutes of its code expiring, or straight away if you delete your account. To turn text alerts on you tick a box agreeing to the following:

"I agree to receive automated text messages from SoulLock.GG about my Deadlock matchmaking queue: when a match is found, when Deadlock is about to remove me from the queue for being idle, and when it has. An idle warning may be followed by a second text with a link to keep me in the queue. I also agree to a confirmation text when alerts are turned on, and to verification codes and test messages I request. Message frequency depends on how often I queue. Message and data rates may apply. Reply STOP to cancel or HELP for help. Terms: soullock.gg/terms. Privacy: soullock.gg/privacy."

After you verify your number we send one text confirming that alerts are on. Amazon, which delivers the texts, does not deliver them to a number that has opted out. We also ask Amazon whether the number has opted out before every text we send: verification codes, alerts, test texts and the confirmation text. If Amazon does not answer, we still try to send, and Amazon still does not deliver to a number that has opted out. If a number you verified before has opted out and you agree to the texts again and ask for a new code, we ask Amazon to accept texts to it again. Reply STOP to any message to stop them, or HELP for help. Each subscriber has a budget of texts for each billing period and a daily limit on alert texts, which counts 24 hours from the first alert. Once the budget is used up, no more texts are sent until the next period; once the daily limit is reached, no more alert texts are sent until its 24 hours are up. If a text cannot be delivered and you have linked Discord, we send the alert to you there instead. To avoid sending the same alert twice, we keep the time of your latest alerts and the ID of the last match we told you about.

Idle alerts are sent only when the Desktop App's setting for Deadlock's idle warning is "Notify me" (see 4.2). Every idle alert we send by Discord or by text carries a "Keep me in queue" link, which asks the Desktop App on your PC to keep you in the queue (see 4.2). On Discord, including when an alert goes there because a text could not be delivered, the link is part of the alert message. By text it is part of the idle warning text itself. If the link cannot be made, the warning is sent without it.

We keep your verified number while text alerts are on. Switching text alerts off (choosing Discord only, or off), or using Remove my number in Settings, deletes the number from your alert settings. Separately, we keep a record of your consent: the number, the time you agreed, the exact wording you agreed to, the IP address the agreement came from, your Steam ID and account ID, when we last texted the number and when the consent ended. If you had replied STOP before agreeing again, the record also says so and when we asked Amazon to accept texts to the number again. That record is kept in its own restricted store, including after you delete your account, as evidence that the texts were authorized, so it still links the number to your Steam ID after your account is gone. A daily cleanup deletes it four years after the later of when you agreed and the last text we sent to the number, but never while that number is still set up for your text alerts. We use your number only for the messages described here. We never use it for marketing and never share or sell it, except with Amazon Web Services to deliver the texts.

2.4 Discord

If you sign in with Discord or link a Discord account, we store your Discord user ID, username, display name, avatar and email address. Signing in or linking also adds you to the SoulLock Discord server, which Discord asks you to approve. While you have Pro, our bot may give you a Pro Subscriber role in that server, which other members can see. You can leave the server at any time. You can unlink Discord in Settings. A login created with Sign in with Discord cannot be unlinked there; to remove Discord from it, email privacy@soullock.gg or delete your account. Unlinking does not remove you from the server.

2.5 Pro payments

Pro is offered to customers in the United States and Canada. Payments are handled by Stripe on its own checkout and billing pages, so we never see or store your card details. Stripe tells us your Stripe customer and subscription IDs, the status of your subscription and when the current period ends, and we store those with your account.

2.6 Other things you send us

  • If you join the LFG waitlist, we store your account ID, Steam ID and display name, so we know who asked to hear when it opens.
  • If messaging is available to you, we store the messages you send and receive and who you have blocked. If you report a message, we store a copy of it with both accounts' IDs so we can review it.
  • If you email us, we use what you send to answer you.

3. Information we collect when you use SoulLock

3.1 Player and match data

SoulLock shows statistics for Deadlock players. For each Steam account it shows, it gets public Steam profile data (Steam ID, name and avatar) from the Steam Web API, and Deadlock data (rank, match history, heroes, items and results) from Valve's Deadlock game coordinator, which we query through our own Steam accounts, and from community data services such as deadlock-api.com. This applies to your Steam account whether or not you sign in. Section 5 explains what this means for players who don't use SoulLock, and section 10 lists what is public.

3.2 Who you played with (encounters)

When you are signed in and SoulLock shows your own live match or processes one of your finished matches, on the website or in the Desktop App, it records against your account each other player in that match: their account ID, the hero each of you played, whether they were on your team, the result, the time and the match ID. It keeps this for your ten most recent matches with each player, plus how often you have played with and against them. The record also keeps the Steam name each player was using in that match, so you can recognize them after a rename. Ranked badges and your private notes are not part of it. This is what lets SoulLock tell you that you have played with someone before. Only you can see your encounter records, and they are kept until you delete your account.

3.3 Security signals

To protect our servers from bots and abuse, every page of the website and of the Desktop App runs Google reCAPTCHA Enterprise through Firebase App Check. It collects information about your browser, your device and how you use the page so it can check that requests come from a real browser or the real app. It runs whether or not you accept analytics or advertising cookies, because the Service does not work without it. Our servers also use your IP address, in memory, to limit how often sign-in and billing requests can be made.

3.4 Server logs

When your browser or the Desktop App calls our servers, Google Cloud logs the request, including your IP address, the address requested (which can include Steam IDs, match IDs or a name you searched for) and your browser or app version. Some of our server code also logs Steam IDs and account IDs. We use these logs to run, debug and secure the Service, and they are deleted after 30 days.

The game-data server we run ourselves logs the lookups it handles (match IDs and scrambled player IDs). It does not log the text typed into player search. Its logs are kept until newer entries overwrite them, at most about 30 MB of log in total, and for no longer than 14 days. When that server runs on Google Cloud instead, its logs are server logs as described above. We also cache player search results in our database, filed under the name searched, so that repeated searches are fast. These cache entries are not linked to you or your account.

3.5 Analytics

If you accept analytics cookies, Google Analytics records the pages you visit, the features you use and when, and basic device information such as browser type, operating system and screen size. Page addresses can include the Steam IDs of player pages you look at. We do not give Google Analytics a user ID, so it does not link your visits to your SoulLock account. Nothing is recorded unless you accept (see 8.2).

4. The Desktop App

The Desktop App is optional. You do not need it to use the website. It shows SoulLock in its own window and adds features a browser cannot provide, such as live match and camp timers, queue alerts and automatic discovery of your own matches. To do that it reads some information on your PC. Everything in 3.3 to 3.5 also applies inside the Desktop App. Most of what follows works only on Windows. None of it starts until you have accepted the Terms of Service and this policy, which the Desktop App shows the first time it starts on a PC. Before that it only opens its window, remembers its size and position, and loads soullock.gg to show you the Terms, where the security check in 3.3 runs as on any page.

4.1 What it reads on your PC

  • Deadlock's console log. Deadlock writes this log when it is started with the -condebug launch option. The app reads only the lines about matches and matchmaking, such as your own account ID, match IDs, a match starting and ending, the match clock and pauses, joining and leaving a queue, and Deadlock's idle warning.
  • Steam's setup. The app finds where Steam and Deadlock are installed, including your other Steam library folders. It reads Deadlock's launch options from the local settings file of the Steam account signed in on your PC, to see whether -condebug is set and whether that account has played Deadlock. It also checks whether Deadlock and Steam are running by looking for those two programs. Nothing from this is sent to us.
  • Steam's local cache. The app reads Steam's cache files on your PC to find the IDs of your own recent matches.
  • Which Steam account is signed in. The app reads Windows' record of the Steam account signed in on this PC, and that account's display name from Steam's local login file. It uses them to label your matches, to switch SoulLock to that account if you have claimed it, and to refresh that account's public profile when its name changes. The display name itself is not sent to us.
  • Where the Deadlock window is. While the app runs on Windows it checks a few times a second whether a Deadlock window exists, whether it is minimized or in front, its position and size on screen, and whether Windows reports a full-screen game. To find it, it checks which program owns each visible window. This places the in-game overlay (not yet generally available), and lets "Move my mouse" and a "Keep me in queue" link find the Deadlock window and tell whether it is in front (4.2). It runs whether or not the Live Game Reader is on. No window titles, contents or keystrokes are read. Apart from the app's answer to a "Keep me in queue" link (4.5), nothing from this is sent, and the only thing stored is the local idle log (4.2).
  • How long the PC has been idle. While Deadlock's idle warning is showing, and when a "Keep me in queue" link is opened (4.2), the app asks Windows how many seconds have passed since the last keyboard or mouse input on the PC, to tell whether anyone is using it. It does not see what that input was. The only part sent to us is whether someone was using the PC, as part of the app's answer to the link (4.5).
  • Other software on your PC. When it starts, the app checks whether the Discord app is installed, so Discord invite links open in it. So that streamer mode's automatic switch (on by default) can hide your phone number and email on screen, the app checks every 10 seconds, by looking through the list of running programs, whether streaming software such as OBS is running. Versions 1.4.31 to 1.4.36 of the app make this check whenever they are running, even with the switch off. Later versions check only while the switch is on. Neither result is stored or sent.
  • Deadlock's memory, but only for the queue idle check (4.2) and, if you turn it on, the Live Game Reader (4.3).

4.2 Queue idle check, "Move my mouse" and "Keep me in queue"

On Windows, while the console log shows that you are in a matchmaking queue, the Desktop App reads Deadlock's memory once a second, read-only, and keeps one fact from it: whether the game is showing its warning that you are about to be removed from the queue for being idle. It also watches the console log for the same warning. This runs whether or not the Live Game Reader is on and stops when the queue ends. When the warning appears, the app does what you chose for it (below). It also notes, in memory, when the warning appeared, so it can act on a "Keep me in queue" link (below). It also keeps a short log on your PC, so a lost queue can be looked into: when each queue started and ended, when the warning appeared and closed, whether Deadlock was in front or minimized and whether someone was using the PC at the time, and what the app did about it. The log is not sent anywhere. Nothing else it reads is stored or sent.

The Desktop App's setting "When Deadlock's AFK warning appears" has three choices: "Move my mouse", "Notify me" and "Do nothing". It is "Notify me" until you choose, and it is set to "Move my mouse" the first time you turn on queue alerts in the Desktop App's alert setup, where it is shown already chosen so you can change it.

  • "Move my mouse": the app answers the warning for you, for a few warnings per queue at most, and sends no idle alert. It puts the cursor near the middle of the Deadlock window and moves it a short way at the operating-system level. If Deadlock is behind another window or minimized and nobody has used the PC for 20 seconds (the app's own input does not count), it first restores it and brings it to the front, pressing Alt once if Windows needs it. While the warning is still showing it tries again, a few times within the 60 seconds, each time at a slightly different spot, and from the fourth try it also taps Alt. It holds off while anyone is using the keyboard or mouse. If someone is using another window, it first sends Deadlock's window mouse-move messages without changing which window is in front. If the warning stays up, it waits until the keyboard and mouse have been still for about a second, brings Deadlock to the front for a fraction of a second to move the mouse, and then puts the cursor and the window that was in front back where they were. If the warning is still showing after the last try, it shows a desktop notification. It never clicks. That is automated keyboard and mouse input. Valve's Steam Subscriber Agreement restricts automation, and you choose this at your own risk (see our Terms of Service).
  • "Notify me": the app sends no input. It shows a desktop notification, and if you turned on queue alerts (2.3) it sends you an idle alert as soon as nobody is using the PC, and tells you if Deadlock then removes you from the queue.
  • "Do nothing": the app neither moves the mouse nor notifies you.

Every idle alert sent by Discord or by text carries a "Keep me in queue" link (2.3). The link works for 15 minutes, up to 6 times and at most once every 10 seconds, and it stops working once the app reports that the warning has closed. You do not have to sign in to use it, so anyone who has the link can use it until then. Opening it sends a command, through our servers, to the Desktop App on your PC, and the page you opened shows the result. The app listens for these commands only while you are signed in and in a queue. It acts only if you are still in the queue, Deadlock's idle warning appeared in the last 70 seconds, and there has been no keyboard or mouse input on the PC for 20 seconds, apart from the app's own mouse movements. To check that, it reads how long the PC has been idle; it does not see what was typed or clicked. If all of that holds, it restores Deadlock if it is minimized, brings it to the front (with a synthetic Alt keypress if Windows will not otherwise allow that), puts the cursor near the middle of the Deadlock window and moves it a short way. It never clicks, and if Deadlock cannot be brought to the front it moves nothing. It then reports back whether that worked (4.5). This works whichever choice the setting has. It is also automated input, made because you opened the link, and you open the link at your own risk (see our Terms of Service).

For each link we store only a hash of its code, never the code itself, with your account ID, when it was created and expires, how often it was used and when it was last used. We also keep the last command sent to your PC and the app's answer (4.5). Like any request to our servers, opening the link is recorded in our server logs (3.4), which include the address opened. Section 12 says how long each of these is kept.

4.3 Live Game Reader (optional, off by default)

If you are signed in, turn on the Live Game Reader in Settings and accept its in-app notice, the Desktop App reads Deadlock's memory on your PC, read-only, to show live match information without delay. It does not write to the game's memory, inject code into the game or modify it. To find the values below it has to scan through the game's memory, but these are the only things it takes out.

As far as we can tell, other Deadlock companion tools, including Overwolf's, also read the game while it runs. Valve has not approved or endorsed this for SoulLock or, as far as we know, any other app. Deadlock has no official live-data interface like the Game State Integration Valve offers for Counter-Strike 2. If Valve releases one for Deadlock, we plan to use it in place of memory reading for whatever it covers.

Specifically, it reads: the match clock, pause and game state, match identifier, game mode and queue type, Street Brawl round timing, objective state (Unstable Rift, Mid-Boss, the Rejuvenator crystal, each team's Rejuvenator credits, each jungle camp's entry on the game's minimap, meaning its name, type, minimap position and whether the minimap shows it as up or cleared, the map position of the Soul Urn and the Unstable Rift so the app can name the lane, and the Broker, the merchant that sells corrupted items: whether it is on the map, where it stands and how many corrupted items it has in stock), and for each player in your match: account identifier, in-game name, hero, team, scoreboard slot, ranked badge, the lane they were assigned, whether they are currently alive, their souls as the scoreboard shows them (added up per team for the Unstable Rift's comeback bonus), the items they have bought and the cooldown timers of those items, whether they hold a Rejuvenator, the cooldown timers and charges of their abilities, including their ultimate and whether it is unlocked, which abilities they have unlocked and upgraded, and the buffs and debuffs on them (which ability caused each one and when). While the in-game overlay is on, it also reads whether your own shop menu is open, so the overlay can hide while you shop. It also reads your own health and maximum health to show a Counterspell reminder when your health drops while the item is ready. These readings stay on your PC. The base reader does not read any player's position or other players' health.

For accounts with access to the restricted tester overlay, accepting its updated reader notice also allows local damage predictions. While that overlay is on, the reader can read enemy health and maximum health, barriers, damage resistance, damage modifiers and immunity; your ability charge and marks; and the aim point, player positions and collision geometry needed to match the aimed target. These extra readings and predictions stay on your PC and are not included in server uploads or diagnostic files. An earlier reader notice does not enable them. The tester overlay also uses each player's observed stamina and zipline boost state to estimate stamina and show boost cooldowns, active effects and current use when available. These status readings stay on your PC.

Some of what it shows is not on the game's own screen at that moment. For example, it can read an Unstable Rift about 20 seconds before the game announces it, so the app can warn you earlier than the game does.

What the reader reads stays on your PC, except for what 4.5 lists: your match ID; the account IDs, heroes and teams of the players in your match, which are used for rank lookups, your encounter record and any List note you write from the live roster; and the rank saved with such a note. While the reader is on, the app also rewrites a small diagnostic file in its data folder about once a second, recording whether the game is running, the match state, clock and pause state, how many players it read and how it located the game's data. It also keeps a small cache file there recording where it found the game's data for the installed Deadlock version, so it starts faster next time. Both files are for the app's own use and stay on your PC.

Your choice is saved on your PC, and you can turn the reader off at any time in Settings. If you turned it on under an earlier version of its notice, the app asks you once, when its window has loaded, to accept the updated notice. If you accept, the reader turns back on. If you decline, it stays off. Versions of the app up to 1.4.36 start the reader with the app and only turn it off when they ask, so in those versions it runs until then; later versions keep it off until you accept.

4.4 What it changes on your PC

  • Steam launch options. Deadlock only writes its console log when started with -condebug. If you choose "Enable automatically" when the app offers to set up live tracking, it adds that option to Deadlock's launch options in Steam's local configuration file, after saving a backup of that file beside it. If Steam is running, the app closes Steam first and starts it again afterwards. It makes the change for each Steam account on the PC that owns Deadlock, because it cannot know which one you will play on. This is the only Steam or Deadlock file the Desktop App changes, and it only does so when you ask. Uninstalling the app does not undo it. To reverse it, delete -condebug from Deadlock's launch options in Steam, or restore the backup file.
  • Its own files. The app keeps its settings, window position, a few small marker files for options you turned on, and the browser storage described in 8.4 in its own data folder. The installer adds a desktop shortcut and registers soullock:// links so that signing in in your browser can return you to the app. The app checks our update server, hosted on Google Cloud, shortly after it starts, every 15 minutes and when you switch back to it, and downloads updates from it.

4.5 What it sends to us

The Desktop App sends our servers the following:

  • The match IDs of your own matches, found in the console log, Steam's cache or the Live Game Reader, while you are signed in. They are added to our match index so that match data can be fetched and shown to the community in the same way as match data from public Deadlock sources.
  • Your live match, while you are signed in. When you are in a match, the app tells our servers which match your account is in, and repeats this every two minutes. Until the match ends, or for up to about five minutes after the app last reported it, anyone who views your SoulLock profile sees that you are in a live match, your hero and the players in it.
  • The ID of the match you are in, to fetch live camp and match timing for the timers. During a match the timers ask our servers for this every few seconds, whether or not you are signed in.
  • Rank and profile lookups for the players in your match. To show each player's rank and stats on your live scoreboard, the app sends their account IDs to our servers, which look them up with deadlock-api.com and Valve.
  • Your encounter record (3.2), while you are signed in.
  • The rank saved with a List note when you flag a player from your live roster (2.2). With the Live Game Reader on, that rank can be the one it read from the game.
  • Which Steam account is signed in on your PC, when it changes, so SoulLock can switch to that account if you have claimed it and refresh its public profile.
  • Queue events, only if you turned on queue alerts: that a match was found (with its match ID and how long you queued), that Deadlock showed its idle warning, or that your queue was dropped after that warning.
  • Whether the app acted on a "Keep me in queue" link (4.2): what it did or why it did nothing (for example, that someone was using the PC or the warning was no longer showing), whether Deadlock came to the front, whether the mouse moved, whether the warning closed, and when it answered.
  • A daily activity record. On each day you use the Desktop App to report or import your matches, we record your Steam account ID and the time it last reported, to count how many people use the Desktop App. We keep it for 90 days.

Everything else the app reads, including the match clock, objectives, in-game names, items, item and ability cooldowns and whether your shop menu is open, is used only on your PC, to draw the app's screens and run its features, and is never sent to us. The Desktop App does not read the game's memory except for the queue idle check and, if you turn it on, the Live Game Reader. It does not modify the game's memory or inject code into the game, and it does not capture or record your screen. Beyond what this section lists, and Google Analytics if you accept it, it does not send us usage data or crash reports.

Uninstalling the Desktop App stops everything described in this section. It does not delete data already sent to us; section 13 explains how to do that.

5. If you play Deadlock but don't use SoulLock

SoulLock has a player page for every Steam account with Deadlock data that anyone looks up, including players who have never visited SoulLock. If that is you, this section explains what we hold and what you can do.

We hold your Steam ID and Deadlock account ID, your Steam name and avatar, your rank, and your Deadlock match history and statistics: the matches you played, your heroes, items, results and performance. Your page can also show that you are in a live match, based on your Steam status, Valve's game coordinator and public match feeds. Other SoulLock users may have added you to their private List or hold an encounter record of a match they played with you (see 2.2 and 3.2). Those are visible only to that user and anyone they share their List with.

This comes from the Steam Web API, Valve's Deadlock game coordinator and community data services such as deadlock-api.com. Your match history on SoulLock can include matches that your Deadlock match history setting hides at Valve, because community services collect match data from other sources. A page and its match history are created the first time someone looks you up, opens a match you played in or flags you, and they are updated as you play.

We use this data to provide Deadlock statistics and match history to the community. Our legal basis is legitimate interests: ours in running a statistics service, and other players' in looking up the people they play with. We use only game data and your public Steam profile. We keep it while your Steam account has Deadlock data, unless you ask us to remove it.

To have your page hidden and the match data we hold about you removed, or to object to this use, email privacy@soullock.gg. We will ask you to show that you control the Steam account, for example by adding a short code to your Steam profile name for a few minutes. Pages are built from public data when someone looks a player up, so a removed page can come back. If yours does, tell us and we will remove it again. You also have the rights in section 13.

6. The SoulLock Discord server and bot

If you join the SoulLock Discord server, Discord's own privacy policy covers your use of Discord. On top of that, messages posted in the server may be checked automatically for moderation. Messages the check flags are stored, with their text, your Discord ID and the channel, and passed to our moderators to review. Questions you send to our bot are processed to answer them. Google processes these messages and questions for us as our service provider.

The bot also stores what its commands need, such as Steam accounts you ask it to follow, your entry in its LFG queue and how many questions you have asked that day, and, if you subscribed to Pro through the bot, your Stripe customer and subscription IDs. We keep this until you ask us to delete it, except that moderation records are kept for as long as they are needed to enforce the server's rules.

7. How we use information, and our legal bases

We use personal data only for the purposes below. Where a law such as the GDPR applies, each purpose has the legal basis shown.

  • Running your account and the features you use: sign-in, claiming Steam accounts, your profile, your List and encounter records, Discord linking, Pro, Discord queue alerts and the Desktop App features, including the queue idle check and "Keep me in queue" links. Basis: performing our contract with you (the Terms of Service).
  • Keeping other players in your List and encounter records. Basis: for you, our contract; for the players recorded, legitimate interests, yours and ours, in remembering who you played with.
  • Sending text-message queue alerts. Basis: your consent, given with the box in 2.3. Keeping the consent record afterwards. Basis: our legitimate interest in being able to prove that consent was given.
  • Running the Live Game Reader. Basis: your consent, given in its in-app notice.
  • Google Analytics and advertising cookies. Basis: your consent (section 8).
  • Showing public player pages, statistics, leaderboards and match history for all Deadlock players, and building our match index. Basis: our legitimate interest in providing Deadlock statistics to the community (see section 5).
  • Protecting the Service: App Check, rate limits, server logs, moderation in our Discord server, and finding fraud and abuse. Basis: our legitimate interest in keeping the Service secure and working.
  • Counting Desktop App users each day. Basis: our legitimate interest in knowing how the Desktop App is used.
  • Answering questions sent to our Discord bot and running its commands. Basis: our legitimate interest in providing the bot features you ask for.
  • Taking payments and keeping payment records. Basis: our contract with you, and legal obligations such as tax law.
  • Answering your requests and complying with the law. Basis: legal obligations.

Where we rely on legitimate interests, we have weighed them against your rights, and you can object (section 13). Where we rely on consent, you can withdraw it at any time, and that does not affect what we did before you withdrew it.

8. Cookies and similar technologies

8.1 Essential

Some storage is needed for the Service to work, so it cannot be switched off. Firebase Authentication keeps you signed in using your browser's storage (IndexedDB), Firebase App Check keeps a security token, Google reCAPTCHA Enterprise (3.3) may set its own cookie and use browser storage to tell real browsers from bots, and we remember your cookie choices in local storage.

8.2 Analytics cookies (consent required)

Google Analytics (GA4) cookies help us understand how visitors use the Service. They are only set if you accept analytics cookies in our cookie banner, and Google Analytics starts as soon as you accept. If you later turn analytics off, Google Analytics stops straight away and its _ga cookies are deleted. Measurement ID: G-3V6X8JCZ1J.

8.3 Advertising cookies

Our advertising partners, Google AdSense and Adsterra, use cookies and similar technologies to serve and measure advertisements, which can include ads based on your device, browser and approximate location. If you are in the European Economic Area, the United Kingdom or Switzerland, nothing from either network loads until you consent to advertising cookies. Everywhere else advertising is on from your first visit, and you can turn it off with "Reject All" in the cookie banner or with Cookie Settings. We tell which applies from your browser's time zone; if it gives none, or only UTC, we ask first. AdSense never runs in the Desktop App, and neither does Adsterra, which loads only on the soullock.gg website. For signed-out visitors, its standard scripts can access JavaScript-readable information on the website. We stop loading them before opening a sign-in form and use a fresh page when a document that ran them starts sign-in. For signed-in free users, Adsterra banners run in separate frames on soullock-display.web.app. Those frames use their own cookies and browser storage, separate from SoulLock's sign-in storage. We do not pass your SoulLock account identifiers or account content into the frames. Pro members see no advertisements, ours or our partners', while signed in to their Pro account; we cannot recognise a Pro member who is signed out, so ads can appear then. Turning advertising off removes the banners and reloads a page that has already run an advertising script to stop that code. While advertising is on, and unless you are signed in as a Pro member, we also check whether an ad blocker is active, which sends one request to Google's ad servers. Ads support free use of the website, so if you are signed out and advertising is off or an ad blocker is active, the website asks you to allow ads or sign in before you continue. The privacy policy, terms, accessibility, Pro and download pages stay open either way. You can manage your Google ad personalization preferences at Google Ad Settings. Google describes how it uses information from sites that use its services. Adsterra's handling of data is described in its privacy policy.

We also show our own promotions ("house ads"): links to SoulLock features and our Discord server, and to creators we choose to feature, which are labeled "Sponsored". They are part of our own pages, load nothing from other companies, set no cookies and need no consent, on the website and in the Desktop App. Pro members do not see them while signed in to their Pro account. Clicks on them are counted in your browser's own storage (8.4).

You can change or withdraw your cookie choices at any time with the "Cookie Settings" link in the site footer or the account menu.

8.4 Browser storage

We also use your browser's local storage, session storage and IndexedDB (in the Desktop App, its built-in equivalent) to keep you signed in, remember your settings and choices, cache match data (including other players' public match data) until you clear site data, keep your live-match state across a restart, hold your match IDs until our servers confirm them, store alert sounds you add, keep a short diagnostic log you can copy when reporting a problem, and count clicks on our own promotions. This stays on your device. Apart from the match IDs described in 4.5, it is not sent to us.

8.5 Do Not Track and Global Privacy Control

We do not change what we do in response to Do Not Track or Global Privacy Control signals. Analytics cookies stay off unless you turn them on. Advertising cookies follow 8.3. While advertising is on, Google and Adsterra may collect information about your activity on this and other sites over time to personalize ads.

9. Who we share information with

We do not sell your personal information. We share it only as follows:

  • Google, which hosts and runs the Service for us (Firebase Hosting, Authentication, Firestore, Cloud Functions, Cloud Run, Cloud Storage and Cloud Logging), protects it from bots (App Check with reCAPTCHA Enterprise), provides Google Analytics if you accept it, hosts our email, and processes messages and questions for our Discord bot (section 6).
  • Stripe, which handles Pro payments.
  • Amazon Web Services (Amazon SNS), which delivers text messages in the United States and Canada. Your phone number and the message text are sent to Amazon.
  • Discord, for Discord sign-in and linking, direct messages from our bot, adding you to our Discord server and managing your Pro role there.
  • Cloudflare, whose network tunnel carries lookups to a game-data server we run ourselves: the Steam IDs and match IDs being looked up and the text typed into player search.
  • Valve, through the Steam Web API, Steam Community and the Deadlock game coordinator: the Steam IDs and match IDs being looked up and the text typed into player search. Steam also handles Steam sign-in, and your browser loads player avatars from Steam's image servers, which see your IP address.
  • deadlock-api.com, a community Deadlock statistics service: the account IDs being looked up, search text when our own search finds nothing, and your IP address when your browser loads rank images and item data from it.
  • Our advertising partners Google AdSense and Adsterra, while advertising is on (see 8.3).
  • Authorities or others when the law requires it, for example under a court order, or when needed to protect the rights, safety or property of SoulLock.gg, our users or the public.
  • A new operator, if SoulLock.gg is transferred. They would have to follow this policy for the data they receive.

Google, Stripe, Amazon Web Services and Cloudflare handle data to provide their services to us, and Stripe also keeps its own records as a payment provider. Valve, deadlock-api.com, Discord and our advertising partners are independent companies that use what they receive under their own privacy policies.

10. What is public

Player pages are public for every Steam account with Deadlock data, whether or not its owner uses SoulLock. Anyone, including people who are not signed in, can see a player's Steam name and avatar, rank, match history, statistics, heroes and leaderboard positions, and whether they are in a live match (from Steam status, Valve's game coordinator and public match feeds, or from the Desktop App as described in 4.5, which also shows their hero and the players in the match). A page can also show a Well-Liked badge (2.2). If you claim your profile, it also shows your bio and accent color and whether you have Pro.

The public profile record behind a claimed page also holds some things our pages do not show: the date your current or last Pro period ends, whether your Pro came from a real or a test payment, your messaging preference, your email preference settings (the Marketing & Updates and Weekly Digest switches), an internal ID that links the profile to your SoulLock login and, for some accounts, a tester flag. Anyone who reads that record directly can see them.

Player pages with match data can appear in search engines. There is no setting to make a profile private. Deleting your account removes what SoulLock added (your claim, bio, accent color, List, encounters and alert settings) and takes your page out of our sitemap, but a page built from public Steam and Deadlock data can reappear. To ask us to hide yours, email privacy@soullock.gg.

11. Storage and security

Our data is stored on Google Cloud (Firebase, Firestore and Cloud Storage), mainly in data centers in the United States. The exceptions are our Discord bot's database (section 6) and the logs of the game-data server we run ourselves (3.4), which are kept on a computer we run ourselves. We use encryption in transit (TLS) and at rest on Google Cloud, access rules that limit each record to the people who should see it, and App Check to keep bots out.

No method of transmission or storage is completely secure. We work to protect your data, but we cannot guarantee absolute security.

12. How long we keep information

  • Your account, profile, List, encounter records, alert settings, Discord link and record of accepting the Terms are kept until you delete your account. If you shared your List, the copies held by the other members of the group stay with them.
  • Your verified phone number is kept while text alerts are on (2.3). A number you have not verified is deleted within five minutes of its code expiring, or when you delete your account.
  • The text-message consent record is kept, including after you delete your account, until a daily cleanup deletes it four years after the later of when you agreed and the last text we sent to that number. It is never deleted while that number is still set up for your text alerts.
  • Your LFG waitlist entry is kept until you delete your account.
  • If messaging is available to you, your messages are kept until you delete your account. Then your messages in conversations that others are still part of are replaced with "[deleted]". A daily cleanup deletes message reports 12 months after they were filed. When you delete your account, copies of your messages in reports are replaced with "[deleted]", and reports you filed no longer name you.
  • Reviews you wrote under our retired review system are deleted when you delete your account.
  • Pro billing details (Stripe IDs and subscription status) are kept until you delete your account. Stripe keeps records of your payments as required for tax, accounting and fraud prevention, and deleting your SoulLock account does not delete them.
  • Daily Desktop App activity records are kept for 90 days.
  • Public player data and match history are kept while the Steam account has Deadlock data, unless its owner asks us to remove them (section 5). Deleting your account deletes the match history we stored for the Steam accounts you claimed.
  • Server logs are kept for 30 days. Our own game-data server keeps its logs until newer entries overwrite them, at most about 30 MB of log in total, and for no longer than 14 days (3.4).
  • Cached player search results are kept until a later search for the same name replaces them or we clear the cache.
  • "Keep me in queue" link records are deleted by a daily cleanup once a day has passed since the link expired, so within about two days of being created. The last command sent to your PC through a link, and the app's answer, are deleted by the same cleanup once a day has passed since the command was sent, or sooner if a newer command replaces them or you delete your account.
  • Google Analytics keeps event-level data for up to 14 months. Aggregated reports may be kept longer.
  • Data held by our Discord bot is kept as described in section 6.
  • Data in your browser or the Desktop App (8.4) stays until you clear site data or delete the app's data folder.

13. Your rights

13.1 Everyone

  • You can download a copy of your data from Settings. It covers your login and every Steam account your login has claimed. For anything it does not include, email privacy@soullock.gg.
  • You can delete your account in Settings. This deletes your login and the data held for every Steam account your login has claimed, as described in section 12. It cancels Pro immediately, and the rest of the current period is not refunded.
  • You can change your settings in Settings. If you have Pro you can edit your bio and accent color there; otherwise email us to change or remove them. Your Steam name and avatar come from Steam. Email us to correct anything else.
  • You can unlink Discord in Settings. A login created with Sign in with Discord cannot be unlinked there; to remove Discord from it, email privacy@soullock.gg or delete your account. You can remove your phone number in Settings. Replying STOP to any text also stops them.
  • You can turn off the Live Game Reader and streamer mode's automatic switch in Settings, set Deadlock's idle warning to "Notify me" or "Do nothing" there so the app never moves your mouse on its own, or uninstall the Desktop App to stop everything it does on your PC. A "Keep me in queue" link does nothing unless you open it. Only "Notify me" sends idle alerts, which carry these links; to stop getting them, choose "Move my mouse" or "Do nothing", or turn queue alerts off.
  • You can change your cookie choices with Cookie Settings (section 8).
  • You can ask us to hide your player page or remove the match data we hold about you (section 5).

You do not have to give us any information to browse SoulLock.gg. An account needs a sign-in method, Pro needs payment details (handled by Stripe) and text alerts need a phone number. Without them, only that feature is unavailable. We do not make decisions about you by automated means that have legal or similarly significant effects.

13.2 EEA, UK and Switzerland

If the GDPR or a similar law applies to you, you have the right to access your personal data, to have it corrected or erased, to restrict how we use it, to receive it in a portable format, to object to our use of it where we rely on legitimate interests, and to withdraw consent at any time without affecting what we did before. You can also complain to the data protection authority where you live or work. To use these rights, email privacy@soullock.gg. We will answer within one month and may ask you to show that the data is yours.

13.3 United States

We are not currently subject to the CCPA or other US state privacy laws because of our size, but we honor access, correction and deletion requests from anyone at privacy@soullock.gg.

14. International transfers

We are based in the United States, as are most of our providers, so your data is processed in the United States. When personal data comes from the EEA, the UK or Switzerland, we rely on the EU-U.S. Data Privacy Framework and its UK and Swiss extensions where a provider is certified under them, and otherwise on the standard contractual clauses in the provider's data processing terms. This applies to Google, Stripe, Amazon Web Services, Discord and Cloudflare.

15. Children

The Service is not directed to children under 13, and we do not knowingly collect personal information from them. If we learn that we have, we will delete it. If you believe a child under 13 has given us personal information, please contact us. If you are under the age of digital consent where you live (16 in some EU countries), ask a parent before accepting analytics or advertising cookies.

16. Changes to this policy

We may update this policy. When we make a material change, we will change the date at the top and tell you about it on the website, in the Desktop App or in the SoulLock Discord server. Where a change needs your consent, for example a new use of what the Live Game Reader reads, we will ask for it rather than assume it.

17. Contact

For questions, data requests or complaints about this policy, email privacy@soullock.gg. For legal notices, email legal@soullock.gg.

SoulLock.gg home · Terms of Service · Privacy Policy · Accessibility

Home · Player search · Hero tier list · Build guides · Leaderboard · Objective timers · Desktop app · SoulLock Pro

Terms of Service · Privacy Policy · Accessibility

SoulLock.gg is an independent Deadlock companion site and is not affiliated with or endorsed by Valve. Questions: privacy@soullock.gg.