Random order

This page explains how Fair Name Picker shuffles eligible names, applies elimination, and what randomness guarantees apply.

Eligible pool construction

Names come from normalized lines in the textarea after you edit or load lists. Empty lines drop out; Dedupe collapses case-insensitive duplicates.

When Elimination is enabled, names in wonHistory are removed from the eligible pool until Reset history clears that array.

Shuffle and winner selection

Each draw shuffles the eligible array with Fisher–Yates using crypto.getRandomValues, then takes the first N entries as winners where N is Winners.

Random order uses the same shuffle helper to permute the entire list for sequencing tasks without marking winners.

Built-in database sample

The optional SSA-inspired name list is a static convenience file bundled with the app—not a live government API.

Load sample draws a random subset of that file; it is intended for demos, not production contest entrant lists.

Storage and non-guarantees

Lists, saved lists, wonHistory, and pickHistory persist under the picker namespace in localStorage.

The tool does not create tamper-evident audit trails, prevent duplicate entrants across browsers, or certify legal random drawings.

Draw order and duplicates

Each pick removes a name from the eligible pool when without-replacement mode applies; duplicate lines in the paste area can be collapsed before drawing.

Winner history is local convenience storage, not a notarized record for regulators.

Giveaway disclosure

Official contests need external rules, eligibility, and prize fulfillment; this tool only supplies an auditable draw order among pasted names.

Hosts should screen share the full list before drawing when audience trust matters.