PJ

How We Handle Cheating, Honestly

TP

The PlayJoy team

Building PlayJoy

A very small team shipping one free puzzle a day for the whole world. We write the product notes and the occasional post-mortem.

Published 2026-10-09 · Updated 2026-10-09 · 5 min read

We cannot stop a determined cheater on a browser puzzle game. Here is what we actually do, and where the limits are.

It would be easy to write a paragraph claiming we have solved cheating on a browser puzzle site. We have not, and no one has. The code runs on the player's machine.

What we have instead is a set of measures that raise the cost of cheating and keep the leaderboard useful for everyone else.

The server regenerates every board

Because puzzles are derived from a seed, our server can rebuild the exact board you played and check that your claimed result is consistent with it.

This catches the easy cases: fabricated times, impossible scores, results that contradict the board.

Losing focus marks the run unranked

If you switch tabs mid-puzzle, we assume you may have looked something up. The run is stored, but it does not enter the leaderboard.

This is deliberately conservative — it will occasionally flag an innocent interruption, and we think that is an acceptable price.

The honest limit

Someone who writes a solver that plays the board without leaving the tab will pass every check we have. That is a real limit and we are not going to pretend otherwise.

What we can promise is that the leaderboard reflects runs we could reproduce. For a daily puzzle that most people play for their own satisfaction, that is enough.

Put it into practice

Further reading

Sponsored spot — set NEXT_PUBLIC_AD_PUBLISHER_ID to activate