Company ·
What we mean by fair play
Five things Ocheso does so a result can be trusted, and one thing it doesn't do yet.
“Fair play” gets used loosely in online games. Sometimes it means cheat detection, sometimes good manners, sometimes just a promise. We'd rather say exactly what we do.
1. The server is the referee
Players move in their browser, but the browser decides nothing. Every move goes to Ocheso, and the referee checks it against the game's whole record, not just the last position. Rebuilding from every move means a damaged position would be caught rather than played on, and repetition is judged on the full history. Draws by repetition and by the fifty-move rule end the game at once: online, nobody should have to know to claim one.
Chess moves travel in standard UCI notation; checkers moves as numbered paths, the way draughts players write them. In checkers the referee enforces the rules casual software tends to get wrong: you must take the most pieces available, men capture backwards, kings fly, and captured pieces stay on the board, blocking, until the move ends.
2. The clock lives on our server
Both clocks run on server time, and increments are added there. A slow connection can't buy time, and closing the tab doesn't stop the clock. When a player's time runs out, the opponent can claim the game. In chess, if the player with time left could never have mated, it's a draw, as an arbiter would rule.
3. Every move is on record
Every move is stored, in order, with the game. When something happens off the board, an arbiter can set or correct a result. A correction changes the standings, but it never changes anyone's rating, because a rating is about games played, not rulings made.
4. Rules you can read
Pairings follow published priorities (how we pair a Swiss), and tie-breaks are applied in the order the organiser chose. Ratings are plain Elo: K is 32 below 2100, 24 below 2400 and 16 above. A game is rated only when both players have moved and the result was decided on the board, because a no-show or a first-move resignation says nothing about strength. Events that organisations run through Ocheso for Platforms, in early access, are unrated unless the organiser chooses otherwise.
5. The database decides who can do what
Our API holds no master key to the database, and refuses to start if it's given one. Every request runs as the person making it, and the database's own rules decide what they may read or change. API keys are stored only as fingerprints (SHA-256 hashes) and shown once, never in a form we could hand back. A tournament's entry code sits in a table only its organisers can read, and is checked inside the database when someone joins; the public page never returns it. Automated tests connect as different people and try to break those rules before anything ships.
One more rule
Ocheso Agents, the computer opponents we provide to other platforms, never play in competitions Ocheso runs.
What we don't do yet
Ocheso does not run automated cheat detection. We don't compare players' moves with an engine's, and we don't score games for suspicion. Organisers and arbiters can remove a player or correct a result; today that is a human decision.