# Firefox Sync specification regarding "storage.sync" API

**URL:** <https://discourse.mozilla.org/t/firefox-sync-specification-regarding-storage-sync-api/44130>\
**Category:** Development\
**Created:** [August 20, 2019, 1:12pm UTC](https://discourse.mozilla.org/t/firefox-sync-specification-regarding-storage-sync-api/44130 "2019-08-20T13:12:05Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![juraj.masiar](https://sea1.discourse-cdn.com/flex001/user_avatar/discourse.mozilla.org/juraj.masiar/32/30587_2.png) [@juraj.masiar](https://discourse.mozilla.org/u/juraj.masiar)\
**Post date:** [August 20, 2019, 1:12pm UTC](https://discourse.mozilla.org/t/firefox-sync-specification-regarding-storage-sync-api/44130/1 "2019-08-20T13:12:05Z")

</div>

I have some questions regarding the Firefox Sync that I couldn’t find in the docs:

> **[storage.sync - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync)**
>
> Represents the sync storage area. Items in sync storage are synced by the browser. The data is then available on all instances of the browser the user is logged into (for example, when using a Mozilla account on desktop versions of Firefox or a...

1. when are the data pushed? Is there some interval or is it event based?
2. when are they pulled?
3. can I force push / pull?
4. is there some difference compared to Chrome Sync?
5. is there some merging strategy (on the top level object)? If I store `{a: 1}` on one device and `{b: 2}` on second, will the storage eventually contains `{a: 1, b: 2}` or just one of these depending on who synchronized later?

I was hoping for a real-time sync (powered by some websocket), but it seems that it’s much much slower.
