Secrets are a great part of an RPG narrative: the ally who is secretly a traitor, the supposed villain who is really someone in need of help, or the simple general store that's a front for an evil cult. Even secret doors have a long tradition in RPGs. But when you're writing RPG adventures or rules, you should absolutely not be keeping secrets from the GM. You're not being clever writing about the Cult Master through the first third of your adventure and then...surprise! The Cult Master is really masquerading as the dimwitted shopkeeper! The GM should know this from the outset. When you mention the Cult Master, also note that he's got a cover as the town shopkeeper. When you describe the shop, note that the shopkeeper is actually the Cult Master. Wherever your secret touches, spell it all out, even at the risk of repeating yourself a bit.

In short: Spill all your secrets to the reader, even several times. Let the GM worry about keeping those secrets from the players. That's part of the GM's job.

Here's an example: I have a recent adventure in which the PCs must solve a puzzle. That puzzle actually becomes important later in the adventure, too. When the PCs first solve it, I note to the reader: "hey, this is going to come into play later, too, even though the players don't realize it, and here's how." Then, when it comes into play later, I remind the reader, "the characters should remember this from the puzzle they solved in area A3."

The exception, of course, is in read-aloud text (or "boxed text") that you provide for the GM to read directly to the players. Hoard your secrets there. Make the shopkeeper seem like a bit of a harmless doofus when he speaks to the characters, to make his secret villainy all the more shocking to them. Here, you're helping the GM with her job of keeping the secret and revealing them as she sees fit.