Privacy/Reviews/AndroidSystemStorage: Difference between revisions

Line 30: Line 30:
In this section, the product's architecture is described. Any individual components or actors are identified, their "knowledge" or what data they store is identified, and data flow between components and external entities is described.  
In this section, the product's architecture is described. Any individual components or actors are identified, their "knowledge" or what data they store is identified, and data flow between components and external entities is described.  


'''The main objective of this feature/product is:''' to use the Android System database for storing sync data (bookmarks, history, form data, etc).
'''The main objective of this feature/product is:''' to use the Android System database for storing sync data (bookmarks, history, form data, etc).  This allows users to keep their data portable to all apps on the phone.


'''Design Documents''':  
'''Design Documents''':  
Link to any design or architectural documents here.
''TODO: Link to any design or architectural documents or bugs here.''


== Components  ==
== Components  ==


There are four major parts to this system: the Sync Service, Firefox Mobile, and Google's Cloud Services.
There are three major parts to this system: the Sync Service, Firefox Mobile, and the Android System Storage.


=== Firefox Mobile ===
=== Firefox Mobile ===
Line 53: Line 53:
|-
|-
| bookmarks, history, passwords, form fill data
| bookmarks, history, passwords, form fill data
| Android System Storage DB
| in memory (decrypted/recorded), temporarily.
|}
|}


Line 91: Line 91:
|}
|}


'''Communication with Android OS Storage'''
'''Communication with Android System Storage'''
 
Android System Storage is used as a database for keeping various bits of browser data.  It is a common database used by multiple applications.
 
{| class="wikitable"
|-
! Direction
! Message
! Data
! Notes
|-
| ''In:''
| getData
| browser data object
|  (bookmark, history item, form data, password, etc)
|-
| ''Out:''
| storeData
| browser data object
|  (bookmark, history item, form data, password, etc)
|}
 


=== Sync Service (external) ===
=== Sync Service (external) ===
Line 113: Line 134:
'''Communication with Firefox Mobile'''
'''Communication with Firefox Mobile'''


Not all of the communication with Firefox Mobile will be documented here, only the communications relevant to using Android System Storage.
(See above section on Firefox Mobile for details of communication)
 
 
=== Android System Storage (external) ===
 
The Android System Storage is a common database in the Android OS.  All apps given access to this storage have the ability to read/write things like browser history and bookmarks.  Firefox on Android will use this storage service to keep in sync with the default browser on the device (as well as any other apps that consume or create this data).
 
'''Stored Data:'''
 
There's lots of data in this (third party) system, but for our purposes it will be storing browser data.  This data is automatically accessible by the system default browser (and other apps) and synchronized with the phone's owner's google account.


{| class="wikitable"
{| class="wikitable"
|-
|-
! Direction
! What
! Message
! Where
! Data
! Notes
|-
|-
| ''In:''
| bookmarks, history, passwords, form fill data
| message 1
| On device, potentially synced to the cloud via google account and other apps.
| types of data received from component Y with the message
|
|-
| ''Out:''
| message 2
| types of data sent to component Y with the message
|
|}
|}


'''Communication with Firefox Mobile'''


=== Google Cloud Services (external) ===
(See above Firefox Mobile section for details)
 
 
Describe any major components in the system and how they interact.  Also include any third-party APIs (those Mozilla does not control) and what type of data is sent or received via those APIs.
 


= User Data Risk Minimization =
= User Data Risk Minimization =
canmove, Confirmed users
1,537

edits