Источник случайности
Генератор обращается к crypto.getRandomValues() — криптографическому генератору современного браузера. Индекс символа выбирается методом отбрасывания: значения, которые дали бы смещение при делении по модулю, не используются.
Выбранные классы действительно присутствуют
Если включены строчные и заглавные буквы, цифры и спецсимволы, результат принимается только тогда, когда в нём встречается каждый класс. Все допустимые результаты при этом остаются равновероятными.
Что покидает страницу
Созданные значения не отправляются на сервер Parolio и не записываются в локальное хранилище. Браузер сохраняет только настройки генератора, тему и выбранную палитру. При нажатии «Копировать» значение попадает в системный буфер обмена — доступ к нему может зависеть от вашей ОС, браузера и расширений.
Открытые стандарты
Описание используемого браузерного интерфейса доступно в спецификации Web Cryptography API. Реализация генератора отделена от интерфейса и покрыта автоматическими тестами.