<strong>Build system:</strong> The build system needs to be entirely deterministic. Transforming a given source must always produce the same result. For example, the current date and time must not be recorded, and the output always has to be written in the same order.
Users should be given a way to recreate a close enough build environment, perform the build process, and <strong>validate</strong> that the output matches the original build.