One idea, is for spectator mode, allow a password for someone to be the moderator. That person can see both players hands at all times. The moderator would have to be trustworthy of course, otherwise deck info could leak out.
How it could be implemented:
Start a game, with the option *allow moderation*
If you choose *allow moderation* you will be prompted for a password, create one you and the opponent agree on beforehand
Once you go to spectator mode, you have the option to *moderate game*
Only the first person to put in the password will be able to moderate, If it wasnt the predesignated person, you know there is a cheating attempt.
That moderator would also be able to view deck code at the end of the match to see if there was any cheating.
This now goes based on the values of the moderator for that game, however, i think it is a better way to do it.