Randomness methodology

This page explains how Heads or Tails Now generates each flip, how animation relates to the outcome, and what the tool does not certify.

Fair bit generation

Each flip calls flipCoin() in utility-core, which draws random bytes via crypto.getRandomValues and maps them to Heads or Tails with rejection sampling when needed for unbiased bits.

Every flip is independent of prior Recent flips unless you interpret patterns yourself—the tool does not apply balancing or streak correction.

Animation versus outcome

The chosen face is fixed when the flip starts. Coin animation only presents that outcome; settling does not trigger a second draw.

When Coin animation is Off, presentation is immediate but the same random draw runs.

Auto-flip scheduling

Auto-flip on timer schedules another Flip coin after Flip timer (seconds) elapses, subject to Pause and whether a flip is already animating.

Timer changes affect delay only, not odds.

Storage and limits

Preferences and Recent flips persist in localStorage under the coinflip namespace on this device.

This is not a certified randomness product, wagering service, or legally witnessed decision system.

Independence and streaks

Each flip draws a fresh fair bit; the tool does not balance streaks or enforce alternating outcomes, which is important when teaching long-run probability versus short-run luck.

Recent flips is an convenience list stored locally; clearing site data removes history on that browser only.

Facilitator responsibilities

Write Heads and Tails meanings before the first flip when stakes matter; re-flipping because someone dislikes the outcome is a social rule outside the software.

For mixed-ability groups, combine Speak result with a facilitator repeating the live region so hearing and sight participants get the same wording.