Fairness & Randomness
If you use a random wheel to settle something, you deserve to know exactly how the result is produced. This page explains how My Decision Wheel picks winners, in plain English. There are no certifications to show off and no audits to cite — just the actual mechanics, which you can verify yourself since everything runs in your browser.
Cryptographically secure randomness
Every outcome — a wheel spin or a coin flip — is drawn from crypto.getRandomValues, the browser's built-in cryptographically secure random number generator. This is the same source of randomness browsers use for encryption keys. We never use Math.random for outcomes; it exists in the codebase only for cosmetic effects like confetti, where predictability does not matter.
No modulo bias
A common mistake in random pickers is mapping a random number onto a list with the modulo operator, which makes some entries slightly more likely than others. My Decision Wheel uses rejection sampling instead: random values that would introduce bias are discarded and redrawn, so every entry gets exactly the probability it should — no more, no less.
The winner is chosen before the wheel moves
The moment you press spin, the winner is already decided. The animation that follows is a visualization of that result — the wheel rotates precisely far enough to land on the entry that was selected. Wheel physics, friction, spin speed, and how long you hold the button have zero influence on the outcome. This means the animation can never drift, stall, or round its way into a different result than the one the random draw produced.
Weights mean what they say
If you give an entry a weight of 3 and another a weight of 1, the first is exactly three times as likely to win. Segment sizes on the wheel are drawn to match those probabilities, so what you see is what you get. The probability preview in the editor shows the exact percentage each entry has before you spin.
Everything runs locally
There is no server deciding results. The random draw happens entirely in your browser, on your device. Nobody — including us — can see, influence, or predict a spin. See the privacy policy for what that means for your data.
Seeded verification mode
For situations where others need to trust a result — a giveaway, a raffle, a team decision — you can enable seeded verification mode. The wheel derives its outcome from a seed you can publish alongside the result, and anyone can replay that seed with the same entries to reproduce the exact same winner. Normal spins do not use seeds; this is an opt-in feature for when reproducibility matters.
Questions about any of this? Check the help page or try it yourself on the wheel.