So since the canvas app has no managed property, how do you secure it in your managed solution? When distributing, how do you make sure your clients don't change it or simply export it for other purposes?
To my knowledge this is not possible at the moment.
One solution is to make the license trust-based/lawyer-based in that customers are not legally allowed to modify the canvas app. This is also how licensing in Power Platform is enforced right now, so it is a viable solution.
A Canvas App in a managed Solution is not editable (depending on the connectors used). I've just created a (truly awful) canvas app in one environment and exported it as a managed solution into another environment and I don't seem to be able to edit anything - I also can't run it as it's not attached to a page within a model driven app but that may not be so important for you.
One possible option is to share the app with your customer as a guest (external) user. By design guest users can not be set as 'Co-owner'.
License:
Either you assign a license from your tenant or guest user can has its own license.
@ben-thompson when you click on '...', context menu options are grayed but when you click the 'App' then next page allows one to 'Edit' the app.
@Magesoe would you mind sharing more info on the licensing part? I haven't done any licensing so far so any guidance on your approach would be much appreciated.
@VineetBhasin thanks for the idea. That would be interesting to look into, I'll have a look. Do you have any info on this approach you could share?
@ben-thompson thanks for the effort. But yea, you could get into there and edit it unfortunately.
I had a session with MS support regarding another issue and I showed them this. They said the App will be editable but not publishable if it resides in a managed solution. Once I showed them that I was able to save and publish it, they said they will discuss it internally and get back to me. So will let you know how it goes.
By no means a technical solution, but before you give your customers your solution you inform them that the solution is your intellectual property and they're are not allowed to repurpose it.
Thus, you give them a trust-based license
Thanks @Magesoe I thought it had something to do with the solution layers. It's a good idea, I'll do that as well.