I am negotiating to provide a javascript front-end, for evaluation only. Instead of licensing software, the client asked for a not-disclosure agreement. As a purpose, it is clearly written for evaluation only, but it is not specified technical term of use.

What are common implicit practices to release a web-client software so to avoid mis-use?

As example, I thought to release library on my own servers, enabling use of JS scripts via CORS and check for api_key.

Is it implicit or fully justifiable or must be written in Terms of Use, otherwise software scrits must be provided too? What are common and acceptable practices in evaluation of software for business purpose?

  • 1
    Instead of licensing software, the client asked for a not-disclosure agreement Exactly what do you mean by 'licensing software' in this context?
    – Xavier J
    Commented Dec 27, 2016 at 19:21
  • Instead of signing an EULA, as an example.
    – user305883
    Commented Dec 27, 2016 at 19:39

2 Answers 2


OK. Your client doesn't want to sign a licensing agreement. Here's how to look at this:

  • If the work has not already been performed, and you do the work, it's technically a work-for-hire, and the client would own the code, and there would be no need for a licensing agreement.

  • If the work has already been performed prior to any specific agreement, then you are the owner of the work and a licensing agreement is appropriate. What is also very appropriate is that you don't turn over original source code, but instead, highly obfuscated Javascript. You could actually code something in there that "phones in" to a server somewhere to report use of the script by way of an AJAX call or similar, and potentially disables the script past a certain date or if it's not hosted from a FIXED server name. Protect your intellectual property! If the client is bucking against any type of licensing agreement, I'd find the situation to be highly suspect (i.e. your client's going to take the code and run with it without paying you its proper worth). I found something you might use - Jscrambler.

In either case, get your money up front before you demonstrate anything on a browser your client can access!

  • Yes indeed I would like to protect. However we are negotiating an NDA. An NDA is an agreement where it expressively said that a component is given to be used for evaluation purposes. VS an EULA, it is not discussed how it is released. so my question, which is a common and acceptable practice (als on behalf of client) to accept that code is on my server. JScrambler is interesting but not cheap. Obfuscation and posting via AJAX to my own server - thought about that, but can be removed. A license is not yet be discussed for client is urgency and also on my behalf I need more time to craft it
    – user305883
    Commented Dec 27, 2016 at 20:04
  • You are completely misguided as to your first point. An NDA is a document where the client agrees to not disclose your trade secrets to third parties. en.wikipedia.org/wiki/Non-disclosure_agreement There's really not much to "negotiate" for an NDA. However, the topic of licensing will have much more variety in its expression. And yes, obfuscation can be removed but as the developer if you include other countermeasures to intentionally make deobfuscation difficult to use (such as using "eval" statements), the client is less likely to try and be sneaky.
    – Xavier J
    Commented Dec 27, 2016 at 20:10
  • an NDA is shaped against a purpose and actions permitted or not related to the disclosed information. There goes the negotiation part. So I wonder if by evaluation is implicit to keep the script on own server. Alternatively, which are common practices to release a software to one single end user? Is script commonly shipped to client or not?
    – user305883
    Commented Dec 27, 2016 at 20:21
  • I'd think you'd have to ship a script, because hosting from your servers would become a long-term technical dependency; i.e. a cost to you, and an indirect cost to the client. I purchased a javascript menuing toolkit once that was obfuscated and locked down to work on a single domain name (or it would inject messy "DEMO" text all over the page). it worked well, and I had neither inclination nor need to decompile it.
    – Xavier J
    Commented Dec 27, 2016 at 20:49

I’ve used Jscrambler and I can tell you they have a date lock feature which may be useful for enforcing license agreements and delivering demos with time to live. It is worth the money if you need good protection, but I guess it really depends on the value of the code you are trying to protect.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.