Thursday, July 14, 2011

Sedition and Privacy

[Update 3-March 24, 2012, this post has been superseded by this page]

DISCLAIMER: This does not constitute a guarantee. Digital Popcorn is not responsible for omissions or changes. Digital Popcorn reserves the right to amend this document without notice.

Now, on to the stuff:

There is an ominous sounding question that pops up when your first run Sedition:
Figure 1 - Google Analytics

Digital Popcorn takes privacy and data integrity very seriously. I value your trust and to that end I would like to be transparent about what types of communication my applications do across the internet.

In short, there are 4 ways in which Sedition will communicate data over the internet.


1. Advertising. (Admob ads in ad-supported version of Sedition only). 

2. Facebook and Twitter.
If your have Facebook or Twitter configured in Sedition, sedition will only interact with a social network when users explicitly tell Sedition to post "distinctions" to their walls/feeds. Sedition only queries the account "display name" as a method of testing connectivity, and again, only when about to post something to the feeds. Facebook and Twitter integration is done via OAuth (Too long to describe here, read this if you want a brief overview). OAuth means that Sedition does not need or have access to your login information. Sedition does not store anything related your Facebook or Twitter account except for the oauth information needed to post updates.

3. Crash reports/feedback . If Sedition crashes, or you press the "Feedback" button on the About Screen, you  will get an Android notification icon in your status bar. If you click on the icon you will get  feedback dialog (See fig 2). Sedition uses "ACRA" for reporting crash information. There is no personal information in these crash reports. ACRA has the ability to upload system logs as part of a crash report, but Sedition does not use that feature. (Note that to upload the system logs would require a "Reads System Logs" permission, which Sedition does not request). Also, note the if you select "Cancel", or clear the notification no data about the crash is transmitted at all. 


Figure 2 - Crash reporting/feedback.

The following is the type of data contained in a crash report::
- Sedition version
-Android version/build information 
-Hardware Information (input device and screen type/resolution)
-Phone model
-Total and Free memory
-User comments
-"Call stack", a description of what part of the code crashed. (This is really the important part for tracking down  the causes of bugs)

4. Google Analytics
This is a system that lets Sedition report anonymous metrics about how it is used. This includes the following type of information: 

What version/flavor(eg ad free vs ad supported) or Sedition is being played.
Which screen users are visiting
Which levels users are playing.
What final and high scores are.
Advertising performance feedback (ad supported only) included ad fulfillment rates, and whether or not ad-blocking was detected. Again this is anonymous! 

There are also some information inherent in Google Analytics, such as Geographic and Network Topology breakdowns.

This is a better overview Google Analytics.

You can enable or disable Analytics reporting at any time in Sedition in the options menu, the affect is immediate. 

Figure 3 - Analytics Options


 Of the four, only the Advertising component accesses the Internet with out explicit user permission and/or actions.

No comments:

Post a Comment