Save the Children avoided criticising companies because they were corporate donors, according to allegations from the charity's former head of news, Dominic Nutt.
Nutt, who worked at the charity from 2007 to 2009, said Save the Children decided against putting out a press release criticising British Gas over price rises while he was there because the company was a corporate donor.
He told Third Sector that he has since been told by former colleagues about other Save the Children campaigns that have been scrapped for fear of offending donors or potential donors.
The charity said "it was simply wrong to suggest its silence can be bought".
Nutt, whose allegations will feature in an episode of Panorama to be broadcast tonight on the BBC, said that corporate donors were buying charities’ silence by "stuffing some NGOs’ mouths with gold".
And he said he was also aware of other charities that showed a similar reluctance to criticise the government because it was a major source of funds.
"Of course there must be compromise," he said. "We live in an adult world and sometimes a dirty world. But Save the Children has gone too far and needs to question itself over the lengths it will go to."
Nutt said that he believed from conversations with others that other charities had pulled campaigns to avoid jeopardising funds. But he said not all charities were guilty of the practice.
"There is one exemplar out there which never did compromise, and that’s Christian Aid," he said. "It has shown there’s a way of working which is effective." Nutt worked for Christian Aid from 1999 to 2007.
Justin Forsyth, chief executive of Save the Children, said in a statement that it was "simply wrong and misleading to suggest our silence can be bought", and that the charity would "continue to campaign on all the areas we think matter most to saving children’s lives both at home and abroad".
He said that corporate partnerships formed just 8 per cent of its budget. "Save the Children would never put in jeopardy our values and our cause by pulling our punches on a campaign for money from a corporate partnership," he said.
Third Sector reported in September that Save the Children expected to increase its income from corporate partnerships from £3.9m in 2009 to a projected £22.5m this year.
The international children’s charity said the growth was the result of a new strategy and of "not being afraid to be commercially-focused".