Data and random selection
Methodology
Exact pools, local sources, auditable algorithms and explicit limits for every draw.
Three named pools
The 193 pool is an explicit list of current UN members. The 195 pool adds Holy See and State of Palestine, the two UN observer states. The 249 pool combines 248 alpha-coded UN M49 rows with TW to represent ISO 3166-1 countries and areas. ISO areas are not described as sovereign states.
Snapshot and provenance
Dataset countries-2026-08 is checked into the application. UN M49 supplies codes and statistical groupings; pinned CLDR 48 supplies nine localized display-name sets; flag-icons 7.5.0 supplies local MIT-licensed SVG flags. Source URLs, retrieval hashes and licences are recorded with the snapshot.
- No REST Countries or other runtime geography API.
- CLDR special codes AC, CP, CQ, DG, EA, IC, TA and XK are excluded.
- Antarctica carries an explicit null M49 region rather than an invented grouping.
Fresh random algorithm
Fresh mode obtains unsigned 32-bit values from Web Crypto. Rejection sampling discards the modulo tail, then Fisher–Yates shuffles a stable candidate list. A batch is taken without replacement and no network request is made. With N eligible entries, each entry has probability 1/N on the first draw; any particular ordered sequence of k results drawn without replacement has probability 1/[N × (N−1) × … × (N−k+1)].
Reproducible algorithm
Seeded mode normalizes the seed, hashes its UTF-8 bytes with a versioned 32-bit FNV-1a mix and feeds a documented Mulberry32-family generator. The same seed, candidate identifiers, dataset version and rcg-seeded-v1 algorithm produce the same order. The public test vector over the first 10 sorted ISO identifiers is class-7 → ar, ad, ae, al, aq. Seeded output is reproducible, not secure for lotteries or adversarial decisions.
Deck, replay and exports
A no-repeat deck stores only stable identifiers and a cursor. Share fragments contain versioned configuration and identifiers after #, so the state is not sent in the page request. CSV and JSON outputs carry the active dataset version; incompatible future links fail clearly instead of silently changing a draw.
Maintenance and corrections
The source set is reviewed at least quarterly and after a confirmed major naming or status change. Updates require a generated diff, exact 193/195/249 assertions and human review of sensitive cases. The classification is functional and expresses no position on sovereignty.