> For the complete documentation index, see [llms.txt](https://csm-docs.cozy.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://csm-docs.cozy.finance/developer-guides/create-a-controller.md).

# 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](/developer-guides/create-a-controller/ownable-controller-factory.md)
