In various embodiments described herein, a method of dynamic software distribution and synchronization, includes identifying a software state change of a network device, generating a secure manifest configured for the network device, selecting a distribution strategy, propagating the secure manifest and one or more software objects, and receiving a synchronization report.