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
- Optional RANDOM.ORG integer requests only after per-session consent
Secure local generation never falls back to the seeded or remote source. Deterministic results are reproducible but not suitable for secrets. The RANDOM.ORG workspace is the sole network-capable feature: it is not the default, requires an explicit consent checkbox, omits credentials/referrer and may still be unavailable because of browser CORS policy. 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.0.zip and checksum sidecar.
Licence
GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.