According to this article in 2016
the agreement was put into secrecy at the request of SA
It took several discreet follow-up meetings to iron out all the details, Parsky said. But at the end of months of negotiations, there remained one small, yet crucial, catch: King Faisal bin Abdulaziz Al Saud demanded the country’s Treasury purchases stay “strictly secret,” according to a diplomatic cable obtained by Bloomberg from the National Archives database.
The agreement consists only two parts, pricing oil sales in dollor and buying treasury with surplus dollar income. With one part being a secret, the whole agreement has to be kept secret.
Another thing worth to remember is that all public discussion of the agreement talked about "
pricing SA's oil export in dollar exclusively". Without seeing the text of the agreement, I must say that SA's obligation is only to set the price in dollar and buy US treasure bond in USD. Without breaking the agreement SA can take other currencies as payment such as EURO and RMB, then convert them to USD to buy US bond. I think SA has been selling oil to EU in EURO for a long time.