← field notes

The invisible score that decides how the internet treats you

risk-scoring fraud-detection trust-signals bot-detection

Between the instant you press a button and the instant the page responds, a decision about you has already been made. You asked to log in, or to check out, or to post a comment, and in that sliver of time a model on the other side gathered up hundreds of small facts about your device, your connection, and your behaviour, weighed them together, and produced a single number. Nobody will ever show it to you. It decided whether the door ahead opens smoothly, opens with a test attached, opens into a waiting room, or stays shut.

Scored at every door

The scoring is more pervasive than most people assume. It covers the obviously sensitive actions, moving money being the clearest case, and it also covers the ordinary ones: opening an account, signing in, adding an item to a cart, requesting a password reset, leaving a review. Behind each of those sits a system whose one job is to answer, within a few thousandths of a second, how much this particular action deserves to be trusted right now.

Some vendors call the output a risk score and others call it a trust score, which is the same idea read from opposite ends. High trust is low risk. The whole apparatus exists to place each action somewhere along that line before deciding what to do with it, and the person being placed feels only the consequences, never the number itself.

An event, judged fresh

The score attaches to actions rather than to people, and the distinction matters. It is computed at the moment something happens, fresh, for that event alone. The same person can score as safe logging in from a familiar place on a familiar morning and score as suspicious attempting a large purchase from a new device that night, because the question being asked is how this specific event compares to the enormous body of events the system has already seen.

Every login is a new question. Every checkout gets asked again from scratch. The model holds no grudge and keeps no friendship. It re-evaluates continuously, action by action, reaching into the same pile of signals each time and weighing them anew.

The ingredient list

That pile of signals is the engine of the whole thing, and it is where every other detection technique you may have read about arrives as an ingredient rather than a finished meal. The reputation of the network address: does it look like home broadband, a data centre, or a mobile carrier pool shared by thousands of strangers. The fingerprint of the device and the way it negotiates its connection. The velocity of recent actions, how fast, how often, how many in a row, held against a normal human rhythm. The account’s history on the platform, or its conspicuous absence. The faint texture of how the session types, moves, and pauses.

Alone, each of these is weak. Any single signal is easy to fake and easy to misread, and acting on one in isolation would be reckless. The power comes from volume: hundreds of faint, individually unreliable hints, examined together, checked for whether they line up or contradict each other.

From rulebook to model

The fusion step deserves precision, because it is often misdescribed. This is no longer a checklist where someone wrote down that this condition plus that condition equals a block. Early systems did work that way, as sets of hand written rules, and they proved brittle, because a rule that can be written down can be learned and sidestepped.

The modern version is a statistical model trained on enormous numbers of past events, each labelled after the fact as having turned out fine or having turned out to be fraud. From those examples the model learned, on its own, which combinations of weak signals historically travelled together with trouble. It carries no story about you and no reasoning it could explain. It collapses all its inputs into one number estimating the probability that this action is the bad kind. A probability, dressed up as a verdict.

Four doors

Once the number exists, the platform has to act on it, and nearly every system reduces the continuous range to a handful of outcomes. A score in the comfortable band opens the first door: you pass straight through, never knowing you were weighed, which is what happens the overwhelming majority of the time. A score in the murky middle opens the second door, the one with a test attached: a captcha, a code sent to your phone, a request to confirm something only the real owner should know. A worse score routes the action through the third door into review, held until a human or a slower system takes a longer look. A bad enough score meets the fourth door, which stays shut, usually behind a vague message that explains nothing.

Friction is the score leaking through

Here is the connection almost nobody makes. The friction you occasionally hit online is the score becoming briefly visible. That sudden captcha, that unexpected one time code, that request to verify your identity for no reason you can see, marks the exact moment your action landed in the uncertain band: too doubtful to wave through, too plausible to refuse. The system reached for a test to gather one more piece of evidence and push you off the fence.

Most of the time the score is confident and you feel nothing at all. The challenge is what its confidence looks like on the rare occasion it wavers. I run mobile proxy infrastructure, so I watch this from an unusual seat: customers on carrier addresses shared with thousands of strangers inherit whatever those strangers did with the address in the last hour, and their challenge rate moves with a crowd they will never meet.

A wall that keeps moving

None of this holds still, which is what makes it so hard to reason about. The model gets retrained on the newest waves of events, so the working definition of suspicious keeps shifting. A pattern that sailed through last month may draw a challenge this month, because the system has since watched that same pattern used in an attack and adjusted its weights against it.

The adaptation is deliberate. The system chases the moving behaviour of the people trying to abuse it, and that is exactly why nobody can hand you a stable list of what will trip it, including the engineers who built it. The honest answer is always that it depends on what the last million events looked like. You are being judged against a crowd that never stops moving.

Opaque on purpose

The invisibility is a load bearing design choice rather than an oversight. The moment anyone could see their own number, or read exactly which signals moved it, the machinery would start to fail, because the people it most needs to catch would tune each signal until their number came out clean and walk through the front door. So thresholds go unpublished, weights stay secret, and the reasoning is withheld even from the person just judged.

That secrecy genuinely does work. It is a real part of what keeps the system standing against a patient adversary. It is also the root of the deepest problem here, because a system that refuses to explain itself to the guilty has no way to explain itself to the innocent either.

What it actually holds back

Fairness requires saying what this machinery is for. Every large platform operates under constant, industrial scale attack: automated account creation, stolen card testing, credential stuffing against real people’s logins, spam pushed at every open surface. No human team could review that firehose by hand, at any staffing level.

The score is what lets the genuine majority pass through instantly, feeling nothing, while the mass of automated abuse gets absorbed, challenged, and turned away in the same invisible instant. When it works, you never notice it, which is the point. The calm of a well run platform, the sense that things simply work, is largely the sound of this machinery succeeding without announcing itself.

The resemblance problem

The double edge cuts along a predictable line. A model dealing in probabilities across a crowd will always sweep up some people who did nothing wrong. The traveller logging in from a country they have never visited before. The brand new user whose empty history looks statistically identical to a freshly minted fake. The person on a shared mobile address whose reputation was spent by strangers. The merely unusual, whose ordinary life happens to trace a shape the model learned to distrust.

To the score, unusual and dangerous look nearly alike, because it has no way to tell a rare honest story from a clever dishonest one. And when it decides against you, there is typically no explanation and no genuine appeal, because explaining would arm the adversary and appeals do not scale to millions of events. You are quietly treated as a risk and left to guess why.

The shadow at the threshold

The instinct, when you get blocked or challenged online, is to hunt for the specific thing you did wrong. Much of the time there is no such thing to find. What acted on you was a probability, computed in a millisecond, measuring how closely your action resembled patterns of trouble drawn from millions of strangers. A number stands in for you at nearly every door on the internet, assembled from weak signals and old fraud, and the friction you feel is that number speaking on your behalf, in a voice you were never allowed to hear.

More on the machinery running underneath the ordinary internet at The Hidden Internet.

Get new guides and videos first — join the Telegram channel.

watch
The Hidden Internet on YouTube

Every field note starts as a short documentary. Watch the systems in this piece explained on screen.

subscribe →
read on
More field notes

The rest of the series on how the modern internet detects, tracks, and sorts the traffic that reaches it.

browse the archive →