For stainless, there is a citric-acid based product line called "Citrisurf". They offer cleaning, passivating, and polishing formulas and equipment. I wanted a small amount to do some electrocleaning and passivating of stainless for jewelry -- after some discussions with the company and a look at their MSDS, i decided to do some experimenting on my own. For the record, the company was very helpful and even offered to send me a few samples of their products, but the minimum purchase quantities are way more than I could ever use.
Anyway, I got good results on 416 stainless with a home-brew mixture of
10% food-grade citric acid, and 1% disodium EDTA, dissolved in distilled water and run at about 90 celsius. I was using a home-made brush plating setup (with reverse polarity, of course) at about 18 volts, and the "wand" was a piece of flattened copper tubing with a strip of fine scotch-brite wrapped over it and secured with a wire tie.
I got very good results with electrocleaning, being able to easily remove the brown heat-stain from prior silver-soldering. After final polishing, I then passivated the pieces with a 20-minute soak in the hot solution.
Cleaning and passivation seemed to work well -- I also noticed a reasonable amount of polishing action during the cleaning, though that was not my principal objective.
In this formula, the sodium EDTA serves as a chelating agent to hold dissolved metal in solution.