comments about rule 2: "Build upon existing images"
From my point of view this is a clear no-go. Normally we cannot know the state of an existing image – there were cases where people manually intercepted build processes or even manually "unpack&patch&repack" distributions.
It cannot be reliably verified on the image except building it, which essentially means: do not use existing images, but build everything for yourself from locally available data.