Hi and welcome.
Not sure you can ever stop nasty's from ruining the look of your nice new canvas, or if there is a product as you describe. Our rag top is white and I find that a regular wash down with a mild household detergent works well, stops the dirty little devils getting to stuck. And for more stubborn stains "Black streak remover" works really well and is available most chandlers.
Ian
<hr width=100% size=1>I'd rather have a bad day boatin, than a good day workin ! ! !
We are about to replace all our canvas work, sprayhood, dodgers, sailcover, bimini and convert the bimini to a full cockpit cover. I therefore asked this question of several hood makers and also the canvas importers Kayospruce www.sailcloth.co.uk but they all said they knew of nothing. I cannot help thinking that somewhere out there there is such a product, like the stuff they treat carpets etc with, so if anyone has any ideas I too would be very interested!
Go to any camping shop and buy a good tent protector. We do ours every year this way and it still looks like new. Don't be stingy with it though, you must use lots to give a really good protection.
Happy spraying
Trazie