This one splits freelancers, and I think it matters more than most build decisions.
Option one: you host everything. The client’s workflows run on your n8n, with their API keys saved in your credentials. You charge a monthly fee, you can fix things fast, and the client never has to think about it.
Option two: the client owns it. Their n8n account, their logins, their API keys. You get access while you build and support it, and they can remove you whenever they want.
I go with option two, even though option one pays better month to month. If I get sick or busy, the client’s business keeps running. Their customer data never sits in an account they cannot see. And if they want to leave me, they can, which honestly makes me work harder to keep them happy.
The downside is real though. Clients forget to pay the n8n bill, change a password, or lose the login, and you end up doing more admin than you planned.
A checklist I would run before handing over any client workflow:
- Every credential is connected with the client’s accounts, not yours.
- Every setting the client might change sits in one settings node at the start, so they never have to dig through the workflow.
- Errors go to a channel or inbox the client actually reads, not only your Slack.
- You have written down how to remove your access, and the client knows where that note is.
All six of my templates are built for option two. Credentials go in through n8n’s own credentials, and everything a user might change sits in one settings node at the start. You can find them in the n8n template library under my name.
What do you do with your clients, and why? If you host for them, what happens when one wants to leave?