user2442567
user2442567

Reputation: 19

How to make App Engine Datastore private

I'm developing an App Engine app that offers users to keep a diary. Now, I noticed that I can check all data in datastore through Developers Console. This is not good for a diary app for privacy. So I want to know how to make datastore private to prevent me from checking users' data.

Please help me.

Upvotes: 0

Views: 68

Answers (2)

Andrei Volgin
Andrei Volgin

Reputation: 41089

The only way to prevent you from viewing data in the datastore is to remove you from the developers of the app. A developer can always extract data if he wants to, either by looking it at directly in the Datastore viewer or by writing code that can read/forward this data.

Upvotes: 0

Michael Aaron Safyan
Michael Aaron Safyan

Reputation: 95459

This is a little bit tricky since the code can read the data in the datastore and so, by definition, anyone who can update the running code can also read the data in the datastore; however, there are ways that you can at least make it more difficult to inadvertently examine the data (though accessing the data will still be technically possible for you or any of the owners to do). The simplest way is to encrypt the data before storing it within the datastore model objects (and decrypting it when you read the data from the model objects); however, this will make indexed fields no longer work if you do that (you will need to decide whether that content really needs to be indexable or whether it is worthwhile to add manual indexing).

If you want data to not be readable by you at all, then you will need to encrypt/decrypt the data with a key that is only available to your application while the user is interacting with it (e.g. encrypting the data in the client that communicates with your server); however, you need to be aware that this will make any sort of indexing or background processing of the data impossible.

Upvotes: 4

Related Questions