This was a quick and dirty implementation, please don't expect it to be totally robust.
Note: Replay version checking occurs on-device and replay data is not sent to the server.