Let me explain. Basically, our server generates a random deck (initial deck) for every new game, hash it (with SHA256) and shows it to player. Player provides a "player seed", which is used becomes the seed to a Mersenne Twist shuffle. At the end of the game, server shows the initial deck which can be verified using the SHA256 hash provided.
By giving the verifiable hash of the initial deck and requiring input from player to reshuffle the deck, it's impossible for us to change the outcome of the game.
I'm happy to walk you through the process in more details.