Is it me or this kind of "Easter eggs" are completely unprofessional? If you have clients then should have basic contracts, agreements, etc. Isn't this what courts are for?
Does stuff like this actually work? Never done anything like this before. Seems very unprofessional.<p>Get a 1/2 deposit upfront. This clears out most of the scrubs. Only commit your time when the client has committed money.
What you really need is some kind of Angular/Webpack plugin that add obfuscated code to call out to some 3rd-party escrow/broker service to check if a flag has been raised and if so refuse to load. If you only had access to the final bundled code it might be hard to find what part to rip out (think like the "Preview" or "Sample" slightly opaque text on images. Then you could deliver the final product sans "DRM" after payment.<p>I think this could be thwarted with a CSP policy? Not really sure.
Bonus points to load and inject all the HTML markup via ajax from a server you control, so even if they pay some kid to remove the opacity you can still time-bomb the site underneath them.<p>I did this once for a client that didn't pay (15 years ago when I was practically still a kid). It did not go well and I still did not get paid, but at least it was kind of fun.
Original here which was on HN 2 years ago:
<a href="https://github.com/andreapaiola/F-D-/blob/master/fade.js" rel="nofollow">https://github.com/andreapaiola/F-D-/blob/master/fade.js</a>
Really easy to rip this out. Some of the greensock demo libraries were designed to break except on certain domains, I remember I thought those were pretty clever. Also if the code is server-side rendered and you withhold the source it makes it even harder.
everytime your client makes a payment, a certain portion of your code becomes local rather than served, from your infrastructure, when the payments are finished, all the code segments will be local and integral to the clients copy. if the client refuses to pay they no longer have server access.<p>in other words, they continue to recieve updates if they continue to pay.