Our testing · September 23, 2026
NIST Randomness validation
We used the NIST Statistical Test Suite to check one million bits from our Random Numbers API for bias and patterns. Here’s what we found.
Back to Random Numbers14 test groups passed every check.
1 million
Output bits tested
14 / 15
Test groups passed in full
184 / 188
Individual checks passed
For everyday choices, dice rolls and simulations, these results are encouraging. The sample passed every check in 14 of the 15 test groups, including checks for balanced bits, repetition and unusual structure.
The remaining group looks for specific bit patterns. Four of its 148 checks were flagged because those patterns appeared more or less often than expected. The other 144 passed.
Flags can occur by chance in random data. This run does not establish the cause of these four flags; the complete results are included below.
Explore the results by test
| What we checked | Passed | Flagged | Not evaluated |
|---|---|---|---|
| Are zeros and ones reasonably balanced?Frequency (monobit) | 1 | 0 | 0 |
| Does that balance hold across smaller sections?Block frequency | 1 | 0 | 0 |
| Does the sequence drift too far toward zeros or ones?Cumulative sums | 2 | 0 | 0 |
| Does it switch between zeros and ones as often as expected?Runs | 1 | 0 | 0 |
| Are long runs of ones within the expected range?Longest run of ones | 1 | 0 | 0 |
| Does arranging the bits into grids reveal too much structure?Binary matrix rank | 1 | 0 | 0 |
| Are there unusually strong repeating cycles?Discrete Fourier transform | 1 | 0 | 0 |
| Do specific bit patterns occur too often or too rarely?Non-overlapping templates | 144 | 4 | 0 |
| Do overlapping patterns occur as often as expected?Overlapping templates | 1 | 0 | 0 |
| Is the sequence unusually easy to compress?Maurer's universal | 1 | 0 | 0 |
| Do short patterns repeat more than expected?Approximate entropy | 1 | 0 | 0 |
| Does a walk through the sequence revisit positions as expected?Random excursions | 8 | 0 | 0 |
| Are the total visits to those positions within the expected range?Random excursions variant | 18 | 0 | 0 |
| Do different short bit patterns appear in balanced proportions?Serial | 2 | 0 | 0 |
| Can a simple linear rule describe the sequence too easily?Linear complexity | 1 | 0 | 0 |
How we tested
We collected 31,250 numbers through the same API available to customers, then ran all 15 test types in NIST’s Statistical Test Suite. Together, they examine different characteristics of a random sequence.
We used the first complete sample and kept every result. You can download the sample, read the full results or reproduce the checks yourself.
Technical method and sample fingerprint
One sequence of 1,000,000 bits, collected in 32 API jobs across the full signed 32-bit range. We used NIST STS 2.1.2 with default parameters and a significance level of 0.01. A check passes when its p-value meets that threshold.
We preserved the original order, added 2,147,483,648 to each integer and encoded it as unsigned 32-bit big-endian bytes, read most-significant bit first. No values were filtered, substituted or padded. Individual tests use their standard block handling.
The suite was checked against NIST’s reference sample before testing our output. This run evaluates one sequence; the original logs’ multi-sequence summary fields are not used in our results.
Sample SHA-256:
7c8b5ba8632c97a0af747a51e3940b76ab21edbd84ff9d98933ef22e7a264611
The full results
Open any test to see its individual checks and p-values, using the same numbering and precision as the original logs.
Frequency (monobit) · 1 passed
Are zeros and ones reasonably balanced?
- 0: 0.874457 · Passed
Block frequency · 1 passed
Does that balance hold across smaller sections?
- 0: 0.186022 · Passed
Cumulative sums · 2 passed
Does the sequence drift too far toward zeros or ones?
- 0: 0.753323 · Passed
- 1: 0.890593 · Passed
Runs · 1 passed
Does it switch between zeros and ones as often as expected?
- 0: 0.108720 · Passed
Longest run of ones · 1 passed
Are long runs of ones within the expected range?
- 0: 0.462613 · Passed
Binary matrix rank · 1 passed
Does arranging the bits into grids reveal too much structure?
- 0: 0.884661 · Passed
Discrete Fourier transform · 1 passed
Are there unusually strong repeating cycles?
- 0: 0.620220 · Passed
Non-overlapping templates · 144 passed, 4 flagged
Do specific bit patterns occur too often or too rarely?
- 0: 0.488543 · Passed
- 1: 0.024912 · Passed
- 2: 0.956441 · Passed
- 3: 0.064138 · Passed
- 4: 0.762904 · Passed
- 5: 0.645609 · Passed
- 6: 0.877426 · Passed
- 7: 0.062192 · Passed
- 8: 0.657117 · Passed
- 9: 0.599571 · Passed
- 10: 0.831365 · Passed
- 11: 0.994429 · Passed
- 12: 0.685766 · Passed
- 13: 0.839431 · Passed
- 14: 0.140180 · Passed
- 15: 0.581135 · Passed
- 16: 0.260878 · Passed
- 17: 0.793349 · Passed
- 18: 0.170406 · Passed
- 19: 0.957863 · Passed
- 20: 0.669801 · Passed
- 21: 0.720717 · Passed
- 22: 0.385986 · Passed
- 23: 0.558315 · Passed
- 24: 0.284879 · Passed
- 25: 0.723856 · Passed
- 26: 0.608299 · Passed
- 27: 0.049763 · Passed
- 28: 0.255052 · Passed
- 29: 0.475974 · Passed
- 30: 0.152873 · Passed
- 31: 0.318727 · Passed
- 32: 0.194078 · Passed
- 33: 0.419182 · Passed
- 34: 0.573074 · Passed
- 35: 0.862910 · Passed
- 36: 0.678086 · Passed
- 37: 0.905982 · Passed
- 38: 0.053715 · Passed
- 39: 0.738536 · Passed
- 40: 0.114697 · Passed
- 41: 0.137630 · Passed
- 42: 0.603107 · Passed
- 43: 0.798974 · Passed
- 44: 0.493835 · Passed
- 45: 0.158049 · Passed
- 46: 0.543328 · Passed
- 47: 0.644779 · Passed
- 48: 0.773656 · Passed
- 49: 0.020469 · Passed
- 50: 0.056791 · Passed
- 51: 0.164637 · Passed
- 52: 0.063038 · Passed
- 53: 0.161315 · Passed
- 54: 0.067242 · Passed
- 55: 0.362401 · Passed
- 56: 0.187426 · Passed
- 57: 0.241129 · Passed
- 58: 0.668261 · Passed
- 59: 0.372514 · Passed
- 60: 0.647982 · Passed
- 61: 0.862440 · Passed
- 62: 0.676430 · Passed
- 63: 0.101853 · Passed
- 64: 0.777323 · Passed
- 65: 0.699900 · Passed
- 66: 0.924132 · Passed
- 67: 0.498153 · Passed
- 68: 0.335881 · Passed
- 69: 0.502265 · Passed
- 70: 0.211426 · Passed
- 71: 0.777323 · Passed
- 72: 0.115895 · Passed
- 73: 0.004054 · Flagged
- 74: 0.488543 · Passed
- 75: 0.858749 · Passed
- 76: 0.950257 · Passed
- 77: 0.756805 · Passed
- 78: 0.284017 · Passed
- 79: 0.006315 · Flagged
- 80: 0.703070 · Passed
- 81: 0.291605 · Passed
- 82: 0.123073 · Passed
- 83: 0.424378 · Passed
- 84: 0.456302 · Passed
- 85: 0.592041 · Passed
- 86: 0.657829 · Passed
- 87: 0.535657 · Passed
- 88: 0.436850 · Passed
- 89: 0.118131 · Passed
- 90: 0.063630 · Passed
- 91: 0.452269 · Passed
- 92: 0.020461 · Passed
- 93: 0.283626 · Passed
- 94: 0.831772 · Passed
- 95: 0.226946 · Passed
- 96: 0.421215 · Passed
- 97: 0.943310 · Passed
- 98: 0.625687 · Passed
- 99: 0.903340 · Passed
- 100: 0.118975 · Passed
- 101: 0.704595 · Passed
- 102: 0.147470 · Passed
- 103: 0.159131 · Passed
- 104: 0.541378 · Passed
- 105: 0.977977 · Passed
- 106: 0.273822 · Passed
- 107: 0.441122 · Passed
- 108: 0.161415 · Passed
- 109: 0.185512 · Passed
- 110: 0.454389 · Passed
- 111: 0.185736 · Passed
- 112: 0.047072 · Passed
- 113: 0.204537 · Passed
- 114: 0.398180 · Passed
- 115: 0.250605 · Passed
- 116: 0.199489 · Passed
- 117: 0.421419 · Passed
- 118: 0.491737 · Passed
- 119: 0.623555 · Passed
- 120: 0.112006 · Passed
- 121: 0.992162 · Passed
- 122: 0.590044 · Passed
- 123: 0.047407 · Passed
- 124: 0.960275 · Passed
- 125: 0.434671 · Passed
- 126: 0.205814 · Passed
- 127: 0.195127 · Passed
- 128: 0.224189 · Passed
- 129: 0.817444 · Passed
- 130: 0.138592 · Passed
- 131: 0.483826 · Passed
- 132: 0.004557 · Flagged
- 133: 0.076549 · Passed
- 134: 0.963382 · Passed
- 135: 0.380791 · Passed
- 136: 0.786912 · Passed
- 137: 0.665773 · Passed
- 138: 0.629005 · Passed
- 139: 0.060489 · Passed
- 140: 0.284800 · Passed
- 141: 0.195829 · Passed
- 142: 0.295132 · Passed
- 143: 0.686002 · Passed
- 144: 0.261319 · Passed
- 145: 0.669327 · Passed
- 146: 0.848525 · Passed
- 147: 0.004054 · Flagged
Overlapping templates · 1 passed
Do overlapping patterns occur as often as expected?
- 0: 0.828687 · Passed
Maurer's universal · 1 passed
Is the sequence unusually easy to compress?
- 0: 0.614901 · Passed
Approximate entropy · 1 passed
Do short patterns repeat more than expected?
- 0: 0.519719 · Passed
Random excursions · 8 passed
Does a walk through the sequence revisit positions as expected?
- 0: 0.219325 · Passed
- 1: 0.376025 · Passed
- 2: 0.302738 · Passed
- 3: 0.997984 · Passed
- 4: 0.638494 · Passed
- 5: 0.621859 · Passed
- 6: 0.962349 · Passed
- 7: 0.358395 · Passed
Random excursions variant · 18 passed
Are the total visits to those positions within the expected range?
- 0: 0.680865 · Passed
- 1: 0.570971 · Passed
- 2: 0.502285 · Passed
- 3: 0.527650 · Passed
- 4: 0.532993 · Passed
- 5: 0.558961 · Passed
- 6: 0.754835 · Passed
- 7: 0.988513 · Passed
- 8: 0.841870 · Passed
- 9: 0.600493 · Passed
- 10: 0.954074 · Passed
- 11: 0.928907 · Passed
- 12: 0.954901 · Passed
- 13: 0.822415 · Passed
- 14: 0.641088 · Passed
- 15: 0.538180 · Passed
- 16: 0.536487 · Passed
- 17: 0.390419 · Passed
Serial · 2 passed
Do different short bit patterns appear in balanced proportions?
- 0: 0.385271 · Passed
- 1: 0.046110 · Passed
Linear complexity · 1 passed
Can a simple linear rule describe the sequence too easily?
- 0: 0.663200 · Passed