You will have to be creative and it certainly won't be "crack proof". An idea might be to save the date to a text file and have the script check the date every time it runs. Something along those lines.
When you say plugin do you mean script? If you're writing plugins, you
shouldn't have too much of a problem adding protection.
If you're writing scripts, why don't you just save your script as a
binart (jsxbin). Then in the script have a routine to check for serials
numbers or dates or whatever you like? You can write a document label to
store any protection info you need. Not 100% hermetic, but probably good
enough to protect against the casual copier.
Hey Ariel. Thanks for the idea. Yes it is a JSX script so converting to JSXBIN is easy enough and protects the code. Can you help me with explaining the document label to store protection? I thought maybe having a code inside my script that disables certain features until it is registered. There would be a "register" button in the script so when it is pressed it would "read" the users indesign serial number, perform a calculation set within the script, and then generate a number which would need to be emailed to me. I then would use a keycode generator on my end to generate a serial number that would unlock that users script.
Is that possible?
To insert a document label I think the syntax is:
And then to extract it:
(that's from memory. If it doesn't work have a look at the help because
I might have gotten something wrong.)
So you can write a "demo" value or something, until such a time as the
user makes a purchase, and then get the purchase function to write a
"licensed" value if the user types in a valid serial number. Check the
value while the script is running to see if the user gets all the script
Again, this at best will help in preventing casual copies being made.
Although what's to stop the serial number being uploaded along with the
script? To prevent that you'd have to get the script to "call home" --
make a web connection to your server to disable the same serial number
from being twice. (I believe that ESTK provides a simple way of making
an Internet connection. Never tried it.)