Demi-Permanent hair colors which some people mistakenly call semi-permanent will lasts from 12 to 24 shampoos. It contains a small amount of peroxide but no ammonia.
Permanent Hair Colors
All permanent hair color products and lighteners contain a developer, or oxidizing agent, and an alkalizing agent (most often ammonia).
When the tint containing the alkalizing ingredient is combined with the developer cause a chemical reaction that swells the hair permitting the tint to enter the cortex, where the melanin is located. The melanin is lightened and subsumed by the new color. The ammonia swells the cuticle of the hair to allow the color pigments to penetrate deep into the hair shaft.