Fairness and random selection
Fairness begins with a declared eligible set and a rule applied consistently. The browser engine supplies random values, but the person preparing the list remains responsible for eligibility, duplicates, weights, and the purpose of the draw.
Uniform integer mapping
Core tools use crypto.getRandomValues and rejection sampling so incomplete tails of the 32-bit value space are discarded instead of creating modulo bias. If Web Crypto is unavailable, the interface reports that secure randomness is unavailable rather than falling back to Math.random.
Equal, weighted, and no-replacement rules
Equal rows receive equal chance when weights match. Positive weights receive proportional shares. Multi-winner and unique modes remove each selected row or number from the remaining pool, so probabilities change after a selection.
Input quality is part of fairness
Two identical labels on separate rows are two entries. Missing participants receive no chance. A weight entered incorrectly changes probability. Review the source list, define the rule before drawing, and communicate whether removal or repeated eligibility applies.
Not independent certification
On-page histories and scores can be cleared and are not signed audit logs. The service does not establish participant identity, operator neutrality, device integrity, regulatory compliance, or prize fulfillment. High-stakes processes need an independent procedure.
Fairness guidance reviewed: