The player and their device
The player
Put the player into the game — their avatar on the podium, their name on the trophy, a face on the rival they are chasing. Write the signed-out version first: most of the feed is signed out, so an absent avatar is the common case rather than an edge case, and a signed-out player must get the same game with less decoration, never a worse game. Never render a broken image, the word null, or a gap where a face should be.
This is the same handle and picture already on every leaderboard and profile page, so nothing private crosses the boundary — and your game runs under connect-src 'none', with no network at all, so the data cannot leave the frame it was drawn in.
Saving progress
Your game has no localStorageand no network, so this is the only way to keep anything between runs. It is per player per game, it follows a signed-in player to their other devices, and a signed-out player's save is kept against their device and carried into their account if they sign in later.
Haptics
A buzz is the one bit of feedback a phone can give that a screen cannot. Used sparingly it makes a hit feel like a hit; used constantly it is why people put the phone down.
Environment
Facts about the player and the surface your game is drawn on that the platform knows and your sandboxed game cannot see reliably for itself. All of it is on the handshake snapshot and free to read.

