From HMAC-SHA256 to Verifiable Results: A JavaScript Walkthrough
A result can look random while still being reproducible. That is the useful idea behind a provably fair protocol: commit to a secret input, combine it with public inputs through a documented algorithm