how about clr mixed with water?
The lake I run on leaves calcium spots over time and each fall must acid wash my boat with CLR
I mix about 30 clr and 70 water.
sponge it on and about 2 mins later hose it thoroughly including trailer etc,
Boat comes out gleaming and ready for waxing with no decal damage.