I'm building a software that requires a lot of security for the data. The user data in essence is very sensitive. So we are building a lot of encryption, 2 step authentication, app call tokenization etc., Now our DBA's and support admin have access to this data via tokenized database interface calls, no direct database manipulation. They also have to login, essentially to support issues that come from the field. For instance if there is some record corruption in the database and a user complaint comes in, the DBA's and admins can login and find the user data and try to correct the corruption. But this means essentially they will be accessing the user data. Is this ethical given the amount of security we are putting in. Is there an industry standard way of accessing this data (possible contractual agreements that this data is not leaked, granting selective permissions etc.,)? Or are there other secure ways of doing this?
A lot of a correct answer for you will be up to the jurisdictions that you are subject to (laws, regulations, contracts with customers, etc.)
But, as for industry standard ways of dealing with access to customer data, you would need:
- a ticketing system to record the request by customers for changes (and thereby, permission to access)
- clear separation of duties for all parties to ensure that no one individual can by-pass controls
- logging of all systems involved to trace the activity of the data access and also to show the state of the data before and after the access
- independent internal auditing of all of the above to make sure it all happened according to plan
But, as I said, the details of all of these things will depend on the laws and regulations that you are subject to.