Hello Diane and John,
The only way to truly fix this is to have your product ping your server with
their licence key on each use. If they withdraw their payment, you withdraw
their licence key, and the product stops working.
I think this involves running up a pretty slippery slope, to be honest.
If you require the user to be online whenever they use your
form (stored offline), this places a severe restriction on the user,
that they cannot even use the form without being online.
In the world of software, there are many software titles that
require one-time activation before use, which requires
access to a server online or places the burden on the user
to make a phone call. However, I have never seen any software
that constantly checks as to whether the user is (a) online
and (b) a "registered" product, EVERY TIME the user is online.
In fact, many users have complained about such software
protection schemes in the past, deeming them "malware" and
not without good reason.
I would rather think that you'd be better off if you allow the
user to activate the form only after they have completed
payment in the proper manner. In other words, pay first,
and then get your registration key. That's a pretty standard
way of doing things these days, and most users are accustomed
to it. It's a unnecessary restriction to require paying users to
constantly have to be online in order to use your electronic
product. Purchase once, get the key, unlock it online, and
then whatever happens after that is out of your control.
Yes, it may get copied, and yes, the license key may get hacked
and "unlocked" copies may get distributed. But you need to
look at where your income is coming from now, and how
much of your current income from these forms is coming
from honest, paying users or not. If you severely inconvenience
your 90% share of paying users due to the antics of your 10%
share of dishonest users, you are not running a customer-centric
business. On the other hand, if half of your customers cheat
you after purchasing the product, you need to review your
online transaction scheme so that they you are properly
paid and that the users can only use the software or forms
once the payment process is 100% completed.
If you really want full control over access of a form, the
best thing you can do is to make it available on a subscription
basis, and make the users know that they MUST be online
in order to use the form. As John mentioned, this is getting
into the realm of cloud computing. I would either let the
users download and unlock the forms on the client side
after valid purchase (and offer NO REFUNDS after unlocking),
or else move the entire thing online and require the users to
subscribe AND access the form via a web browser.
Not knowing more about the technology you're using for
these downloadable forms and what the expected result is,
it's difficult to say more; but generally, I'd think that you
need to go one way or another, and avoid hassling your
honest, paying customers in the process.
Jeff