User:Mconnor/BIDSync(s): Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 97: Line 97:


==== Requirements ====
==== Requirements ====
* Provide a file that represents an entry point into a Sagrada system. Can be static.


==== Risks ====
==== Risks ====

Revision as of 19:10, 26 January 2012

Project Summary

Sync is moving to use BrowserID. The Apps product also needs Sync, and introduces a hard requirement for access to data from HTML5 web apps. This is a joint project to build out a shared platform, based on the current Firefox Sync implementations and APIs.

High level concepts

  • We will use BrowserID+OAuth for authentication to service endpoints.
    • This includes a token/service discovery service that points clients to resources
  • BrowserID will provide a key wrapping service that will allow the Sync Key to be stored, safely, alongside of the Sync data.
  • AppSync will be in most ways, just another Sync engine, but the data will be stored in a durable form, as a HA (three nines?) cluster with backups, and a to-be-defined target for durability/geo-redundancy

Client Work

Desktop Client

People

Developer Lead Gregory Szorc (gps)
Additional Engineers Anant (AppSync specifics)

Requirements

  • Implement support for the v2.0 protocol based on BrowserID
  • Hook key storage into BrowserID key wrapping/unwrapping
  • Implement support for revised UX based on BrowserID login/account creation/migration from existing Sync credentials.
  • Define and document app-neutral data format for Apps metadata (shared with Android Client)
  • Write a Sync engine for Apps using the shared data format

Risks

  • UX portions are blocked on Product definitions
  • BrowserID key wrapping not implemented

Android Client

People

Developer Lead Richard Newman (rnewman)
Additional Engineers Harald Kirschner (digitarald), Chenxia Liu (liuche)

Requirements

  • Implement support for the v2.0 protocol based on BrowserID
  • Hook key storage into BrowserID key wrapping/unwrapping
  • Implement support for revised UX based on BrowserID login/account creation/migration from existing Sync credentials.
  • Define and document app-neutral data format for Apps metadata (shared with Desktop Client)
  • Write a Sync engine for Apps using the shared data format

Risks

  • UX portions are blocked on Product definitions
  • BrowserID key wrapping not implemented

HTML5 Client

People

Developer Lead Ian Bicking (ianbicking
Additional Engineers TBD

Requirements

<<not defined yet>>

Risks

  • BrowserID key wrapping not implemented

Server Work

BrowserID key wrapping and master key storage

People

Developer Lead Ben Adida (benadida)
Additional Engineers TBD

Requirements

  • Provide an API for BrowserID consumers to have a key bundle wrapped/unwrapped using a master key
  • Store master key with BrowserID provider

Risks

  • crypto is hard
  • work not yet started

Discovery Service

People

Developer Lead Tarek Ziade (tarek)
Additional Engineers Alexis Metaireau (alexis)

Requirements

  • Provide a file that represents an entry point into a Sagrada system. Can be static.

Risks

Token Server

People

Developer Lead Tarek Ziade (tarek)
Additional Engineers Ryan Kelly (rfkelly)

Requirements

Risks

Storage API v2.0

People

Developer Lead Ryan Kelly (rfkelly)
Additional Engineers Tarek Ziade (tarek)

Requirements

Risks

Metrics (metlog)

People

Developer Lead Rob Miller (RaFromBRC)
Additional Engineers Victor Ng (vng)

Requirements

Risks

Token Processing Library

People

Developer Lead Ryan Kelly (rfkelly)
Additional Engineers Tarek Ziade (tarek)

Requirements

Risks

Durable Node Cluster

People

Developer Lead Richard Soderberg (atoll)
Additional Engineers Pete Fritchman (petef)

Requirements

  • Operational deployment of v2.0 webheads, talking to a HA MySQL cluster with backups

Risks

Security Assessments

  • Threat/security analysis (yvan)