CS2 aim forensics

Your hand and your crosshair move together. Until they don’t.

Overshoot reads the raw mouse input stored inside CS2 demos and checks it against where the crosshair actually went, kill by kill. The result is evidence you can watch tick by tick, not a verdict.

The human-hand check

Every flick checked against the physics of a human arm

In 1954 the psychologist Paul Fitts showed that human aiming follows fixed rules. A hand speeds up and slows down in a smooth bell. It overshoots or undershoots, then makes a tiny correction. And it can only turn so fast. Aim software doesn’t have to follow any of that.

Overshoot measures every big flick in the demo against those rules. Nothing runs on the player’s PC, and every check has a false-alarm rate measured on real players.

Background: Fitts’s law · minimum-jerk movement

Speed of one flick over time. A human hand speeds up and slows down in a smooth bell, then makes a small correction. Assisted aim moves at a flat, even speed with no correction. Human hand: smooth bell small correction Assisted: flat,no correction time →speed
CheckShown ason the report cardWhat it means
Corrects like a humanCautionNearly every big flick lands dead-on with no correction, where humans usually make one. The strongest single signal we measure.
+ Flat speedFlagNo corrections and a flat speed profile instead of a bell.
Beyond arm speedFlagRepeated flicks faster than a wrist and forearm can turn. Rare in ordinary play.
Fitts’s lawExplainsShows how closely a player’s timing follows the 1954 law. Too weak on its own to point at anyone, so it only explains the movement.

Tested on the public CS2CD dataset: players from matches with no banned player against players later banned by VAC. These checks are built to rarely point at honest players, not to catch everyone: many banned players pass them, which is why they sit next to the other measurements below and never decide anything alone. We publish the ideas, not the thresholds, because cheat makers read public pages too.

How it works

Four measurements, taken where no one else looks

Every kill is opened into a 256-tick window: four seconds of movement. Inside it we compare what the mouse did with what the crosshair did. Nothing runs on anyone’s PC. It’s all read from the demo the server already recorded.

Mouse fit

How much of the crosshair’s movement the player’s own mouse input explains. Software that aims for you breaks this link.

Jerk

How abruptly the aim accelerates. Arms and wrists are smooth. Injected angles don’t have to be.

Corrective submovements

Humans flick, overshoot and correct. Flicks that land with no correction stand out.

Sequence model

A small neural network trained on a labelled public dataset reads each 256-tick window as a whole. It’s a research signal, shown next to the other three, never on its own.

Explore every measurement in detail → · How others use data · Method and limits

  • Scores are ranked within one lobby only, never against a global threshold.
  • Kills, K/D, headshot % and rank never feed the score. Being good isn’t evidence.
  • Every score comes with the exact ticks behind it, so anyone can open the demo and watch.
  • We never label anyone a cheater. We show measurements; people make rulings.
Accuracy

What the numbers can and can’t tell you

Two things run on every match: the lobby score, which ranks players within one lobby, and the sequence model, a research signal. Both were tested on a public, ban-labelled CS2 dataset, on players from matches they never trained on.

  • The lobby score is careful: it rarely lands on honest players, and it misses many players who were later banned.
  • The sequence model finds more, with more false alarms, so it is shown next to the score and never added to it.
  • Neither is a verdict. A high number only ever means “worth a look”, and a person decides what they see.
  • Labels are Valve bans, which skew toward obvious cheats. External AI aimbots may look different and aren’t covered by this testing yet.
  • A separate hold-out set has never been scored, so the tests stay honest. Exact figures stay private on purpose. Why we keep some numbers private.
For leagues and tournament organisers

Evidence for rulings, with an appeal path

Submit the demos from a disputed match and get a tick-by-tick evidence report for every player in the lobby: what was measured, where, and how it compares to everyone else in the same match. Players see the same evidence you do.

Pilot programme

Pilot places for leagues open soon. Leave your email and we'll contact you first.