1.7 KiB
Random Tools
Generate secure or reproducible random values locally in the browser.
Random Tools is a standalone local-first application in the add·ideas Toolbox. Inputs are processed in the browser and are not uploaded.
Version 0.1 scope
- Unbiased local WebCrypto integers and strings plus normal-distribution samples
- Explicitly non-cryptographic, seeded deterministic generation with reproduction metadata
- Dice expressions, sampling without replacement, Fisher–Yates shuffling and passphrases
- UUIDv4, UUIDv7 and random ULID generation
- Local draws for coin flips, shuffled card deals and unique integer sequences
- Random calendar dates with weekday and uniqueness controls, exact decimal fractions, and equal-area spherical coordinates
All functionality runs locally. Secure generation never falls back to the seeded source, and deterministic results are reproducible but not suitable for secrets. Recipes for custom passphrases identify the normalized list by count and SHA-256 but do not embed it, so reproduction requires the same custom input. The browser CSPRNG is not physical entropy, and no operation is presented as certified for regulated drawings or gambling. See docs/ARCHITECTURE.md and docs/PRIVACY-SECURITY.md.
Development
Requires Node.js 22 and npm 11.
npm ci
npm run check
npm run test:browser
Release
npm run release:artifact creates a deterministic release/rand-tools-0.1.1.zip and checksum sidecar.
Licence
GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.