You are verifying a Roblox game is ready to publish. Work through every category below. For each item, check it and note PASS/FAIL/SKIP with a brief explanation.
1. Data & Persistence
DataStore save/load tested - Player data saves on leave and loads on rejoin correctly
Session locking verified - Using ProfileStore or equivalent; no concurrent data corruption
BindToClose implemented - Server saves data before shutdown (game close, server hop)
Data migration plan - If updating an existing game, schema migration handles old data formats
Edge case: disconnect during save - Data not lost if player disconnects mid-save
Edge case: multiple DataStore calls - No race conditions from parallel saves
2. Security
All remotes validated server-side - Every RemoteEvent/RemoteFunction checks argument types, ranges, and ownership
No sensitive data exposed - ReplicatedStorage, StarterPlayer have no server-only logic or secrets
Rate limiting on all remotes - Per-player throttling prevents flooding/exploitation
No client-trusted game logic - Currency, inventory, damage, positions calculated server-side only
ProcessReceipt handled correctly - Grant item THEN return PurchaseGranted; NotProcessedYet on failure