My default approach is github pages. Its agent independent and if github changes anything to this, i still have the code.
if i need something with personal data, i let the build process encrypt it and js to decrypt it.
If i need save/load/state i use local storage + json import/export.
Slightly ignorant how frugile i'm doing this tbh $4 is not a lot.