What properties of zinc chromate make it a good anticorrosion paint? I know that stainless steel is protected by a layer of chromium oxide. Is it because the zinc chromate doesn't flake off the metal it is protecting?
Long story short, if it's scratched in the presence of water(humidity) the chromium ion inside the chromate will get reduced to Cr 3+ from Cr 6+. This 3+ ion will then form a Chromium hydroxide compound,which is insoluble in water and corrosion resistant, inside the scratch. This reduction of the chromium ion first is what inhibits the oxidation of the underlying metal.
Here's the full article http://www.electrochem.org/dl/interface/wtr/wtr01/IF12-01-Pages34-38.pdf
The answer: Being water resistant in the first place and being capable of producing ions that can be reduced forming another corrosion resistant compound( chromium(III)oxy-hydroxide.)