Why can't I add modules and transaction guards to my Safe via the UI?
The functionality of the Safe contracts can be extended via modules and via transaction guards.
Modules allow to bypass the classic multi-signature n-out-of-m access control scheme in order to cover all kinds of other schemes. Learn more about modules here.
Transaction guards allow to add additional access control checks on top of the n-out-of-m scheme. Learn more about transaction guards here.
You see an overview of enabled modules and transaction guards in the settings of your Safe. It is currently not possible to easily add a module or a transaction guard via the UI. Instead, direct contract interaction has to be used. Please refer to the respective help center articles to learn how:
📄 What is a transaction guard?
Why does this inconvenience exist?
Both modules as well as transaction guards have a direct effect on the security of the Safe and all assets it holds.
A malicious module can potentially drain all assets from a Safe and/or change the owner structure.
A bad transaction guard can make a Safe unusable without a way to recover.
Currently, the scope of all actions that the UI currently supports in a nice way such as sending assets or changing the owner structure is relatively limited. The impact of a bad action is visible on the transaction review screens beforehand.
When enabling a module or a transaction guard this impact is not that easily displayable, since they can vary greatly in their nature. Besides, most modules require anyway a UI extension in order to be usable, for instance the spending limit module. Since a custom UI is required anyway, we think that this custom UI should be used to enable the module as well. The same is true for transaction guards.
