Cada resultado en dice83 se origina en la API de Seguridad Web de tu navegador, la misma fuente de entropía criptográfica que protege la banca en línea. Esta página explica la tecnología y te permite verificarlo tú mismo.
Cuatro pasos entre la realidad física y tu resultado aleatorio.
El ruido térmico, las fluctuaciones eléctricas y los efectos cuánticos en el silicio de tu dispositivo generan señales físicas impredecibles.
Tu sistema operativo recopila, mezcla y acondiciona estas señales en un pool de entropía de alta calidad mediante un CSPRNG.
Tu navegador expone la entropía del SO a través de getRandomValues(), especificado por el W3C.
JavaScript convierte los bytes crudos en resultados: monedas, dados, colores, patrones. El servidor ya ha terminado su trabajo.
Lanza 10.000 monedas con un solo clic. Observa cómo el porcentaje acumulado de caras converge hacia el 50%.
Lanza 10.000 dados de seis caras. El histograma debería aproximarse a una altura igual para las seis caras.
El método getRandomValues() forma parte de la API de Criptografía Web especificada por el Consorcio World Wide Web. La especificación requiere que las implementaciones utilicen un generador de números pseudoaleatorios criptográficamente seguro (CSPRNG) alimentado con suficiente entropía. Todos los navegadores principales cumplen este requisito: Chrome, Firefox, Safari y Edge obtienen datos de la fuente de entropía del sistema operativo, que a su vez recopila aleatoriedad del hardware.
Los bytes aleatorios que impulsan cada herramienta de dice83 cumplen el mismo estándar criptográfico utilizado para generar claves de cifrado, tokens de sesión y nonces de handshake TLS. Esta es la aleatoriedad más fuerte disponible en un navegador web. La especificación existe precisamente porque una aleatoriedad débil comprometería la seguridad de toda la web. Cada proveedor de navegadores implementa y prueba la API de forma independiente según estándares criptográficos.
La página de MDN Web Docs sobre getRandomValues() proporciona documentación técnica, tablas de compatibilidad de navegadores y ejemplos de uso. La sección de la especificación W3C define los requisitos exactos que las implementaciones deben cumplir. Estos son documentos abiertos y públicos mantenidos por la comunidad de estándares web.
La aleatoriedad criptográfica garantiza una distribución uniforme en todo el rango de salida. Cada bit es independiente de todos los demás bits. Ningún observador, incluido el propio dice83, puede predecir la siguiente salida a partir de cualquier número de salidas anteriores. Las dos pruebas en vivo de esta página demuestran estas propiedades de forma empírica: la prueba de convergencia muestra que caras y cruces se aproximan a un 50/50 exacto tras muchas pruebas, y la prueba de distribución muestra que las seis caras del dado aparecen con igual frecuencia. Puedes ejecutar cada prueba tantas veces como desees. Cada ejecución utiliza entropía nueva de tu dispositivo.
El servidor entrega la página. Tu dispositivo genera cada resultado.
Cada valor aleatorio es generado por la API de Seguridad Web de tu navegador. El resultado existe únicamente en la memoria de tu dispositivo. El servidor nunca recibe, almacena ni procesa ningún valor generado.
El historial de lanzamientos y las estadísticas de sesión se almacenan en el localStorage de tu navegador. Puedes borrarlos en cualquier momento desde la configuración de tu navegador. dice83 no tiene acceso a datos en ningún otro dispositivo.
Sin cookies de rastreo, sin píxeles de analítica, sin scripts de fingerprinting. dice83 no establece cookies de ningún tipo. Tu patrón de actividad no deja rastro en ningún servidor.
Cuando compartes una URL de dice83, el destinatario recibe la configuración de la herramienta. Su navegador genera resultados independientes a partir de su propia entropía. Dos personas que visitan el mismo enlace producen resultados completamente separados.
Inspiración Diaria
Trabajo seleccionado por jurado del A' Design Award, presentado fresco cada mañana.