Fairness – How dice83 Generates Random Results | dice83 

Verifiably Fair

Every result on dice83 originates from your browser's Web Security API, the same cryptographic entropy source that secures online banking. This page explains the technology and lets you verify it yourself.

Architecture

The Source of Randomness

Four steps between physical reality and your random result.

Hardware Entropy

Thermal noise, electrical jitter, and quantum effects in your device's silicon generate unpredictable physical signals.

OS Entropy Pool

Your operating system collects, mixes, and conditions these signals into a high-quality entropy pool via a CSPRNG.

🌐

Web Security API

Your browser exposes the OS entropy through getRandomValues(), specified by the W3C.

dice83 Transforms

JavaScript maps raw bytes into results: coins, dice, colors, patterns. The server is already finished.

Live Proof

Coin Convergence Test

Flip 10,000 coins in one click. Watch the running heads percentage converge toward 50%.

Heads
Tails
Heads %
From 50%
Live Proof

Dice Distribution Test

Roll 10,000 six-sided dice. The histogram should approach equal height for all six faces.

Chi-squared
< 11.07
Threshold (p=0.05)
Result

The W3C Standard

The getRandomValues() method is part of the Web Cryptography API specified by the World Wide Web Consortium. The specification requires that implementations use a cryptographically strong pseudorandom number generator (CSPRNG) seeded with sufficient entropy. Every major browser fulfills this requirement: Chrome, Firefox, Safari, and Edge all draw from the operating system's entropy source, which in turn collects hardware randomness.

What This Means for You

The random bytes that power every dice83 tool meet the same cryptographic standard used for generating encryption keys, session tokens, and TLS handshake nonces. This is the strongest randomness available in a web browser. The specification exists precisely because weak randomness would compromise the security of the entire web. Every browser vendor independently implements and tests the API to cryptographic standards.

Verification Resources

The MDN Web Docs page for getRandomValues() provides technical documentation, browser compatibility tables, and usage examples. The W3C specification section defines the exact requirements implementations must meet. These are open, public documents maintained by the web standards community.

Statistical Properties

Cryptographic randomness guarantees uniform distribution across the output range. Every bit is independent of every other bit. No observer, including dice83 itself, can predict the next output from any number of previous outputs. The two live tests on this page demonstrate these properties empirically: the convergence test shows that heads and tails approach exact 50/50 over many trials, and the distribution test shows that all six dice faces appear with equal frequency. You can run each test as many times as you wish. Every run uses fresh entropy from your device.

Privacy

Your Data Stays Yours

The server delivers the page. Your device creates every outcome.

Results are local

Every random value is generated by your browser's Web Security API. The result exists only in your device's memory. The server never receives, stores, or processes any generated value.

History is yours

Roll history and session statistics live in your browser's localStorage. You can clear them at any time through your browser settings. dice83 has no access to data on any other device.

Zero tracking footprint

No tracking cookies, no analytics pixels, no fingerprinting scripts. dice83 sets no cookies of any kind. Your activity pattern leaves no trace on any server.

Sharing is safe

When you share a dice83 URL, the recipient receives the tool configuration. Their browser generates independent results from its own entropy. Two people visiting the same link produce completely separate outcomes.

Design excellence, every day.

Jury-selected work from the A' Design Award, presented fresh each morning.