What you describe is a valid approach. However, you should consider using the same app for all customers. If you are concerned about security and permissions, you could use the Everlive security system. Since the last release it became really powerful. We support role permissions, owner permissions and granular permissions. This means that you can make some data only available to its owner(the user that created it). You can change owners, give permissions to specific roles. Additionaly, it is possible to allow sharing of items among users, if you need to. This can be easily achieved using granular permissions. You can find more information in the Everlive documentation under Security.
It is indeed possible to create Everlive applications through code. If you decide that you will use different app for each customer, you can do it. For more information on this please check the Metadata API in the Everlive documentation. Note, however, that if you create an app for each of your customers, you might turn up with a great number of Everlive apps, which would be harder to manage from the Everlive portal.
Let us know if you have other questions, we will be happy to help.
You've missed the Icenium Visual Studio Integration keynote? It has been recorded and posted here.
Looking for tips & tricks directly from the Icenium team? Check out our blog!
Share feedback and vote for features on our Feedback Portal.