Proving a draw was fair
You have made a draw and somebody does not believe you. What can you actually show them?
A draw being fair and a draw being *provably* fair are different problems, and only the second one survives an argument. The technical part is easy — any decent tool gives you randomness nobody can predict. The hard part is that randomness is invisible: nobody watching can tell a fair draw from an arranged one, and a screen recording proves only that something happened on a screen. What closes that gap is reproducibility, and using it correctly turns on one detail almost everybody gets wrong.
What a seed is, and what it buys you
A seeded draw is one where a starting value — a word, a phrase, a number — determines the entire result. Give the tool the same seed, the same entrants and the same settings, and it produces exactly the same output, every time, on any machine. That turns "trust me" into "check it yourself", which is the strongest guarantee available without involving a third party.
It works because a seeded generator is not really random at all. It is a deterministic function that produces a sequence indistinguishable from random to anybody who does not know the seed, and completely predictable to anybody who does. That is not a weakness to be apologised for — it is the entire mechanism, and it is why the same tool cannot be both reproducible and cryptographically secure at the same time.
The order you publish in is the whole thing
Here is the detail that decides whether any of this is worth anything: the seed must be published before the draw, not after. Choosing a seed after seeing the entrants is choosing the winner, because you can try seeds until one produces the result you want and then present that seed as though it had been fixed all along. A published seed and an unpublished one look identical afterwards.
The strongest version takes the seed from something you demonstrably do not control and that did not exist when you set the rules: a lottery result on a stated date, a closing price, the number of comments on a post at a stated time. The next best is a seed supplied by somebody with an interest in the outcome. The weakest usable version is a seed you choose and publish, timestamped somewhere you cannot edit — which is fine for a raffle among friends and thin for anything with real money attached.
The same logic applies to the entrant list, and for the same reason. A list published before the draw means the only thing left in doubt is the draw itself, which the seed then settles. A list produced afterwards puts everything back in doubt at once — the order, the entrants, and whether the person who won was even on it when the draw was made.
Where reproducibility is exactly the wrong tool
Everything above describes a property you want in a raffle and must never have in security. A password, a token, a session key or a recovery code has to be unpredictable to somebody who knows everything about how it was generated except the randomness itself — and a seeded generator, by construction, gives that person the answer.
This is why tools that produce security-sensitive output on this site have no seeded mode at all, and why the ones that do have a seeded mode say plainly that it is not cryptographically secure. The two properties are opposites: reproducibility means anybody with the seed can regenerate the output, and security means nobody can. A tool offering both is misdescribing one of them.
What a spinning wheel does and does not prove
An animated wheel is a good way to *show* a draw and a bad way to justify one. On this site, and on most others, the result is decided before the animation starts and the spin is a rendering of a decision already made. That is not a criticism — an animation that genuinely resolved as it slowed would be harder to make fair, not easier, because the physics would have to be trustworthy as well as the randomness.
It matters because the wheel invites a belief it cannot support. Asked how you know the wheel was not weighted, the honest answer is that the wheel is a picture and the draw was the number behind it. Say that, and lean on the published list and the seed instead. A recording of a spin proves a spin happened.
Independent draws look unfair, and rotations are not draws
Most accusations of unfairness are actually complaints about clustering, and clustering is what genuine randomness looks like. Four people drawing a judge at random over four rounds leaves somebody out entirely about two-thirds of the time. Nothing is wrong when that happens — a draw has no memory — but the person left out is not being unreasonable in noticing.
The fix is usually to stop drawing. If what you actually want is "everybody before anybody repeats", that is a rotation rather than a draw, and it is a guarantee rather than a probability. Being clear about which one you are promising is most of what makes a group accept the result: a draw that happens to repeat is fair and feels unfair, and a rotation that never repeats is not random and nobody minds.
The bottom line
Publish the entrant list first and the seed second, both before the draw. Take the seed from something you do not control if the stakes justify it. Never seed anything security-sensitive, because reproducible and unpredictable are opposites. And if what you want is everybody getting a turn, use a rotation and stop calling it a draw.
Other guides
- Choosing a tournament formatKnockout, round-robin, Swiss, double elimination, ladder or boxes — what each costs in time and what each guarantees.
- Running a prize draw people will believeA draw being fair and a draw looking fair are different problems. How to solve the second one without pretending you have solved it.
- Splitting a group fairlyTeams, pairs, rotations or a constraint solver — what 'fair' means in each case, and the ceilings a shuffle cannot get past.