We face the problem of what to do with people like Assange, Manning, and Snowden, to encourage justified whistleblowing, and yet for secrecy to still be available to projects that really need it. (And let's be mindful here that many projects that believe they need secrecy, really do not.)
I propose that any act of whistleblowing done demonstrably out of idealism, and in good faith, should be protected and given immunity for, one time in a person's life. People who have used this card should lose their career, and no longer be employable in this or any other career that requires clearance. But they should be able blow the whistle one time.
Everyone currently employed in careers that require clearance would have to have this card still available to them to avoid someone stacking a team full of people who've already been made to spend their card on purpose.
Everyone in powerful positions would then expect that everyone around them has this one-time get-out-of-jail-free card to report truly problematic issues, at cost of irrevocable career loss.
All secret projects would then be highly concerned with making sure that what they're doing is not against the inner conscience of anyone involved.
To the extent that we can also make sure that careers requiring confidentiality do not, and cannot, employ psychopaths, we would have people with a conscience at all levels of government, making sure that even when something is done in secret, it is being done in line with the wider society's values.
And, perhaps quite rightfully this would lead to many fewer secret projects.