When storing and accessing sensitive user-data, using the Multi-Index DB API, what considerations should be made to respect the user's privacy?
For sake of example, let's say I want to create a dApp that tracks the user's GPS location, by having it periodically written to the DB via some app on their phone. Then I want some actions in the smart contract to depend on whether the user has traveled a certain distance or to some particular location(s) in some allotted time.
My understanding is that, by default, all block producers, and any nodes listening to the network, would be able to see all of the GPS data for every user.
Are there any best practices, guidelines, codes, or standards, set out for developing EOS dApps that primarily respect the user's anonymity and ownership over their own data, while still allowing the smart contract to use their information in ways that are secure, verifiable, and connected to the rest of their data?