I wrote up a random, quirky system regarding keeping secrets separate from player knowledge so as to avert those problems of keeping GM info away from Player info. The solution? Make it so secret and random, not even the all-knowing GM knows about it. How does it work? Simple:
To start with, ask the GME “does [insert NPC here] have a secret?” at 50/50 odds. If yes, then they have a secret. What is it? Well, you don’t know. No one knows. Until a designated time in which the secret is revealed (up to you on how to determine it, but I’d probably use NPC Action ([NPC with the secret]) as the “This is when he reveals his secret” moment), you have no idea what the secret is. It helps for a good twist.
For the rest of the game until the secret is revealed, if you pick up any sort of hints that might involve the secret in question (like you think the NPC is a vampire or is the bastard son of a noble), note that. If it comes up multiple times, note how many times it comes up. This will contribute to the big reveal.
When it comes for the reveal, ask the GME what you think is the big secret from the list of possible ideas you have, with the odds ranked depending on how many times it came up (1 time = No Way!, 2 = Unlikely, 3 = Likely, 4 = Near Sure Thing, 5 = Has To Be!). If the answer comes up yes, then congratulations, you figured out the secret! If none of them are the big secret, roll on the Event Meanings or some other secret generator (not sure if Mobius has one) to figure out what the real secret is.