title: How to protect (obfuscate/DRM) trained model weights in Tensorflow.js?
body: <p>I am working on a React-based web app that uses Tensorflow.js to run an AI model in realtime on the client in the browser. I've trained this AI model from scratch and I'd like to protect it from being intercepted and used in other projects. Are there any protections available to do this (obfuscation, DRM, etc.)? </p>
  
  <p>From a business perspective, I'd <em>only</em> like the model to work on my web app, nowhere else.</p>
  
  <p>The discussions (<a href="https://www.reddit.com/r/MachineLearning/comments/7k6int/d_how_do_you_obfuscate_your_model_before_sending/" rel="nofollow noreferrer">1</a>  <a href="https://stackoverflow.com/questions/45321123/tensorflow-model-protection-on-mobile">2</a> <a href="https://github.com/tensorflow/tensorflow/issues/9501" rel="nofollow noreferrer">3</a>) I've been able to find on this are more geared toward native apps, not web apps.</p>
  
  <p><a href="https://github.com/justadudewhohacks/face-api.js/tree/master/weights" rel="nofollow noreferrer">Here</a> is an example open source web app that uses Tensorflow.js. These weights are an example of what I would like to protect in my app.</p>