The governing African National Congress has pushed a bill through South Africa's parliament to protect state secrets, despite strong objections from opposition politicians who included white conservatives and black nationalists who were enemies under apartheid.
Opponents, who include church and business leaders and Nobel laureates, say the measure will keep government corruption under wraps, stifle whistle-blowing and undermine the hard-won democracy created with apartheid's end 17 years ago.
The ANC says South Africa needed to update apartheid-era legislation defining secrets and setting out punishments for divulging them, and that it has no intention of trampling on free expression and a muckraking media.
Opponents had expected parliament, where the ANC has a large majority, to approve the bill. They were already preparing to challenge the measure at the Constitutional Court if it becomes law.
Tuesday's 229-107 vote, during a lively session that saw ANC and opposition politicians trading barbs, came after months of fierce debate. The bill's critics included two Nobel prizewinners: retired Archbishop Desmond Tutu, a peace laureate, and literature laureate Nadine Gordimer.
The office of Nelson Mandela, South Africa's first post-apartheid president and also a Nobel peace laureate, also has expressed reservations about the bill.
Critics donned black and staged protests at the ANC's downtown Johannesburg headquarters during Tuesday morning rush hour and in the afternoon outside parliament in Cape Town as MPs voted, saying the bill's weaknesses include its lack of a provision allowing those who break the law to avoid going to jail if they could argue they acted in the public interest.
While the bill makes it a crime to divulge state secrets, it also makes it a crime for an official to withhold information to conceal wrongdoing or incompetence, or merely to avoid embarrassment.
In June, the ANC backed down on some of its original proposals, removing mandatory prison sentences for possessing and publishing secrets - though reporters and others could still be jailed for publishing information that officials want kept secret. The ANC also agreed to limit the power to classify secrets to state security agencies, and proposed that an independent official review appeals of state security rulings on classified information.