Transparent randomness

Fairness audit

Run 100,000 selections with the same randomInt implementation used by Random Spin App. The audit reports expected and observed distributions without assigning a misleading pass or fail score.

100,000 selections

Checking for a locally saved wheel…

Before animation

Selection comes first

The winner is selected from the eligible entry tickets before the wheel animation begins. The animation then lands on that already selected result; it does not calculate or alter the winner.

Unbiased range

Web Crypto + rejection sampling

crypto.getRandomValues() supplies 32-bit values. Rejection sampling discards values from the small uneven remainder before applying modulo, so every eligible ticket maps to the same number of possible values.

Entry tickets

Repeats are explicit

Each non-empty line is one ticket. Duplicate labels therefore receive multiple tickets. “Win only once” removes selected tickets from later picks; “Can win again” leaves them eligible.

What this audit does—and does not—show

A finite random sample naturally fluctuates around its expected distribution. This tool makes that variation inspectable across 100,000 selections, but it cannot prove that future outcomes will follow a particular pattern.

Random Spin App is intended for casual classrooms, meetings, giveaways, tasks, parties, events, and streams. It is not certified for gambling, regulated draws, cryptographic key generation, safety-critical allocation, or other high-stakes uses.

Review the production random integer source, winner selection source, and randomness unit tests.