Wordle is run entirely locally. The entire game is just one JavaScript file and one minimal HTML page to include it. If you are concerned about the NY Times messing it up, just download these two files and you’ll have an untouched wordle forever, even if you lose Internet access.
Hard-coded into the JavaScript program is a pre-set word list. If you look at the word list in the source code it looks like this:
var La = ["cigar", "rebut", "sissy", "humph", "awake",...
This word list is clearly taken from some public source such as a spell checking dictionary, and then just filtered it to only 5-letter words. It also seems that it was randomly shuffled before being pasted into the source code, because any dictionary source would almost definitely be in alphabetical order.
How does it select the word for today from the list?
var Ha = new Date(2021, 5, 19, 0, 0, 0, 0);
function Na(e, a) {
var s = new Date(e),
t = new Date(a).setHours(0, 0, 0, 0) - s.setHours(0, 0, 0, 0);
return Math.round(t / 864e5)
}
...
function Ga(e) {
return Na(Ha, e)
}
...
e.dayOffset = Ga(e.today)
It takes the current date from your computer. Then it subtracts it from May 19, 2021. Then it divides that by 864e5 and rounds it off. This gives a number which is an index into the word list. Even if the list of thousands of words were somehow hand-crated, the creator of Wordle could not possibly know the exact sequence these words would be selected from that list before writing this code.
Without cheating, any so-called intuition about today’s word is purely an illusion caused by the flaws of human cognition, mostly confirmation bias.
Also, absolutely nothing stops anyone from knowing what word will be selected on every single day forever just by writing a tiny amount of JavaScript in the console. Many people have done this already, and that is how come spoiler bots are possible.
Of course, even if the word were hand-crafted and downloaded from an API on a daily basis, as long as everyone gets the same word every day, spoiler bots are still possible. Someone can just solve it at midnight and then share. The only difference would be that there would be no way to know future words in advance.