I would like to suggest that any lock & safe combinations, passwords; button sequences, (and possibly written maps and instructions) be generated at run-time if appropriate. That way the solution is not always identical for each and every time the game is played.
I recall that "Riven" (by Cyan ~later 'Cyan Worlds') did this for a lot of their puzzles so that the steps to solve them had to be done in the game... If you had to touch several stones in sequence, that sequence was new every time you started a new game; passwords and combinations were unique to each session. You could not open a combination lock for remembering what it was the previous time.