Recommended defaults: 4 attempts, 100ms initial, 30s max, full jitter,
retry on the four transient codes above. Override individual fields via
the named parameters.
Cryptographically-secure uniform draw in [0.0, 1.0). Uses
Random.secure(), which is backed by the platform CSPRNG
(/dev/urandom, BCryptGenRandom, or Window.crypto.getRandomValues).
Acceptable under FIPS 140-3 on platforms whose CSPRNG is validated.