Perhaps I'm naive but I've only just found out about secrecy clauses relating to salary discussions; the sector that I've always worked in is transparent about salaries which relate directly to experience within the company.
If you have to sign a secrecy clause, how do you know that you're being paid a fair amount compared to your colleagues? Is this the norm in many industries?