CloudServices/Sync: Difference between revisions
(formatting fixes; Firefox Home has been retired) |
(updated 2026) |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 11: | Line 11: | ||
* [[CloudServices/Sync/File_an_iOS_bug|For iOS users.]] | * [[CloudServices/Sync/File_an_iOS_bug|For iOS users.]] | ||
* [[CloudServices/Sync/File_an_Android_bug|For Android users.]] | * [[CloudServices/Sync/File_an_Android_bug|For Android users.]] | ||
We also have some [[CloudServices/Sync/Canned_bug_responses|canned responses]] for bugzilla bugs. | We also have some [[CloudServices/Sync/Canned_bug_responses|canned responses]] for bugzilla bugs. | ||
| Line 18: | Line 17: | ||
The Sync family consists of the following products and services: | The Sync family consists of the following products and services: | ||
; | ; Sync client : integrated in the Firefox and Firefox Mobile browsers, this client coordinates the syncing of all selected syncable data via their engines. | ||
; [[Services/Sync/Server|Server]] : Server component used for cross-client communication | ; [[Services/Sync/Server|Server]] : Server component used for cross-client communication – this is where client-side encrypted data is stored for all clients to synchronize with. | ||
; | |||
; Server Instance : A Sync server operated by Mozilla available for use by anybody in the world, free of charge. This is where Firefox sends data by default, unless you specify a different server. | ; Server Instance : A Sync server operated by Mozilla available for use by anybody in the world, free of charge. This is where Firefox sends data by default, unless you specify a different server. | ||
; Send / Close Tabs : the Sync key is used to secure a Sent Tab (to encrypt the Send Tab key), so we generally include Sending and Closing remote tabs as part of Sync. | |||
Previous services: | |||
; <s>[https://blog.mozilla.org/services/2012/08/31/retiring-firefox-home/ Firefox Home]</s> : <s>An iOS application (iPhone, iPad) that allows you to view Sync data from these devices</s> | |||
==Specifications== | ==Specifications== | ||
The [[Services/Sync/Specs|Specifications]] of Sync cover: | The [[Services/Sync/Specs|Specifications]] of Sync cover: | ||
; HTTP API : Implemented by the Sync Server. Used by clients to exchange data | ; HTTP API : Implemented by the Sync Server. Used by clients to exchange data. | ||
; Cryptography Model : How encryption is used to securely store data in the Sync Server (the Sync Server can't even read | ; Cryptography Model : How encryption is used to securely store data in the Sync Server (the Sync Server can't even read user data). | ||
; Data Storage Formats : How existing clients (like Firefox) format synchronized data | ; Data Storage Formats : How existing clients (like Firefox) format synchronized data. | ||
; Client APIs : These include the JavaScript API available in Firefox | ; Client APIs : These include the JavaScript API available in Firefox. | ||
=Get Involved= | =Get Involved= | ||
| Line 41: | Line 46: | ||
==Report Bugs== | ==Report Bugs== | ||
Sync bugs should be reported in the [https://bugzilla.mozilla.org/ | Sync bugs should be reported in Bugzilla, depending on the nature of the bug. | ||
For general issues, each platform has its own component: | |||
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&component=Sync File here for Desktop] (Firefox::Sync) | |||
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20for%20Android&component=Accounts%20and%20Sync File here for Android] (Firefox for Android::Accounts and Sync) | |||
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20for%20iOS&component=Sync File here for iOS] (Firefox for iOS::Sync) | |||
If you know that a more specific component is more appropriate, such as individual engines or the Sync-related UIs in Firefox: | |||
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Application%20Services File here for shared Sync components in the Application Services library] (Application Services::) | |||
* [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&component=Firefox%20Accounts File here for Sync-/Account-related UIs in Firefox desktop] (Firefox::Firefox Accounts) | |||
==Source Code and Development== | ==Source Code and Development== | ||
Source code for all products and services is available and open source. Public contributions and feedback for product direction is encouraged and very welcome. | Source code for all products and services is available and open source. Public contributions and feedback for product direction is encouraged and very welcome. | ||
General development information is available at [[Services/Sync/Getting_Started|Getting Started]]. Production-specific information can be found at the linked product page from the list of products above. There is also a trove of documentation at [https://mozilla-services. | General development information is available at [[Services/Sync/Getting_Started|Getting Started]]. Production-specific information can be found at the linked product page from the list of products above. There is also a trove of documentation at [https://mozilla-services.github.io/syncstorage-rs/ Mozilla Services Documentation]. | ||
=Team Docs= | =Team Docs= | ||
==FAQ== | ==FAQ== | ||
* [https://wiki.mozilla.org/CloudServices/Sync/FAQ Low level sync FAQ] | * [https://wiki.mozilla.org/CloudServices/Sync/FAQ Low level sync FAQ] | ||
* [https://docs.google.com/presentation/d/1zDjuboT81BgKmixFqQkxyKIEy2DWUt6YTe_Gpara1Bg/edit#slide=id.p slides on the server bits (from pre-2020)] | |||
* | |||
==Telemetry== | ==Telemetry== | ||
| Line 58: | Line 71: | ||
* [[Firefox Sync extended logging]] for fetching successful sync event logfiles | * [[Firefox Sync extended logging]] for fetching successful sync event logfiles | ||
<!-- ARCHIVE THESE | |||
==Working Docs== | ==Working Docs== | ||
* [https://wiki.mozilla.org/CloudServices/Sync/OKRs_2016Q3 Themes and Initiative OKRs] | * [https://wiki.mozilla.org/CloudServices/Sync/OKRs_2016Q3 Themes and Initiative OKRs] | ||
* [https://trello.com/b/h8sS9Mxn/firefox-sync-product Feature Tracker/Trello Board] | * [https://trello.com/b/h8sS9Mxn/firefox-sync-product Feature Tracker/Trello Board] | ||
* [https://wiki.mozilla.org/CloudServices/Sync/Sprint_1 Current Work - Sprint 1] | * [https://wiki.mozilla.org/CloudServices/Sync/Sprint_1 Current Work - Sprint 1] | ||
--> | |||
==Bug Queries== | ==Bug Queries== | ||
| Line 72: | Line 85: | ||
* [https://wiki.mozilla.org/CloudServices/Sync/Status View Bugs by Feature] | * [https://wiki.mozilla.org/CloudServices/Sync/Status View Bugs by Feature] | ||
<!-- ARCHIVE THESE | |||
==iOS Triage== | ==iOS Triage== | ||
* [https://docs.google.com/document/d/10Ytw1kZjBHhlTkQGTW8usJ5CJLhko74dgFND9egjkI0/edit iOS issues doc] | * [https://docs.google.com/document/d/10Ytw1kZjBHhlTkQGTW8usJ5CJLhko74dgFND9egjkI0/edit iOS issues doc] | ||
* [https://docs.google.com/document/d/189f1pCcc8nKZGl-y1KhD0JoXgct8BdjQEiYvyTunejs/edit Bi-Directional bookmarks reference doc] | |||
--> | |||
* [https:// | ==Related Projects== | ||
* [[Identity/Firefox_Accounts|Mozilla Accounts]] (formerly called Firefox Accounts) | |||
* [https://github.com/mozilla-services/syncstorage-rs Sync storage server (includes Token server)] | |||
<!-- ARCHIVE THESE | |||
===Device Manager=== | ===Device Manager=== | ||
* Problem | * Problem | ||
| Line 94: | Line 112: | ||
** Pending work to improve the accuracy of the device list controlled by user events. | ** Pending work to improve the accuracy of the device list controlled by user events. | ||
** Pending management UI of devices. | ** Pending management UI of devices. | ||
--> | |||
<!-- ARCHIVE THESE | |||
===Send Tab=== | ===Send Tab=== | ||
* [https://docs.google.com/document/d/17OkChAAlavNnYKzX-z-ihKdg3CWk26R0mgxhNhDz7o8/edit PRD] | * [https://docs.google.com/document/d/17OkChAAlavNnYKzX-z-ihKdg3CWk26R0mgxhNhDz7o8/edit PRD] | ||
| Line 111: | Line 130: | ||
===Atomic IO=== | ===Atomic IO=== | ||
* [https://wiki.mozilla.org/CloudServices/Sync/Atomic_IO Atomic IO] | * [https://wiki.mozilla.org/CloudServices/Sync/Atomic_IO Atomic IO] | ||
--> | |||
=Other Info= | =Other Info= | ||
If you are coming from Xmarks, see our [[Services/Sync/Xmarks|Xmarks quick reference]]. | If you are coming from Xmarks, see our [[Services/Sync/Xmarks|Xmarks quick reference]]. | ||
Latest revision as of 15:28, 4 May 2026
Summary
Welcome to the developer home of Firefox Sync. For end-user (non-technical) information, please see the official Sync web site.
Firefox Sync is a set of software components and specifications that synchronize data between multiple Mozilla product instances. The software is open source and the specifications are all public. This means that others are free to implement components or run the software on their own.
User Support
We have some pages we use to help our "advanced" users get us diagnostic information
We also have some canned responses for bugzilla bugs.
Products and Services
The Sync family consists of the following products and services:
- Sync client
- integrated in the Firefox and Firefox Mobile browsers, this client coordinates the syncing of all selected syncable data via their engines.
- Server
- Server component used for cross-client communication – this is where client-side encrypted data is stored for all clients to synchronize with.
- Server Instance
- A Sync server operated by Mozilla available for use by anybody in the world, free of charge. This is where Firefox sends data by default, unless you specify a different server.
- Send / Close Tabs
- the Sync key is used to secure a Sent Tab (to encrypt the Send Tab key), so we generally include Sending and Closing remote tabs as part of Sync.
Previous services:
Firefox HomeAn iOS application (iPhone, iPad) that allows you to view Sync data from these devices
Specifications
The Specifications of Sync cover:
- HTTP API
- Implemented by the Sync Server. Used by clients to exchange data.
- Cryptography Model
- How encryption is used to securely store data in the Sync Server (the Sync Server can't even read user data).
- Data Storage Formats
- How existing clients (like Firefox) format synchronized data.
- Client APIs
- These include the JavaScript API available in Firefox.
Get Involved
Matrix
Shout out in the #sync:mozilla.org room on Mozilla's Matrix server.
Most team members are geographically located in North America and Australia. If you don't hear a response, try asking again in a few hours.
Mailing List
See services-dev for email contact info.
Report Bugs
Sync bugs should be reported in Bugzilla, depending on the nature of the bug.
For general issues, each platform has its own component:
- File here for Desktop (Firefox::Sync)
- File here for Android (Firefox for Android::Accounts and Sync)
- File here for iOS (Firefox for iOS::Sync)
If you know that a more specific component is more appropriate, such as individual engines or the Sync-related UIs in Firefox:
- File here for shared Sync components in the Application Services library (Application Services::)
- File here for Sync-/Account-related UIs in Firefox desktop (Firefox::Firefox Accounts)
Source Code and Development
Source code for all products and services is available and open source. Public contributions and feedback for product direction is encouraged and very welcome.
General development information is available at Getting Started. Production-specific information can be found at the linked product page from the list of products above. There is also a trove of documentation at Mozilla Services Documentation.
Team Docs
FAQ
Telemetry
- Definitions of data available in Re:Dash under main Sync ping
- Firefox Sync extended logging for fetching successful sync event logfiles
Bug Queries
- Bug process for sprints
- Backlog (all priorities)
- Triage (unprioritized)
- P1s Desktop
- View Bugs by Feature
Related Projects
- Mozilla Accounts (formerly called Firefox Accounts)
- Sync storage server (includes Token server)
Other Info
If you are coming from Xmarks, see our Xmarks quick reference.