# Create a Controller

Controllers are smart contracts that contain logic which can be used by Safety Modules to determine when to allow assets to be tapped.&#x20;

Controller factories provide an easy way to create new controller contracts programmatically, without the need to implement any custom controller logic. The following controller factories exist:

* [Ownable Controller Factory](https://csm-docs.cozy.finance/developer-guides/create-a-controller/ownable-controller-factory)
