0

I'm a veteran web developer but a total newbie in apps development.

I would like to build my first hybrid app which would use a custom dictionary of my own (currently stored in a MySQL db), but since I want my app to be usable offline, I need to know what are all the available options when you also want to prevent anyone from reusing the dictionary for their own purpose (ie: building a copy of the app). I don't care if the source code can be seen by anyone. I just want to prevent the data (db) from being reused.

Ooker
  • 1,969
  • 4
  • 28
  • 58
majimekun
  • 210
  • 2
  • 10
  • Too vague/broad. The different ways of trying to protect client-side data will vary although, speaking of generalities, consider "encryption" (of the data). – user2864740 Jun 07 '14 at 04:02
  • In that case, how should I encrypt the data so that only me and the javascript application can decrypt the data? – majimekun Jun 07 '14 at 04:08
  • The key (hah) to encryption is to make sure that only you have the key, or only you are willing to put enough effort into its use. (Since JavaScript in a browser can be easily debugged this is really only a mild hindrance at best and should not be viewed as actual security - and make sure to *appropriately tag* questions.) – user2864740 Jun 07 '14 at 04:11
  • But since the app needs to decrypt the data on the client side, the key will be visible in the source code right? – majimekun Jun 07 '14 at 04:18
  • Or in somewhere that is ultimately accessible (e.g. local storage), yes. Using a plugin (i.e. Flash/SL) and limiting access abilities (e.g. data, possible with encryption, is stored in the plugin and only exposed a small part of the data in response to a query) will help a bit. I don't know of any standard "keyring" support (possibly because it is largely useless in JavaScript when a debugger can be trivially attached). – user2864740 Jun 07 '14 at 04:28

0 Answers0