Every time upon launch GeeTasks requres a connection to 64:22.98.94:999 and memengo.s3.amazonaws.com servers in addition to a google.com?
What are these servers and why the app silently communicates with them? We as a customers who share our GMail credentials with this app have a right to know what data is transferred, where and for what purpose.
Regards,
Gregory
Hi Gregory.
memengo.s3.amazonaws.com connection allows GeeTasks to download and display a message from me next time you run GeeTasks. This lets me remind Beta testers to move to the next version, but its intent is to alert you and other users in case Google makes drastic changes to Tasks which may break GeeTasks. Unfortunately most people when encountering a problem do not come to this forum or even contact support - they just become frustrated or angry, so I need a way to reach out to users proactively and quickly. Apple often takes two weeks to publish updates, so I need something a little quicker than that. No information from GeeTasks is being submitted to memengo.s3.amazonaws.com except the version number of GeeTasks.
64:22.98.94:999 connection collects usage statistics: version of the OS, locale, how may times the app was started, how many times it crashed, how many times "Sort by due date" was used - that sort of thing. It helps me focus my efforts on the right features and problems, and it also helps with tech support issues.
In addition, two pieces of personally unique information are included in this collection:
1. Unique device Id. This Id can only be used to create a custom build that can be installed by the user on his phone without Apple's approval (aka "ad-hoc distribution") and I have used this in the past to debug problems on user's devices.
2. Hash of the email address used to sign in. This hash can not be used to send email, but if a user sends me a support request I will be able to match his email address he used to send me email to one of the previously collected records. Thus I don't have to ask him for details about his installation, which saves a lot of back-and-forth emails.
3. If the app was pirated, it may collect the illicit user's email address in addition to the hash of that email. The pirates are welcome to be pissed about that.
Specifically, the password or content of your tasks is never sent anywhere other than to Google Tasks site.
These two features were rushed out the door an right now I an working on refining them, adding explanation and an OFF switch. Using that switch will make you ineligible for tech support though - it's a serious time sink going back and forth about details of this or that.
Neither of the connections are encrypted or even encoded (they are both plain text), so you are welcome to examine the content or ask someone with the skills to do that. I'll be glad to clarify details (e.g. provide the actual hash function used: first-8-bytes(sha256(utf8(email)))).
Thanks for the thoughtful explanation. My worries are dismissed. :)
For that matter, anyone who is reading please chime is with your opinion as well.
I want to achieve three goals:
1. Make it so that any problems can be rectified with minimal amount of back-and-forth. The people who are most in need of help are also the least capable when it comes to describing the problems (or even initiating contact in the first place), so I have to automate problem collection as much as I can.
2. Learn how the app is used so that I can spend time where it counts.
3. Preserve user privacy.
This is a balancing act, so I will make tweaks to my routines as I go and please chime in with where you thing the balance should be.
Right now I am thinking about providing a switch with several values:
1. "Debug" - collect everything. Activated by user if asked by support to do so, and deactivates itself after a week.
2. "Full" - unique data is only collected when there is a problem and only to the extent needed to investigate the problem. Where possible, it is replaced with hashes, so that changes to data can be detected but data itself is not known.
3. "Minimal" - only statistical data.
4. "Off" - all collected data is stored on the phone unless user submits it to support.
The password is never collected, and the data is stored for 90 days before being completely anonymized.