I'm in the process of developing a security product that has been mostly cloud-based, but I'm starting to receive requests for on-premises deployments. As I think through the necessary engineering changes, I'm also considering how to securely distribute the software. I'm planning to use container images, but I need some guidance on several key areas: protecting the software from reverse engineering, preventing unauthorized distribution or reuse, enforcing licensing (especially for trial versions), and ensuring that customers stop using it once the trial period ends. I'm looking for advice from anyone who has experience with proprietary software in on-prem environments, particularly on what tools, patterns, or strategies to use. Thanks in advance for any insights!
1 Answer
One effective method is to implement a 'phone home' feature. This could involve requiring a key component that connects back to your infrastructure, meaning if a customer stops paying, they lose access. While many clients are trustworthy, if you're dealing with valuable intellectual property, it's best to keep tight control over it. Sometimes, a simple license check can suffice, but consider your specific security needs.

Thanks for the suggestion! I’ll definitely look into negotiating this kind of setup.