Speaking about propagation, we mean the distribution of changes made in the system to particular destinations.
For example, simple action as adding a new VO member by VO manager has large consequences as creating /home directories, setting access rights, adding a line in passwd... etc. for the user at all VO's resources.
Propagation does not only transport completely new state to destinations, but also runs pre-installed scripts on machines to make all necessary changes (configure services, create directories, set access rights...).
Propagation of a new state has several significant advantages. Sometimes happened situation when destination must be reinstalled or new hardware is added into infrastructure. Its inner state is lost or empty, but only one update from Perun gives it a new up-to-date state.
Consequently, destinations keep the state until the new one is sent by Perun. The destination can run on their own also when the Perun system would not work.
Package of open-source bash scripts to run on destinations is delivered with Perun installation. There are fully functional and ready to run, but when an administrator wants, he could edit or customize them, or even more, replace them with his own scripts. He has control over what Perun does in the destination fully in his hand.

Propagation workflow