I am building an app that has a journaling feature.
What are my options for encrypting or obfuscating (and masking) columns or whole rows in a table?
Currently, I am using Google Sheets, but expect that I'll eventually migrate to Google BigQuery tables.
Thank you. I appreciate this. I already do this as a start.
There are yet additional levels that are needed beyond this. With sensitive info, in my app's case, personal journal entries, nobody would want developers or anybody else to see plain text data. A more common example is that you would never store passwords in plain text anywhere.
It should be encrypted and unable to be seen with raw queries. Does this ability exist w/in Appsheet?
There's no solution that I know of to prevent a person with access to the data source from seeing the stored data, so the encryption has to occur at the data source itself. I know that with BigQuery you can use Google Cloud Key Management Service KMS with AIM, probably requiring you to authorize your app users also in the Google Cloud Project. These are paid services, and as always with encryption would add an extra level of complexity in the development. I haven't done it myself, but it should be feasible.
In my login application I used a bot to trigger an App Script that received the new data, encrypted it with Sha256 + a Salt and returned the new value.
This value is what I store in my AppSheet database or another.
It takes a few seconds, but it greatly reduces the exposure of sensitive data, such as passwords
User | Count |
---|---|
15 | |
15 | |
8 | |
7 | |
4 |