How Neok works
Neok is CSGrind's set of checks on match demos. It looks for recorded input that typical play does not produce, and it hands anything unusual to a person. It is a triage tool, not a verdict.
Neok is CSGrind's analysis of match demos. CSGrind is not affiliated with Valve or FACEIT and bans no one.
What Neok is
- Rule-based and statistical checks on demos of official matches that CSGrind analysed. There is no machine-learning model behind public results.
- Conservative by design: a false accusation is the expensive mistake, so Neok would rather miss someone than mark an honest player.
- Every public finding is confirmed by two CSGrind reviewers who watched the rounds. Automatic output alone is never public.
- Neok never bans, reports or kicks anyone, and there is no public list of players.
Data it uses
- Demos of Valve Premier and Competitive matches imported by connected players, plus demos people upload or analyse from a share code.
- From each demo: recorded view angles, mouse input, shots, hits and kills, per tick (64 per second).
- Public Steam and FACEIT data is shown next to Neok as separate facts. It is never an input to Neok.
Demo files are deleted after analysis, unless a match is part of an open review. Details are in the privacy notice.
The checks
Public check names describe what is looked at. We don't publish thresholds or exact values, so the checks can't be tuned around. Additional internal consistency checks help us decide what a person reviews.
| Check | What it looks at | Honest explanations |
|---|---|---|
| View follows recorded mouse input | Whether the recorded view turns only when the recorded mouse input says it should. | Controllers, turn binds, unusual sensitivity setups and connection problems can break the link between input and view. |
| View angles within normal limits | Whether the recorded view angles stay within the limits the game allows a normal player. | Rare engine and demo-recording quirks. |
| Shot direction matches recorded view | Whether the direction of each recorded shot matches where the player was looking. | Network corrections and demo-recording quirks. |
| Recorded sub-tick input looks typicalobservation only | The sub-tick input history attached to recorded commands. | Some hardware and very high frame rates change how input is recorded. This check runs in observation mode only. |
| No tilted shots | Whether shots were recorded with a tilted (rolled) view, which normal play never produces. | Demo-recording quirks. |
| Hits match weapon accuracyobservation only | Whether hits are consistent with how accurate the weapon was at that moment. | Lucky shots happen; one hit means nothing. This check runs in observation mode only. |
Performance stats such as time to damage, crosshair placement or kills through smoke are shown on profiles as stats. They describe how someone plays and are never Neok evidence.
How a result becomes public
- Each analysed match is checked for every player in it.
- A match becomes a review case only when checks built on two independent kinds of recorded data are far outside typical play in the same match. One unusual check alone stays internal.
- Two CSGrind reviewers watch the rounds, without knowing each other's verdict, and look for demo-parsing, connection or settings explanations.
- Only when both confirm, and nobody rejects, does the player's state change to a reviewed finding.
Why so strict: if each of nine independent checks wrongly flagged 1% of honest players, about 34 of every 10,000 honest profiles would trip two or more checks by chance. Unusual is not the same as cheating.
What each state means
A profile shows one of these. Results are shown once Neok has analysed at least 5 of a player's matches from the last 90 days. While Neok is being calibrated, every profile shows the first state.
- Neok is being calibrated
- Shown for every player while we validate the checks on analysed matches. It says nothing about the player.
- Not enough data yet
- Fewer than 5 analysed matches from the last 90 days.
- Input checks incomplete
- Some input checks could not run on too many of the player's matches, for example after connection problems or with a controller. This is not a finding.
- No confirmed findings
- Enough data, and no finding that reviewers confirmed. This is not proof of fair play.
- Under review
- The account owner asked for a new human review. The result is hidden until the review is finished.
- Reviewed finding: unusual input
- Two reviewers confirmed input patterns in at least one match that they could not explain by demo parsing, connection or settings. This is not proof of cheating.
Limits and known false positives
- Neok only sees matches we analysed. A state with no findings is not proof of fair play.
- This version targets blatant input manipulation. It does not detect wallhacks, hardware or computer-vision aim tools, or carefully tuned aim assistance.
- Possible honest causes of unusual input: controllers and other non-mouse input, macros or binds, unusual hardware, heavy packet loss, and errors in demo parsing.
- Very strong players, smurfs and small samples are not, by themselves, reasons for a finding; Neok does not compare skill.
Check it yourself
- Download the demo, or open the match in CS2 while Valve still hosts it (about a month).
- In the CS2 console run
playdemo <file>, then thedemo_gototick <tick>command shown on the moment. - Watch at reduced speed with
demo_timescale 0.25.
Dispute, hide, contact
- If a finding is about your account, you can ask for a new human review. While it is open, the profile shows “Under review”.
- You can hide your public profile from the account page after signing in with Steam.
- For anything else, see your rights and contact.
Reporting suspected cheating
CSGrind does not take cheating reports. Report players to Valve through the in-game report button or Steam Support, and to FACEIT through a FACEIT support ticket.
Method changelog
- Neok v1 (2026): first public version of the input checks. In calibration: no public findings yet.