Confirmed users
471
edits
(start to replace with our current design) |
|||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
Profile In The Cloud (PICL) is a mechanism for | Profile In The Cloud (PICL) is a mechanism for synchronizing browser state between a user's various devices. The user attaches a given local profile to a remote account by "logging into their browser", which then uploads and downloads data as necessary to bring the local profile into harmony with the server-held data. Possible PICL services include: bookmarks/history/tabs/passwords backup/syncing, social API preferences, sharing providers, WebRTC bridge provider, file-storage service, etc. | ||
== Architectural Overview == | |||
There are roughly five areas of concern in the PICL system: | |||
* 1: Signup/Signin: How does the user attach a new device to their account? This area involves passwords, usernames, email addresses, recovery options, revocation, and device management. | |||
* 2: Conversion: How do we extract (and inject) data from the various native data sources (PlacesDB for bookmarks and history, the Password Manager, etc)? This data should be converted into a neutral format so the synchronization code doesn't need to know the details. This code must also merge conflicting data when necessary. | |||
* 3: Synchronization: the neutral data must be encrypted, signed, batched, and delivered to/from a storage server. This process must tolerate dropped messages, interrupted connections, overload conditions, and arbitrarily-long periods of server unreachability. | |||
* 4: Storage Server Authorization: The browser code must prove to the Storage Server that it has a right to read/write the encrypted records. | |||
* 5: Storage Server Format: The storage server must store large quantities of data reliably, and provide fast access. | |||
[[File:PICL-archmap.png|Architecture Map]] | |||
== Authentication == | == Authentication == |