App Database security

You must Login before you can answer or comment on any questions.

Hello I'm storing some information in Global Variables, but I would like to consider a local database, is the database secure? I know there are ways to look at the content files of an IPA file, but where does the database stored?

I just dont want to serve up my data on a silver platter that allows another person to take it.

thanks

— asked 9 months ago by matt s
0 Comments

2 Answers

There are two modules in the Marketplace that add encryption to your SQLite databases.

SQL Encryption and Full-Text Indexing (iOS)

SQL Encryption and Full-Text Indexing (Android)

They are not inexpensive at $99 each.

— answered 9 months ago by Stephen Feather
answer permalink
3 Comments
  • On iOS, a Titanium installed database is located in: Library/Private Documents under the apps unique folder

    — commented 9 months ago by Stephen Feather

  • On android, a Titanium installed database is located in: /data/data/app.id/databases

    — commented 9 months ago by Stephen Feather

  • Stephen is correct on all three counts.

    — commented 9 months ago by Shannon Hicks

Hi Matt

It is actually quite easy to look at the contents of the app.ipa file, simply rename the file extension to zip and then open it the same as any zip file.

So you are right to be concerned as the database will be perfectly extractable. If you are storing sensitive or valuable information then you should consider encrypting the contents of the fields.

As with all things you should balance the likelihood that someone will go to the trouble with the extra time involved in field by field encryption.

— answered 9 months ago by Malcolm Hollingsworth
answer permalink
5 Comments
  • do you know where the db is stored once the app is downloaded and synced with iTunes? when I look at my IPA file contents I do not see a database, I have tried looking at several apps that I know use one and I can't seem to find it.

    — commented 9 months ago by matt s

  • Hi Matt

    If you supply a DB with you app, then it will be in the same location within the structure of the IPA as you had in your resources folder structure. If you created the app and data by not supplying it within the app itself to start with and dynamically created it using APIs for example then it will not be as easy to get.

    — commented 9 months ago by Malcolm Hollingsworth

  • ok, yes, I'm building the database dynamically from an API. Maybe that is why I couldn't find it in my IPA contents. I guess in this case I would not need the SQL Encryption modules that someone else commented on.

    thanks for your reply.

    — commented 9 months ago by matt s

  • Show 2 more comments

Your Answer

Think you can help? Login to answer this question!