Cztery panele, jedno źródło losowości. Liczby z zakresu, z powtórzeniami albo bez. Wklejona lista: przetasowana, wylosowana z niej garść albo podzielona na drużyny. Kostki w standardowym zapisie i rzuty monetą z podsumowaniem. UUID, losowe bajty i tokeny.
Narzędzie używa crypto.getRandomValues, a nie Math.random. Math.random jest szybki, ma ziarno i da się go odtworzyć: z kilku wyników można wyliczyć jego stan i przewidzieć resztę. Przy grze w kości nikomu to nie przeszkadza. Przy konkursie, który ktoś może zakwestionować, albo przy identyfikatorze, który ma być nie do odgadnięcia, to niewłaściwe narzędzie, a mieszanie obu oznaczałoby, że jedna część generatora jest po cichu słabsza od reszty.
Liczby są równomierne, a to trudniejsze, niż brzmi. Wzięcie wartości losowej modulo rozmiar zakresu faworyzuje dolny koniec zawsze wtedy, gdy zakres nie dzieli źródła równo: przy jednym bajcie i stu uczestnikach pierwszych pięćdziesiąt sześć numerów jest o połowę bardziej prawdopodobnych niż reszta. Ten silnik odrzuca wartości, które by to powodowały, i losuje ponownie, więc każdy wynik ma dokładnie tę samą szansę. Tasowanie to z tego samego powodu algorytm Fishera-Yatesa.
Narzędzie nie prowadzi historii, nie zapisuje listy i nie korzysta z pamięci lokalnej. Lista uczestników nie jest ustawieniem, więc znika wraz z zamknięciem karty.