Many products say “May contain milk”, “May contain egg”, or something similar. They say that but do not have milk and eggs listed in the actual ingredients. This can be confusing for consumers.
As far as I can tell, the “May contain” information is primarily meant for food allergy sufferers. It is to warn them that very small traces of those ingredients might accidentally find their way into the food. This is because the factory uses those ingredients in other foods they manufacture.
This can be why foods which appear to be vegan in their ingredients, do not state they are suitable for vegans. When the cross contamination controls are not tight enough in the facility where the product is made, the Vegan Society will not consider it vegan. However, there are other reasons it may not be labelled vegan. For instance, if it has vitamin D in it, this could be either from an animal or a plant source. As it does not specify on the packaging, contacting the manufacturer is the only way to find out.
There are different levels of how contaminated the food may be with animal products from other food products manufactured in the same facility. Sadly, food labels do not currently state those details. If they did, vegans would better be able to decide for themselves whether they considered something vegan.
The general rule – at least for beginner vegans – is that as long as the actual ingredients are vegan, then the “May contain…” information can be considered to be an allergy warning only. Having said that, individual vegans can decide for themselves whether they feel something is suitable for them.