If you need to hide how much money was donated to a good cause, you need to reconsider what you doing. The whole point of donations
to charities are for people to see how much money was donated to the cause. Yes, Satoshi wanted Bitcoin to be "digital cash" but he also
recognized that it needs to be pseudo anonymous and not 100% anonymous.
If you need to hide how much money was donated to a good cause
simply give out a separate donation address to each person making a donation (HD wallet comes to mind).
Yes, Satoshi wanted Bitcoin to be "digital cash" my understanding is that the desire was for it to be anonymous but that was a very hard nut to crack so the system was released with pseudo-anonymity. Anonymous transactions was left as an exercise for future developers (meaning us).
To be a complete "digital cash" replacement for "cash" is would be nice if all transactions automatically mixed. It would also be nice to have the network enforce no address reuse. It does not. This is because truly trustless decentralized automatic mixing of transactions is very difficult if not impossible to do and people have become used to reusing addresses.
So, in order to support the privacy and fungibility of the Bitcoin system here are a few
suggestions for you:
NEVER us a vanity address (HD wallet comes to mind)
NEVER us an address more than once (one input, one spend, throw it away, HD wallets do this naturally)
NEVER advertise an address as "yours", if you must do this then use the address only once (HD wallet anyone?).
MIX your coins on a regular basis.