Breach Protocol

Services

Career stats

Your record lives in the game, in the Barracks. A public lookup on this site is designed and deliberately not shipped — this page says exactly why, and what it would take to ship one safely.

Where your record is now

In the Barracks

Level and rank, your match record, per-weapon progress and camo unlocks, emblems, calling cards and dog tags. It is all there, it is all yours, and it does not require this website.

On the scoreboard

During and after a match, for everyone in it. That is the context where another player's numbers are relevant to you — you are playing with them right now.

Why there is no lookup here

Two requirements are in tension, and the tension is real rather than a technical inconvenience: players want to look each other up, and players must not be exposed by the thing that lets them.

A search box is the dangerous part, not the stats

A career page for one consenting player is harmless. A search across all players is a different product, and it leaks in two ways that no amount of hiding individual fields fixes:

  • Enumeration. Anything that answers "who is called something like this?" can be asked over and over until it has returned the entire player table. A rate limit slows that down; it does not prevent it.
  • Correlation. Last-seen time, plus region, plus match history is a presence profile. It tells a stranger when a named person is at their computer, and when they are not. Each field looks innocuous on its own; together they are a schedule.

And the obvious key is still the wrong key

The natural way to build an exact-match lookup is to key it on the player ID. That was unsafe for two reasons. One of them has now been fixed; the other has not, and will not be.

  • Fixed: the ID is no longer what proves an account is yours. The signing service is live. Anything that acts on an account — restoring your save, reading back what the service is holding for you — is authorised by a signature made with a key that stays on your own machine, and by nothing else. Someone who has your ID cannot sign with it, so knowing it does not let them act as you. One limit, stated plainly: an account gets that protection from the first time it runs a build with signing and registers its key. Until it has, there is nothing on file for a signature to be checked against, and the account is in the state every account was in before the service existed. Launching the current build is what changes that, and it is worth doing early rather than eventually.
  • Not fixed, and not fixable: an identifier is a poor thing to hang a search box on. An ID is not a name you chose and not a secret you can change — it is a short string, and a short string is never far from being arrived at rather than known. Any design that leans on "you have to know the exact ID" is leaning on a bet. A lookup keyed on it would also do the one thing no amount of hardening undoes: teach every player to pass that string around, and to paste it into whatever box asks for it.

So no lookup keyed on the player ID will be built, in any of the designs below. The identifier meant for sharing is your Agent ID — the name and tag other players already see in a match.

The three ways this could ship

These are genuine alternatives, not a ranking with one obvious winner. Each buys something and costs something. This is a decision for the project, not one a page can make on its own.

OptionHow it worksWhat it costsExposure
A. Opt-in profiles A player turns on a public career page in the game and gets a shareable link. Nobody else appears. No search box at all. Only players who opt in are findable, so the feature is thin at first and grows with adoption. Lowest. Everyone on it chose to be. Nothing to enumerate — there is no index to walk.
B. Exact-name lookup, rate-limited You type a full operator name. Exact match only, no prefix or fuzzy matching, no suggestions, heavily rate-limited, and a per-player opt-out. Needs an authenticated backend and abuse monitoring from day one. Medium. Enumeration is slowed, not stopped. Names are already public in matches, so the marginal exposure is the aggregation, not the name.
C. Aggregate only No individual lookup. Population statistics: rank distribution, map win rates, operator pick rates, weapon usage. You cannot look yourself up, which is most of what people wanted. Effectively none, provided small buckets are suppressed rather than published.

The shipped default, today: none of them

Until that decision is made and a backend exists to serve it, this site publishes no player data at all. That is the safe default, and it is reversible in a way that publishing is not — an exposed dataset cannot be un-exposed.

When it does ship, the recommendation on the table is A, optionally growing into C: opt-in profiles give the people who want a shareable career page exactly that, and aggregate statistics give everyone else something interesting to read, and neither one creates an index of players that a stranger can walk.

What will never appear here

Whichever option ships, these are out. They are listed so the commitment is on the record and testable.

Network addresses

Matches are peer-to-peer, so hosts and the matchmaking service necessarily see real network addresses. None of that reaches this website, in any form, ever — not a full address, not a truncated one, not a geolocated city.

Contact details

No email addresses, no account identifiers, no anything that could be used to reach a player outside the game.

Session and lobby data

No lobby codes, no join links, no "currently in a match" indicator. Live presence is the single most abusable field a game site can publish.

Infrastructure detail

No service hostnames or port numbers for anything the game talks to. That is not player-facing information and publishing it only helps someone attack it.

Related: the privacy notes explain what the game itself can see, including the part encryption cannot fix.