Hi @andrew. If you want complete independence between your customers, then separate tenants would be the way to go.
Auth0 unfortunately doesn’t currently offer a way to create individual tenants via API, so the first step still is a manual operation. Note that much of the setup (like configuring social providers) will likely involve manual setup as well. For instance, if you sell your app to Acme, and Acme wishes to use Google as a social provider, then Acme will have to set up the application on the Google side and get the app key and secret.
If you sell your application to thousands of customers and you will manage the corresponding Auth0 tenant for them, you will most likely have to automate this as much as possible (except for the initial tenant creation), so the dashboard will likely not be used except maybe for testing purposes, so the tenant switching will not be much of an issue.
You will also need to contemplate the issue of billing. Would you also handle the cost of each tenant on your customer’s behalf, or will they pay for the subscriptions? If the former, I’d encourage you to reach out to our sales team for a way to make this work as seamless as possible.