# IP Theft Prevention Ideas?

**URL:** <https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638>\
**Category:** Ignition\
**Created:** [January 18, 2018, 6:05pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638 "2018-01-18T18:05:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![joe.brodersen](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/joe.brodersen/32/3303_2.png) [@joe.brodersen](https://forum.inductiveautomation.com/u/joe.brodersen)\
**Post date:** [January 18, 2018, 6:05pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/1 "2018-01-18T18:05:48Z")

</div>

We are OEMs that are currently dealing with a few of our customers copying our IP from our GE iFix systems. I am trying to get any “best practices” that any of you use that can prevent any of these problems in Ignition? Specifically, these scenarios we are interested in mitigating:

- Our systems are Virtual Machine based. How would we prevent a company from copying our virtual machine with Ignition installed and licensed? Basically, we do not want a company to clone our VM and put it on their “copy system”.
- We need to be flexible to let customers add their own users to our Ignition setup (through Active directory or adding users in the Gateway Webpage), how do we prevent them from taking Gateway backup files and copying the pages/code out for themselves and re-selling?

This is just a bit of things we are dealing with more and more and we want to protect our systems so that another company cannot take our IP and re-sell it.

---

<div class="post-metadata">

**Author:** ![joe.brodersen](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/joe.brodersen/32/3303_2.png) [@joe.brodersen](https://forum.inductiveautomation.com/u/joe.brodersen)\
**Post date:** [January 18, 2018, 6:08pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/2 "2018-01-18T18:08:08Z")

</div>

Granted, this is half the battle as the other lies in preventing our PLC code from being stolen… I’ll take suggestions for that, but I’m more interested in the Ignition side of IP theft prevention.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 18, 2018, 6:09pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/3 "2018-01-18T18:09:31Z")

</div>

> [@joe.brodersen](#):
>
> how do we prevent them from taking Gateway backup files and copying the pages/code out for themselves and re-selling?

Your sales representative can get you more info on this. We've got a few different ways to help OEMs manage this problem; ie locks _inside_ the gateway configuration that can't be removed without a specific license key.

---

<div class="post-metadata">

**Author:** ![Kyle\_Chase](https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/32.png) [@Kyle\_Chase](https://forum.inductiveautomation.com/u/Kyle_Chase)\
**Post date:** [January 18, 2018, 7:26pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/4 "2018-01-18T19:26:02Z")

</div>

OEM locks on project resources will help prevent theft of project code. You can also encapsulate certain features inside a module.

As for your PLC, maybe switching to something like the Bedrock controllers can help lock down your code.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 18, 2018, 7:56pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/5 "2018-01-18T19:56:53Z")

</div>

> [@joe.brodersen](#):
>
> Basically, we do not want a company to clone our VM and put it on their "copy system".

The Ignition licensing system looks at a collection of hardware details that are usually difficult to replicate in another piece of hardware. I don't know the recipe involved, so I don't know if an unmodified clone would be detectable.

> [@joe.brodersen](#):
>
> how do we prevent them from taking Gateway backup files and copying the pages/code out for themselves and re-selling?

There's no fool-proof way to protect your jython code and user interface designs. The closest thing you can do within the project is to use [Protected Resources](https://docs.inductiveautomation.com/display/DOC79/Protecting+Resources), but those can by broken with an administrator password reset inside the gateway.

The only relatively strict way to control your source code is to distribute the bulk of it in the form of a Java add-on module, that you license per install. The module could include a home-grown licensing system that more strictly checks the operating environment than Ignition's own licensing system, if you discover loopholes that your users are exploiting. I use a variant of the idea to supply "feature codes" in my [Ethernet/IP add-on](https://inductiveautomation.com/moduleshowcase/module/automation-professionals-llc-ethernetip-class-1-communications) modules.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 18, 2018, 8:05pm UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/6 "2018-01-18T20:05:01Z")

</div>

> [@Kyle\_Chase](#):
>
> As for your PLC, maybe switching to something like the Bedrock controllers can help lock down your code.

Or enable the [Source Protection features](http://literature.rockwellautomation.com/idc/groups/literature/documents/pm/1756-pm016_-en-p.pdf) in your Allen-Bradley processors.

---

<div class="post-metadata">

**Author:** ![Sanderd17](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sanderd17/32/8735_2.png) [@Sanderd17](https://forum.inductiveautomation.com/u/Sanderd17)\
**Post date:** [January 19, 2018, 8:54am UTC](https://forum.inductiveautomation.com/t/ip-theft-prevention-ideas/16638/7 "2018-01-19T08:54:24Z")

</div>

In short, DRM doesn’t work, whatever you try, someone will be able to break the protection as long as it’s interesting enough to see what’s inside.

> <https://superuser.com/questions/14224/how-can-i-explain-why-drm-cannot-work>
