https://github.com/mozilla/firefox-data-store-docs
INACTIVE - http://mzl.la/ghe-archive - Repo containing documentation regarding Firefox data stores across all platforms
https://github.com/mozilla/firefox-data-store-docs
inactive unmaintained
Last synced: 4 months ago
JSON representation
INACTIVE - http://mzl.la/ghe-archive - Repo containing documentation regarding Firefox data stores across all platforms
- Host: GitHub
- URL: https://github.com/mozilla/firefox-data-store-docs
- Owner: mozilla
- License: mpl-2.0
- Archived: true
- Created: 2017-08-22T13:21:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-30T06:39:36.000Z (about 6 years ago)
- Last Synced: 2024-10-23T03:49:33.510Z (7 months ago)
- Topics: inactive, unmaintained
- Size: 723 KB
- Stars: 51
- Watchers: 14
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Firefox Data Stores
# TL;DR
* Firefox desktop has 45 separate data stores. Firefox for iOS has 5, and Firefox for Android has 2, in addition to stores shared with desktop.
* Only 9 shared domain objects can be found on all 3 platforms. One of those, favicons, is present but not synced at all.
* Firefox desktop has an entire SQLite database, `storage.sqlite`, that contains no tables. It is used entirely to reference the schema version value and uses that value to create the version number for the Storage directory.
* Firefox desktop stores over 1200 preferences in a single, synchronously accessed file. This file is read from and written to from all over the application. Each individual write will cause the entire file to be written to disk at a later date.
* Firefox for desktop utilises 10 different data storage formats. These are
1. SQLite
2. IndexedDB
3. Extensionless character-delimited files (AlternateServices, SiteSecurityServices, SecurityPreloadState)
4. JSON
5. .ini
6. .txt
7. .dat
8. .rdf
9. .xml
10. .js (prefs, sessionstore)* Three data stores contain only one item of information.
1. `times.json`
2. `datareporting/state.json`
3. `healthreport/state.json`* Of the data fields stored by desktop, only 8% of them are available to sync. Of data that is synced, desktop syncs 95% of fields, Android 90% and iOS 86%.
# Desktop Data Stores
## SQLite Stores
### `places.sqlite`
Places is where the vast majority of synced data is stored. This database closely resembles the database structures on iOS and Android. The only data types that are synced that are not contained within places, are logins, form fields, add-ons (only desktop), prefs (only desktop), clients (synthetic), open tabs, and commands (synthetic, transient).

### `content-prefs.sqlite`
Stores arbitrary data, or "preferences", associated with specific domains, or web "content".

### `cookies.sqlite`

### `favicons.sqlite`
Stores blob data for favicons for quick retrieval. This database is `ATTACH`ed to `places.sqlite`.

### `formhistory.sqlite`
Stores data entered into forms.

### `kinto.sqlite`
Backing store for the blocklists code in the client. These lists
represent addons, certificates, graphics drivers, and plugins which we
should be careful not to trust, as well as "pinned" certificates we
should trust. This local store is updated from a server periodically.
It has the unfortunate name of "kinto" because this synchronization is
performed using the Kinto server and client libraries. Because Kinto
is an object store, the SQL schema is not especially helpful.
### `storage-sync.sqlite`
Another Kinto-based SQLite store, this one supports our implementation
of the `browser.storage.sync` API. This is just the local store; the
synchronization happens with a server "in the cloud", of course. See
https://wiki.mozilla.org/CloudServices/Sync/ExtensionStorage_Design_Doc
for more information on how extension-storage information is stored in
Kinto.
### `permissions.sqlite`
Stores host, API, and clipboard permissions. See also `content-prefs.sqlite`.

### `signons.sqlite`
The login manager has two backing store implementations: SQLite, which is used by Android, and a delayed-flush JSON file, used by desktop as of Bug 853549 in 2014. Android uses the SQLite implementation to support simultaneous access from Gecko and Android-side Sync code.

### `storage.sqlite`
`storage.sqlite` is a completely empty database. It is opened and the schema version number checked and that version number is used as the version number for the storage directory. The storage directory is the directory that contains all of the data store files.
### `webappsstore.sqlite`
Backing store for DOMStorage.

## Key-Value Stores
#### AlternateServices
RFC 7838 Alternative Services. "Alt-Svc allows separation of transport routing from the origin host without using a proxy."
#### SiteSecurityServices, SecurityPreloadState
HSTS & HPKP storage.
#### `secmod.db`
The "legacy" security module database.
#### `key3.db`
Contains the key that is used to encrypt the *Firefox* passwords stored in `logins.json`. "Legacy", according to documentation. Android apparently sometimes uses `key4.db`, which is a SQLite replacement.
#### `cert7.db`
"Legacy" Network Security Services DB.
#### GMP/PBGP
?
#### Abouthome
The about:home snippet service is a simple, highly-cached content management service. It is intended to assemble and deliver content snippets to the about:home page in Firefox.
#### AppProjects
Data store for local apps.
#### devtools-async-storage
Simple key-value store for persisting values in devtools
#### About:reader
Stores cached article information for the about:reader page.

## JSON file stores
### **s****essionstore****.js/recovery.js**
Stores all browsing session state data for session restoration.
While Firefox is running, your live session is stored in recovery.js**. **sessionstore.js is created at shutdown.
```json
{
"windows": [
{
"tabs": [
{
"entries": [
{
"url": string,
"title": string,
"cacheKey": long,
"ID": int,
"docshellID": int,
"referrer": string,
"docIdentifier": int,
"structuredCloneState": string,
"structuredCloneVersion": int,
"children": [
{
"url": string,
"ID": int,
"docshellID": int,
"owner_b64": string,
"docIdentifier": int
},
]
}
],
"lastAccessed": long,
"hidden": bool,
"attributes": {
},
"image": string,
"index": int,
"storage": {
"": {
"ScribeTransport": string
}
},
"formdata": {
"xpath": {
"": string
},
"id": {
"age-gate-year": {
"selectedIndex": int,
"value": string
},
"age-gate-month": {
"selectedIndex": int,
"value": string
},
"age-gate-day": {
"selectedIndex": int,
"value": string
}
},
"url": string
},
"scroll": {
"children": [
{
"scroll": stringint
}
]
},
},
"selected": int,
"_closedTabs": [
{
"state": {
"entries": [
{
"url": string,
"title": string,
"cacheKey": long,
"ID": int,
"docshellID": int,
"referrer": string,
"docIdentifier": int,
"structuredCloneState": string,
"structuredCloneVersion": int,
"children": [
{
"url": string,
"ID": int,
"docshellID": int,
"owner_b64": string,
"docIdentifier": int
},
]
}
],
"lastAccessed": long,
"userTypedValue": string,
"userTypedClear": int,
"hidden": bool,
"attributes": {
},
"image": string,
"index": int,
"pageStyle": {
"pageStyle": string
},
"scroll": {
"scroll": string
}
},
"title": string,
"image": string,
"pos": int,
"closedAt": long
}
],
"busy": bool,
"width": string,
"height": string,
"screenX": string,
"screenY": string,
"sizemode": string
}
],
"selectedWindow": int,
"_closedWindows": [
{
tabs: [
{
entries: [
{
url: string,
triggeringPrincipal_base64: string,
title: string
}
]
}
],
selected: 2,
title: "mozilla.org",
_closedTabs: []
},
],
"session": {
"lastUpdate": long,
"startTime": long,
"recentCrashes": int
},
"scratchpads": [ string ],
"global": {
}
}
```### addons.json
Compatible addons for this browser version.
### containers.json
Details of the different containers currently in use.
### xulstore.json
Stores information about toolbars, window positioning, and other interface elements in Firefox 34 and above.
### `bookmarkbackups/*.jsonlz4`
Local backup of bookmarks.
### `logins.json`
Contains all the stored username and password information for login manager. See also `signons.sqlite`.
### `handlers.json`
Details of the different services available and how to connect to them.

### `search.json`
Contains information about all of the search engines supported by the browser. This is used by all other search UI to retrieve query and configuration information about a specific search engine.
### `signedInUser.json`
Contains information about the currently signed in Firefox Accounts user. This file is written by both desktop and Android codebases, but the code that does so is entirely different.
### `extensions.json`
Contains information about installed web extensions.
### `times.json`
Written by whichever code first creates the profile — Gecko or Firefox for Android — in order to set a lower bound on profile creation date for analytics. Originally supported Firefox Health Report. JSON to allow for additional fields to be added — e.g., to record "Refresh Firefox" events.
### `datareporting/state.json`
Contains the client ID used to identify this installation for datareporting.
### `healthreport/state.json`
Contains the client ID used to identify this installation for Firefox Health Report.
### `sessionCheckpoints.json`
Records the profile state after every notification.

## File Based Stores.
### `compatibility.ini`
Contains a snapshot of browser version information for compatibility comparison.
### `revocations.txt`
Contains a list of revoked certificates.
### `persdict.dat`
Contains a list of words that have been added to the browser’s dictionary.
### `cert-override.txt`
Contains user certificate exceptions.
### `serviceworker.txt`
Contains information about installed service workers.
### `pluginreg.dat`
Contains a list of installed plugins.

## XML file stores.
### `mimeTypes.rdf`
Contains associations between MIME types and application/save preferences. RDF/XML.8
### `blocklist.xml`
Contains a list of addons, plugins, certificates, and graphics hardware and drivers that Firefox should exclude. Previously (?) stored in `blocklist-{addons,gfx,plugins}.json`.

### Prefs
There are over 1000 preferences collected and stored in desktop Firefox. You can see a list of the preference keys in Appendix 1.
# Android Data Stores
### `browser.db`, `signedInUser.json`
See also discussion of `signedInUser.json`, `times.json`, and `signons.sqlite`, above.

### Prefs
Android uses both Gecko's libpref store (`prefs.js`) and several Android `SharedPreferences` files, which are key-value pairs written to XML files with concurrency support provided by the Android frameworks.
# iOS Data Stores
### `browser.db`

### `logins.db`, `ReadingList.db`, `signedInUser.json`
`metadata.db` was created but never used.

### Prefs
* `applicationDidRequestUserNotificationPermissionPrefKey`
* `backoff.storage`
* `baseTimestamp`
* `blockPopups`
* `bookmarkvalidationattempt`
* `clearprivatedata.toggles`
* `CompactTabLayout`
* `currentClient`
* `feature_switches.`
* `flowID`
* `HomePageButtonIsInMenuPrefKey`
* `HomePageURLPref`
* `ids`
* `initialPingSent`
* `IntroViewControllerSeen`
* `KeyDefaultHomePageURL`
* `lastClientUpload`
* `lastFetched`
* `lastModified`
* `lastRemoteTabSyncTime`
* `lastSyncFinishTime`
* `lastTabsUpload`
* `latestAppVersion`
* `MailToOption`
* `NewTabPrefKey`
* `nextOffset`
* `NightModeButtonIsInMenuPrefKey`
* `NightModeStatus`
* `NoImageModeButtonIsInMenuPrefKey`
* `NoImageModeStatus`
* `offsetNewer`
* `PrefKeyModel`
* `PrefKeyPingCount`
* `PrefKeyProfileDate`
* `previousClients`
* `readermode.style`
* `recentlyClosedTabs`
* `repair.aborted`
* `repair.finished`
* `repair.need-new-client`
* `repair.sent`
* `repair.sent-again`
* `repairs.bookmark`
* `saveLogins`
* `search.disabledEngineNames`
* `search.orderedEngineNames`
* `search.suggestions.show`
* `search.suggestions.showOptIn`
* `settings.allowThirdPartyKeyboards`
* `settings.closePrivateTabs`
* `settings.sendUsageData`
* `state`
* `sync.scratchpad`
* `timestamp`
* `topSites.deletedSuggestedSites`
* `topSitesCacheIsValid`
* `topSitesCacheSize`… plus an array of preferences to manage Sync state. These are all written to `UserDefaults`, which is the iOS equivalent of the Android `SharedPreferences` system. These end up in `.plist` files on disk.
# Firefox Sync storage format 5
See also [http://docs.services.mozilla.com/sync/objectformats.html](http://docs.services.mozilla.com/sync/objectformats.html) and [https://mozilla-services.readthedocs.io/en/latest/storage/apis-1.5.html](https://mozilla-services.readthedocs.io/en/latest/storage/apis-1.5.html) .
Firefox Sync is a record-oriented system: the current state (and only the current state) of the connected devices' opted-in data is present as encrypted JSON objects on the server, keyed by a GUID. Data types correspond to collections on the server: e.g., login records are stored as objects in the passwords collection. Changes are observed by seeing a change in modified timestamp. Changes are retrieved by downloading the entirety of each modified record. New local changes are applied by uploading complete new records to the relevant collection.
See the [datatypes](https://docs.google.com/spreadsheets/d/1k9_K7Dc3q2h3SDV0vwjTgJou-ndza6WuobyJ1bbemtc/edit?ts=5977ab9d#gid=1269587388) companion document to see an overview of which data is synced between which platforms.
## meta/global
Control structure for engine selection and versioning. One per account.
```json
{
"engines" : {
"bookmarks" : {
"version" : int,
"syncID" : string
},
"forms" : {
"version" : int,
"syncID" : string
},
"tabs" : {
"version" : int,
"syncID" : string
},
"clients" : {
"version" : int,
"syncID" : string
},
"addons" : {
"version" : int,
"syncID" : string
},
"passwords" : {
"version" : int,
"syncID" : string
},
"history" : {
"version" : int,
"syncID" : string
},
"prefs" : {
"version" : int,
"syncID" : string
}
},
"syncID" : string,
"declined" : [
string
],
"storageVersion" : int
}
```## Keys
One object per account. Written to crypto/keys.
```json
{
"default" : [ string ],
"collection" : string,
"id" : string,
"collections" : {
"string": string
}
}
```## Client
One per client. Expires after three weeks. Commands are sent to a client by writing them to *its* client record.
```json
{
"commands" : [ {
"command" : string,
"args" : [ string ]
} ],
"protocols" : [ string ],
"application" : string,
"appPackage" : string,
"id" : string,
"os" : string,
"name" : string,
"fxaDeviceId" : string,
"version" : string,
"formfactor" : string,
"type" : string,
"device" : string
}
```
## FormsOne per form entry.
```json
{
"name" : string,
"value" : string
}
```## Tabs
One per client. All tabs for a device are written in a single array. The entire record is reuploaded when the set of open tabs changes.
```json
{
"id" : string,
"clientName" : string,
"tabs" : [
{
"lastUsed" : string/decimalstring/integer,
"icon" : string,
"title" : string,
"urlHistory" : [ string ]
}
]
}
```## Passwords
One per login entry.
```json
{
"httpRealm" : string,
"passwordField" : string,
"id" : string,
"password" : string,
"timeCreated" : ulong,
"formSubmitURL" : string,
"timeLastUsed" : ulong,
"timePasswordChanged" : ulong,
"usernameField" : string,
"hostname" : string,
"username" : string,
"timesUsed" : ulong
}
```## Bookmark
One per bookmark or folder.
```json
{
"id" : string,
"parentid" : string,
"parentName" : string,
"title" : string,
"bmkUri" : string,
"siteUri" : string,
"feedUri" : string,
"type" : string,
"loadInSidebar" : bool,
"pos" : string,
"tags" : [ string ]
"children" : [ string ]
}
```## History
One per URL, containing a truncated array of visits (currently limited to 20). No way of representing the deletion of a visit.
```json
{
"title" : string,
"histUri" : string,
"id" : string,
"visits" : [
{
"date" : integer,
"type" : integer
}
]
}
```## Prefs
One object per *application* (e.g., Firefox).
```json
{
"value" :[{
"name" : string,
"value" : ,
}]
}
```## Addons
```json
{
"addonID" : string,
"applicationID" : string,
"enabled" : bool,
"source" : string,
}
```# Appendices
## Appendix 1 - Desktop Prefs
* `accessibility.accessfu.keyboard_echo`
* `accessibility.accessfu.notify_output`
* `accessibility.accessfu.quicknav_index`
* `accessibility.accessfu.quicknav_modes`
* `accessibility.accessfu.skip_empty_images`
* `Accessibility.accessfu.utterance`
* `accessibility.accesskeycausesactivation`
* `accessibility.AOM.enabled`
* `Accessibility.blockautorefresh`
* `Accessibility.browsewithcaret`
* `accessibility.browsewithcaret_shortcut.enabled`
* `accessibility.delay_plugin_time`
* `accessibility.delay_plugins`
* `accessibility.force_disabled`
* `accessibility.lastLoadDate`
* `accessibility.loadedInLastSession`
* `accessibility.mouse_focuses_formcontrol`
* `Accessibility.screenreader`
* `accessibility.tabfocus_applies_to_xul`
* `accessibility.typeaheadfind`
* `Accessibility.typeaheadfind.autostart`
* `Accessibility.typeaheadfind.casesensitive`
* `Accessibility.typeaheadfind.enablesound`
* `Accessibility.typeaheadfind.enabletimeout`
* `accessibility.typeaheadfind.flashBar`
* `accessibility.typeaheadfind.linksonly`
* `accessibility.typeaheadfind.matchesCountLimit`
* `accessibility.typeaheadfind.prefillWithSelection`
* `accessibility.typeaheadfind.soundURL`
* `accessibility.typeaheadfind.startlinksonly`
* `accessibility.typeaheadfind.timeout`
* `accessibility.usebrailledisplay`
* `accessibility.usetexttospeach`
* `accessibility.warn_on_browsewithcaret`
* `advanced.mailftp`
* `alerts.showFavicons`
* `app.feedback.baseURL`
* `app.productInfo.baseURL`
* `app.releaseNotesURL`
* `app.support.baseURL`
* `app.support.e10sAccessibilityUrl`
* `app.update.altwindowtype`
* `app.update.auto`
* `app.update.backgroundMaxErrors`
* `app.update.badgeWaitTime`
* `app.update.cancelations.osx`
* `app.update.cancelled`
* `app.update.channel`
* `app.update.checkInstallTime`
* `app.update.checkInstallTime.days`
* `app.update.disable_button.showUpdateHistory`
* `app.update.doorhanger`
* `app.update.download.attempts`
* `app.update.download.backgroundInterval`
* `app.update.download.promptMaxAttempts`
* `app.update.elevate.attempts`
* `app.update.elevate.never`
* `app.update.elevation.promptMaxAttempts`
* `app.update.enabled`
* `app.update.idletime`
* `app.update.interval`
* `app.update.lastUpdateTime.\*`
* `app.update.link.updateAvailableWhatsNew`
* `app.update.link.updateManualWhatsNew`
* `app.update.log`
* `app.update.postupdate`
* `app.update.promptWaitTime`
* `app.update.service.enabled`
* `app.update.silent`
* `app.update.staging.enabled`
* `app.update.timerFirstInterval`
* `app.update.timerMinimumDelay`
* `app.update.url`
* `app.update.url.details`
* `app.update.url.manual`
* `application.use_ns_plugin_finder`
* `apz.allow_checkerboarding`
* `apz.allow_immediate_handoff`
* `apz.allow_zooming`
* `apz.axis_lock.breakout_angle`
* `apz.axis_lock.breakout_threshold`
* `apz.axis_lock.direct_pan_angle`
* `apz.axis_lock.lock_angle`
* `apz.axis_lock.mode`
* `apz.content_response_timeout`
* `apz.danger_zone_x`
* `apz.danger_zone_y`
* `apz.disable_for_scroll_linked_effects`
* `apz.displayport_expiry_ms`
* `apz.drag.enabled`
* `apz.drag.initial.enabled`
* `apz.enlarge_displayport_when_clipped`
* `apz.fling_accel_base_mult`
* `apz.fling_accel_interval_ms`
* `apz.fling_accel_min_velocity`
* `apz.fling_accel_supplemental_mult`
* `apz.fling_curve_function_x1`
* `apz.fling_curve_function_x2`
* `apz.fling_curve_function_y1`
* `apz.fling_curve_function_y2`
* `apz.fling_curve_threshold_inches_per_ms`
* `apz.fling_friction`
* `apz.fling_min_velocity_threshold`
* `apz.fling_stop_on_tap_threshold`
* `apz.fling_stopped_threshold`
* `apz.frame_delay.enabled`
* `apz.keyboard.enabled`
* `apz.max_velocity_inches_per_ms`
* `apz.max_velocity_queue_size`
* `apz.min_skate_speed`
* `apz.minimap.enabled`
* `apz.minimap.visbility.enabled`
* `apz.one_touch_pinch.enabled`
* `apz.overscroll.enabled`
* `apz.overscroll.min_pan_distance_ratio`
* `apz.overscroll.spring_friction`
* `apz.overscroll.spring_stiffness`
* `apz.overscroll.stop_distance_threshold`
* `apz.overscroll.stop_velocity_threshold`
* `apz.overscroll.stretch_factor`
* `apz.paint_skipping.enabled`
* `apz.peek_messages.enabled`
* `apz.popups.enabled`
* `apz.printtree`
* `apz.record_checkerboarding`
* `apz.scale_repaint_delay_ms`
* `apz.test.logging_enabled`
* `apz.touch_move_tolerance`
* `apz.touch_start_tolerance`
* `apz.velocity_bias`
* `apz.velocity_relevance_time_ms`
* `apz.x_skate_highmem_adjust`
* `apz.x_skate_size_multipler`
* `apz.x_stationary_size_multiplier`
* `apz.y_skate_highmem_adjust`
* `apz.y_skate_size_multiplier`
* `apz.y_stationary_size_multiplier`
* `apz.zoom_animation_duration_ms`
* `beacon.enabled`
* `bidi.browser.ui`
* `bidi.direction`
* `bidi.edit.caret_movement_style`
* `bidi.edit.delete_immediately`
* `bidi.numeral`
* `bidi.texttype`
* `bookmarks.initialized.pref`
* `breakpad.reportURL`
* `browser.aboutHomeSnippets.updateUrl`
* `browser.active_color`
* `browser.addon-watch.ignore`
* `browser.altClickSave`
* `browser.anchor_color`
* `browser.audioFeeds.handler`
* `browser.audioFeeds.handler.default`
* `browser.audioFeeds.handlers.application`
* `browser.audioFeeds.handlers.webservice`
* `browser.autofocus`
* `browser.backspace_action`
* `browser.bookmarks.added_static_root`
* `browser.bookmarks.autoExportHTML`
* `browser.bookmarks.editDialog.firstEditField`
* `browser.bookmarks.max_backups`
* `browser.bookmarks.restore_default_bookmarks`
* `browser.bookmarks.showMobileBookmarks`
* `browser.bookmarks.showRecentlyBookmarked`
* `browser.cache.auto_delete_cache_version`
* `browser.cache.check_doc_frequency`
* `browser.cache.compression_level`
* `browser.cache.disk.{enable,capacity,filesystem_reported, free_space_hard_limit,free_space_soft_limit,hashstats_reported,max_chunks_memory_usage,max_entry_size,max_priority_chunks_memory_usage,metadata_memory_limit,preload_chunk_count,smart_size\*}`
* `browser.cache.desk_cache_ssl`
* `browser.cache.frecency_experiment`
* `browser.cache.frecency_half_life_hours`
* `browser.cache.max_shutdown_io_lag`
* `browser.cache.memory.{enable,max_entry_size}`
* `browser.cache.offline.capacity`
* `browser.cache.offline.enable`
* `browser.cache.use_new_backend`
* `browser.cache.use_new_backend_temp`
* `browser.casting.enabled`
* `browser.chromeURL`
* `browser.chrome.favicons`
* `browser.chrome.image_icons.max_size`
* `browser.chrome.site_icons`
* `browser.chrome.toolbar_style`
* `browser.chrome.toolbar_tips`
* `browser.contentHandlers.types.0.title`
* `browser.contentHandlers.types.0.type`
* `browser.contentHandlers.types.0.uri`
* `browser.contentHandlers.types.1.title`
* `browser.contentHandlers.types.1.type`
* `browser.contentHandlers.types.1.uri`
* `browser.contentHandlers.types.2.title`
* `browser.contentHandlers.types.2.type`
* `browser.contentHandlers.types.2.uri`
* `browser.contentHandlers.types.3.title`
* `browser.contentHandlers.types.3.type`
* `browser.contentHandlers.types.3.uri`
* `browser.contentHandlers.types.4.title`
* `browser.contentHandlers.types.4.type`
* `browser.contentHandlers.types.4.uri`
* `browser.contentHandlers.types.5.title`
* `browser.contentHandlers.types.5.type`
* `browser.contentHandlers.types.5.uri`
* `browser.crashReports.unsubmittedCheck.autoSubmit`
* `browser.crashReports.unsubmittedCheck.chancesUntilSuppress`
* `browser.crashReports.unsubmittedCheck.enabled`
* `browser.crashReports.unsubmittedCheck.lastShownDate`
* `browser.ctrlTab.disallowForScreenReaders`
* `browser.ctrlTab.previews`
* `browser.customizemode.tip0.learnMoreUrl`
* `browser.customizemode.tip0.shown`
* `browser.defaultbrowser.notificationbar`
* `browser.dictionaries.download.url`
* `browser.display.background_color`
* `browser.display.document_color_use`
* `browser.display.focus_background_color`
* `browser.display.focus_ring_on_anything`
* `browser.display.focus_ring_style`
* `browser.display.focus_text_color`
* `browser.display.force_inline_alttext`
* `browser.display.foreground_color`
* `browser.display.normal_lineheight_calc_control`
* `browser.display.show_image_placeholders`
* `browser.display.show_loading_image_placeholder`
* `browser.display.use_document_fonts`
* `browser.display.use_focus_colors`
* `browser.display.use_system_colors`
* `browser.devedition.showCustomizeButton`
* `browser.devedition.theme.enabled`
* `browser.dictionaries.download.url`
* `browser.disableResetPrompt`
* `browser.display.document_color_use`
* `browser.displayedE10SNotice`
* `browser.displayedE10SPrompt.1`
* `browser.dom.window.dump.enabled`
* `browser.download.animateNotificatons`
* `browser.download.folderList`
* `browser.download.forbid_open_with`
* `browser.download.hide_plugins_without_extensions`
* `browser.download.importedFromSqlite`
* `browser.download.lastDir`
* `browser.download.loglevel`
* `browser.download.manager.addToRecentDocs`
* `browser.download.manager.resumeOnWakeDelay`
* `browser.download.manager.showWhenStarting`
* `browser.download.panel.firstSessionCompleted`
* `browser.download.panel.shown`
* `browser.download.progressDnldDialog.keepAlive`
* `browser.download.saveLinkAsFilenameTimeout`
* `browser.download.save_converter_index`
* `browser.download.show_plugins_in_list`
* `browser.download.useDownloadDir`
* `browser.eme.ui.enabled`
* `browser.eme.ui.firstContentShown`
* `browser.enable_automatic_image_resizing`
* `browser.enable_click_image_resizing`
* `browser.esedbreader.loglevel`
* `browser.EULA.version`
* `browser.EULA..accepted`
* `browser.feeds.handler`
* `browser.feeds.handler.default`
* `browser.feeds.handlers.application`
* `browser.feeds.handlers.webservice`
* `browser.feeds.showFirstRunUI`
* `browser.fixup.alternate.enabled`
* `browser.fixup.alternate.prefix`
* `browser.fixup.alternate.suffix`
* `browser.fixup.dns_first_for_single_words`
* `browser.fixup.domainwhitelist.localhost`
* `browser.fixup.hide_user_pass`
* `browser.flash-protected-mode-flip.done`
* `browser.flash-protected-mode-flip.enable`
* `browser.formfill.adgedWeight`
* `browser.formfill.boundaryWeight`
* `browser.formfill.bucketSize`
* `browser.formfill.debug`
* `browser.formfill.enable`
* `browser.formfill.expire_days`
* `browser.formfill.maxTimeGroupings`
* `browser.formfill.prefixWeight`
* `browser.formfill.timeGroupingSize`
* `browser.fullscreen.animateUp`
* `browser.fullscreen.autohide`
* `browser.geolocation.warning.infoURL`
* `browser.gesture.pinch.in`
* `browser.gesture.pinch.in.shift`
* `browser.gesture.pinch.latched`
* `browser.gesture.pinch.out`
* `browser.gesture.pinch.out.shift`
* `browser.gesture.pinch.threshold`
* `browser.gesture.swipe.down`
* `browser.gesture.swipe.left`
* `browser.gesture.swipe.right`
* `browser.gesture.swipe.up`
* `browser.gesture.tap`
* `browser.gesture.twist.end`
* `browser.gesture.twist.latched`
* `browser.gesture.twist.left`
* `browser.gesture.twist.right`
* `browser.gesture.twist.threshold`
* `browser.hangNotification.waitPeriod`
* `browser.helperApps.alwaysAsk.force`
* `browser.helperApps.deleteTempFileOnExit`
* `browser.helperApps.neverAsk.openFile`
* `browser.helperApps.neverAsk.saveToDisk`
* `browser.hiddenWindowChromeURL`
* `browser.history.maxStateObjectSize`
* `browser.laterrun.bookkeeping.profileCreationTime`
* `browser.laterrun.bookkeeping.sessionCount`
* `browser.laterrun.enabled`
* `browser.laterrun.pages.`
* `browser.link.open_newwindow`
* `browser.link.open_newwindow.disabled_in_fullscreen`
* `browser.link.open_newwindow.override.external`
* `browser.link.open_newwindow.restriction`
* `browser.menu.showCharacterEncoding`
* `browser.meta_refresh_when_inactive.disabled`
* `browser.migrate.automigrate.daysToOfferUndo`
* `browser.migrate.automigrate.enabled`
* `browser.migrate.automigrate.inpage.ui.enabled`
* `browser.migrate.automigrate.ui.enabled`
* `browser.migrate.chrome.history.limit`
* `browser.migrate.chrome.history.maxAgeInDays`
* `browser.migrated-sync-button`
* `browser.migration.version`
* `browser.newtab.preload`
* `browser.newtabpage.activity-stream.default.sites`
* `browser.newtabpage.activity-stream.enabled`
* `browser.newtabpage.activity-stream.feeds.localization`
* `browser.newtabpage.activity-stream.feeds.migration`
* `browser.newtabpage.activity-stream.feeds.newtabinit`
* `browser.newtabpage.activity-stream.feeds.places`
* `browser.newtabpage.activity-stream.feeds.prefs`
* `browser.newtabpage.activity-stream.feeds.section.topstories`
* `browser.newtabpage.activity-stream.feeds.section.topstories.options`
* `browser.newtabpage.activity-stream.feeds.snippets`
* `browser.newtabpage.activity-stream.feeds.systemtick`
* `browser.newtabpage.activity-stream.feeds.telemetry`
* `browser.newtabpage.activity-stream.feeds.topsites`
* `browser.newtabpage.activity-stream.feeds.migrationExpire`
* `browser.newtabpage.activity-stream.feeds.migrationLastShownDate`
* `browser.newtabpage.activity-stream.feeds.migrationRemainingDays`
* `browser.newtabpage.activity-stream.feeds.showSearch`
* `browser.newtabpage.activity-stream.feeds.showTopSites`
* `browser.newtabpage.activity-stream.feeds.telemetry`
* `browser.newtabpage.activity-stream.feeds.telemetry.log`
* `browser.newtabpage.activity-stream.feeds.telemetry.ping.endpoint`
* `browser.newtabpage.blocked`
* `browser.newtabpage.columns`
* `browser.newtabpage.compact`
* `browser.newtabpage.directory.source`
* `browser.newtabpage.enabled`
* `browser.newtabpage.enhanced`
* `browser.newtabpage.introShown`
* `browser.newtabpage.rows`
* `browser.newtabpage.storageVersion`
* `browser.newtabpage.thumbnailPlaceholder`
* `browser.newtabpage.updateIntroShown`
* `browser.offline`
* `browser.offline-apps.notify`
* `browser.onboarding.enabled`
* `browser.onboarding.hidden`
* `browser.onboarding.newtour`
* `browser.onboarding.notification.finished`
* `browser.onboarding.notification.lastPrompted`
* `browser.onboarding.notification.max-life-time-per-tour-ms`
* `browser.onboarding.notification.max-prompt-count-per-tour`
* `browser.onboarding.notification.mute-duration-on-first-session-ms`
* `browser.onboarding.seen-tourset-version`
* `browser.onboarding.tour-type`
* `browser.onboarding.tour.onboarding-tour-*.completed`
* `browser.onboarding.tourset-version`
* `browser.onboarding.updatetour`
* `browser.overlink-delay`
* `browser.pageActions.persistedActions`
* `browser.pagethumbnails.storage_version`
* `browser.panorama.*`
* `browser.photon.structure.enabled`
* `browser.places.importBookmarksHTML`
* `browser.places.smartBookmarksVersion`
* `browser.places.useAsyncTransactions`
* `browser.popups.showPopupBlocker`
* `browser.preferences.advanced.selectedTabIndex`
* `browser.preferences.defaultPerformanceSettings.enabled`
* `browser.preferences.instantApply`
* `browser.preferences.offlineGroup.enabled`
* `browser.preferences.search`
* `browser.preferences.useOldOrganization`
* `browser.privatebrowsing.autostart`
* `browser.reader.deletectedFirstArticle`
* `browser.rights..shown`
* `browser.rights.override`
* `browser.rights.version`
* `browser.safebrowsing.allowOverride`
* `browser.safebrowsing.blockedURIs.enabled`
* `browser.safebrowsing.downloads.enabled`
* `browser.safebrowsing.downloads.remote.block_dangerous`
* `browser.safebrowsing.downloads.remote.block_dangerous_host`
* `browser.safebrowsing.downloads.remote.block_potentially_unwanted`
* `browser.safebrowsing.downloads.remote.enabled`
* `browser.safebrowsing.downloads.remote.timeout_ms`
* `browser.safebrowsing.downloads.remote.url`
* `browser.safebrowsing.enabled`
* `browser.safebrowsing.id`
* `browser.safebrowsing.malware.enabled`
* `browser.safebrowsing.phishing.enabled`
* `browser.safebrowsing.provider.{provider}.advisoryName`
* `browser.safebrowsing.provider.{provider}.advistoryURL`
* `browser.safebrowsing.provider.{provider}.gethashURL`
* `browser.safebrowsing.provider.{provider}.lastupdatetime`
* `browser.safebrowsing.provider.{provider}.lists`
* `browser.safebrowsing.provider.{provider}.pver`
* `browser.safebrowsing.provider.{provider}.reportMalwareMistakeURL`
* `browser.safebrowsing.provider.{provider}.reportPhishMistakeURL`
* `browser.safebrowsing.provider.{provider}.reportURL`
* `browser.safebrowsing.provider.{provider}.updateURL`
* `browser.safebrowsing.reportPhishURL`
* `browser.search.context.loadInBackground`
* `browser.search.countryCode`
* `browser.search.defaultenginename`
* `browser.search.defaultenginename.US`
* `browser.search.geoip.timeout`
* `browser.search.geoip.url`
* `browser.search.geoSpecificDefaults`
* `browser.search.geoSpecificDefaults.url`
* `browser.search.hiddenOneOffs`
* `browser.search.log`
* `browser.search.openintab`
* `browser.search.order.1`
* `browser.search.order.2`
* `browser.search.order.3`
* `browser.search.order.US.1`
* `browser.search.order.US.2`
* `browser.search.order.US.3`
* `browser.search.region`
* `browser.search.reset.enabled`
* `browser.search.reset.whitelist`
* `browser.search.searchEnginesURL`
* `browser.search.selectedEngine`
* `browser.search.suggest.enabled`
* `browser.search.widget.inNavBar`
* `browser.search.update`
* `browser.search.update.interval`
* `browser.search.update.log`
* `browser.search.widget.inNavBar`
* `browser.selfsupport.enabled`
* `browser.send_pings`
* `browser.send_pings.max_per_link`
* `browser.send_pings.require_same_hist`
* `browser.sessionhistory.max_entries`
* `browser.sessionhistory.max_total_viewers`
* `browser.sessionstore.cleanup.forget_closed_after`
* `browser.sessionstore.debug`
* `browser.sessionstore.debug.no_auto_updates`
* `browser.sessionstore.dom_storage_limit`
* `browser.sessionstore.idleDelay`
* `browser.sessionstore.interval`
* `browser.sessionstore.interval.idle`
* `browser.sessionstore.max_resumed_crashes`
* `browser.sessionstore.max_serialize_back`
* `browser.sessionstore.max_serialize_forward`
* `browser.sessionstore.max_tabs_undo`
* `browser.sessionstore.max_windows_undo`
* `browser.sessionstore.privacy_level`
* `browser.sessionstore.restore_hidden_tabs`
* `browser.sessionstore.restore_on_demand`
* `browser.sessionstore.restore_pinned_tabs_on_demand`
* `browser.sessionstore.restore_tabs_lazily`
* `browser.sessionstore.resume_from_crash`
* `browser.sessionstore.resume_session_once`
* `browser.sessionstore.upgradeBackup.latestBuildID`
* `browser.sessionstore.upgradeBackup.maxUpgradeBackups`
* `browser.shell.checkDefaultBrowser`
* `browser.shell.defaultBrowserCheckCount`
* `browser.shell.didSkipDefaultBrowserCheckOnFirstRun`
* `browser.shell.mostRecentDateSetAsDefault`
* `browser.shell.shortcutFavicons`
* `browser.shell.skipDefaultBrowserCheckOnFirstRun`
* `browser.showMenubar`
* `browser.showPersonalToolbar`
* `browser.showQuitWarning`
* `browser.slowStartup.averageTime`
* `browser.slowStartup.maxSamples`
* `browser.slowStartup.notificationDisabled`
* `browser.slowStartup.samples`
* `browser.slowStartup.timeThreshold`
* `browser.snapshots.limit`
* `browser.ssl_override_behavior`
* `browser.startup.firstrunSkipsHomepage`
* `browser.startup.homepage`
* `browser.startup.homepage_override.buildID`
* `browser.startup.homepage_override.mstone`
* `browser.startup.page`
* `browser.stopReloadAnimation.enabled`
* `browser.storageManager.enabled`
* `browser.storageManager.pressureNotification.minIntervalMS`
* `browser.storageManager.pressureNotification.usageThresholdGB`
* `browser.suppress_first_window_animation`
* `browser.syncPromoViewsLeftMap`
* `browser.tabs.closeWindowWithLastTab`
* `browser.tabs.crashReporting.email`
* `browser.tabs.crashReporting.emailMe`
* `browser.tabs.crashReporting.includeURL`
* `browser.tabs.crashReporting.requestEmail`
* `browser.tabs.crashReporting.sendReport`
* `browser.tabs.delayHidingAudioPlayingIconMS`
* `browser.tabs.drawInTitlebar`
* `browser.tabs.insertRelatedAfterCurrent`
* `browser.tabs.loadBookmarksInBackground`
* `browser.tabs.loadDivertedInBackground`
* `browser.tabs.loadInBackground`
* `browser.tabs.maxOpenBeforeWarn`
* `browser.tabs.opentabfor.middleclick`
* `browser.tabs.remote.allowLinkedWebInFileUriProcess`
* `browser.tabs.remote.autostart`
* `browser.tabs.remote.autostart.1`
* `browser.tabs.remote.autostart.2`
* `browser.tabs.remote.desktopbehavior`
* `browser.tabs.remote.force-enable`
* `browser.tabs.remote.separateFileUriProcess`
* `browser.tabs.restorebutton`
* `browser.tabs.selectOwnerOnClose`
* `browser.tabs.showAudioPlayingIcon`
* `browser.tabs.tabClipWidth`
* `browser.tabs.warnOnClose`
* `browser.tabs.warnOnCloseOtherTabs`
* `browser.tabs.warnOnOpen`
* `browser.taskbar.previews.cachetime`
* `browser.taskbar.previews.enable`
* `browser.taskbar.previews.max`
* `browser.taskbar.lists.enabled`
* `browser.taskbar.lists.frequent.enabled`
* `browser.taskbar.lists.maxListItemCount`
* `browser.taskbar.lists.recent.enabled`
* `browser.taskbar.lists.refreshInSeconds`
* `browser.taskbar.lists.tasks.enabled`
* `browser.toolbarbuttons.introduced.pocket-button`
* `browser.touchmode.auto`
* `browser.translation.detectLanguage`
* `browser.translation.engine`
* `browser.translation.neverForLanguages`
* `browser.translation.ui.show`
* `browser.triple_click_selects_paragraph`
* `browser.uiCustomization.debug`
* `browser.uiCustomization.state`
* `browser.uidensity`
* `browser.uitour.enabled`
* `browser.uitour.loglevel`
* `browser.uitour.requireSecure`
* `browser.uitour.surveyDuration`
* `browser.uitour.themeOrigin`
* `browser.uitour.url`
* `browser.underline_anchors`
* `browser.urlbar.autocomplete.enabled`
* `browser.urlbar.autoFill`
* `browser.urlbar.autoFill.typed`
* `browser.urlbar.clickSelectsAll`
* `browser.urlbar.daysBeforeHidingSuggestionsPrompt`
* `browser.urlbar.decodeURLsOnCopy`
* `browser.altClickSave`
* `browser.urlbar.default.behavior`
* `browser.urlbar.delay`
* `browser.urlbar.doubleClickSelectsAll`
* `browser.urlbar.filter.javascript`
* `browser.urlbar.formatting.enabled`
* `browser.urlbar.lastSuggestionsPromptDate`
* `browser.urlbar.matchBehavior`
* `browser.urlbar.maxCharsForSearchSuggestions`
* `browser.urlbar.maxRichResults`
* `browser.urlbar.oneOffSearches`
* `browser.urlbar.speculativeConnect.enable`
* `browser.urlbar.suggest.bookmark`
* `browser.urlbar.suggest.history`
* `browser.urlbar.suggest.history.onlyTyped`
* `browser.urlbar.suggest.openpage`
* `browser.urlbar.suggest.searches`
* `browser.urlbar.timesBeforeHidingSuggestionsHint`
* `browser.urlbar.usepreloadedtopurls.enabled`
* `browser.urlbar.usepreloadedtopurls.expire_days`
* `browser.urlbar.userMadeSearchSuggestionsChoice`
* `browser.videoFeeds.handler`
* `browser.videoFeeds.handler.default`
* `browser.videoFeeds.handlers.application`
* `browser.videoFeeds.handlers.webservice`
* `browser.visited_color`
* `browser.warnOnQuit`
* `browser.xul.error_pages.enabled`
* `browser.xul.error_pages.expert_bad_cert`
* `browser.zoom.full`
* `browser.zoom.siteSpecific`
* `browser.zoom.updateBackgroundTabs`
* `camera.control.face_detection.enabled`
* `canvas.capturestream.enabled`
* `canvas.customfocusring.enabled`
* `canvas.filters.enabled`
* `canvas.focusring.enabled`
* `canvas.hitregions.enabled`
* `canvas.image.cache.limit`
* `canvas.imagebitmap_extensions.enabled`
* `canvas.path.enabled`
* `capability.policy.policynames`
* `capability.policy..checkloaduri.enabled`
* `capability.policy..sites`
* `captivedetect.canonicalContent`
* `captivedetect.canonicalURL`
* `captivedetect.maxRetryCount`
* `captivedetect.maxWaitingTime`
* `captivedetect.pollingTime`
* `chrome.override_package.<*>`
* `clipboard.autocopy`
* `clipboard.plainTextOnly`
* `content.sink.pending_event_mode`
* `converter.html2txt.always_include_ruby`
* `converter.html2txt.header_strategy`
* `converter.html2txt.structs`
* `datareporting.healthreport.abount.reportURI`
* `datareporting.healthreport.infoURL`
* `datareporting.healthreport.lastDataSubmissionFailureTime`
* `datareporting.healthreport.lastDataSubmissionRequestedTime`
* `datareporting.healthreport.lastDataSubmissionSuccessfulTime`
* `datareporting.healthreport.nextDataSubmissionTime`
* `datareporting.healthreport.service.firstRun`
* `datareporting.healthreport.uploadEnabled`
* `datareporting.policy.currentPolicyVersion`
* `datareporting.policy.dataSubmissionEnabled`
* `datareporting.policy.dataSubmissionPolicyNotifiedTime`
* `datareporting.policy.firstRunTime`
* `datareporting.policy.firstRunURL`
* `datareporting.policy.minimumPolicyVersion`
* `datareporting.sessions.current.activeTicks`
* `datareporting.sessions.current.clean`
* `datareporting.sessions.current.firstPaint`
* `datareporting.sessions.current.main`
* `datareporting.sessions.current.sessionRestored`
* `datareporting.sessions.current.startTime`
* `datareporting.sessions.current.totalTime`
* `datareporting.sessions.currentIndex`
* `datareporting.sessions.previous.`
* `datareporting.sessions.prunedIndex`
* `device.sensors.enabled`
* `device.storage.enabled`
* `devtools.debugger.log`
* `devtools.theme`
* `distribution.id`
* `distribution.testing.loadFromProfile`
* `distribution.version`
* `distribution.about`
* `distribution..bookmarksProcessed`
* `dom.debug.propagate_gesture_events_through_content`
* `dom.disable_open_during_load`
* `dom.disable_window_flip`
* `dom.disable_window_move_resize`
* `dom.disable_window_open_feature.location`
* `dom.disable_window_status_change`
* `dom.keyboardevent.dispatch_during_composition`
* `dom.ipc.cpow.timeout`
* `dom.ipc.cpows.allow-cpows-in-compat-addons`
* `dom.ipc.cpows.forbid-cpows-in-compat-addons`
* `dom.ipc.cpows.forbid-unsafe-from-browser`
* `dom.ipc.plugins.flash.disable-protected-mode`
* `dom.ipc.plugins.nativeCursorSupport`
* `dom.ipc.plugins.sandbox-level.defaut`
* `dom.ipc.plugins.sandbox-level.flash`
* `dom.ipc.plugins.sandbox-level.flash`
* `dom.ipc.processHangMonitor`
* `dom.ipc.processPrelaunch.enabled`
* `dom.ipc.plugins.reportCrashURL`
* `dom.ipc.reportProcessHangs`
* `dom.ipc.shims.enabledWarnings`
* `dom.mozBrowserFramesEnabled`
* `dom.push.enabled`
* `dom.serviceWorkers.enabled`
* `dom.serviceWorkers.openWindow.enabled`
* `dom.w3c_touch_events.enabled`
* `experiments.activeExperiment`
* `experiments.enabled`
* `experiments.manifest.fetchIntervalSeconds`
* `experiments.manifest.uri`
* `experiments.supported`
* `extensions.addon-sdk.useBundledSDK`
* `extensions.allow-non-mpc-extensions`
* `extensions.autoDisableScopes`
* `extensions.checkCompatibility.temporaryThemeOverride_minAppVersionURL`
* `extensions.dss.switchPending`
* `extensions.e10sBlocksEnabling`
* `extensions.e10sMultiBlocksEnabling`
* `extensions.formautofill.addresses.enabled`
* `extensions.formautofill.experimental`
* `extensions.formautofill.firstTimeUse`
* `extensions.formautofill.heuristics.enabled`
* `extensions.formautofill.loglevel`
* `extensions.geckoProfiler.acceptedExtensionIds`
* `extensions.geckoProfiler.getSymbolRules`
* `extensions.geckoProfiler.symbols.url`
* `extensions.getAddons.cache.enabled`
* `extensions.getAddons.get.url`
* `extensions.getAddons.getWithPerformance.url`
* `extensions.getAddons.link.url`
* `extensions.getAddons.maxResults`
* `extensions.getAddons.recommended.url`
* `extensions.getAddons.search.browseURL`
* `extensions.getAddons.search.url`
* `extensions.getAddons.themes.browseURL`
* `extensions.hotfix.cert.checkAttributes`
* `extensions.hotfix.certs.1.sha1Fingerprint`
* `extensions.hotfix.certs.2.sha1Fingerprint`
* `extensions.hotfix.id`
* `extensions.interposition.enabled`
* `extensions.interposition.prefetching`
* `extensions.legacy.exceptions`
* `extensions.logging.enabled`
* `extensions.minCompatibleAppVersion`
* `extensions.modules..path`
* `extensions.pocket.enabled`
* `extensions.screenshots.disabled`
* `extensions.screenshots.system-disabled`
* `extensions.startupScanScopes`
* `extensions.strictCompatibility`
* `extensions.systemAddon.update.url`
* `extensions.ui.ignoreUnsigned`
* `extensions.update.autoUpdateDefault`
* `extensions.update.background.url`
* `extensions.update.enabled`
* `extensions.update.interval`
* `extensions.update.url`
* `extensions.webapi.testing`
* `extensions.webcompat-reporter.enabled`
* `extensions.webextensions.base-content-security-polic`
* `extensions.webextensions.default-content-security-policy`
* `extensions.webextensions.remote`
* `extensions.webextensions.themes.enabled`
* `extensions.webextensions.themes.icons.buttons`
* `extensions.webextOptionalPermissionPrompts`
* `extensions.webextPermissionPrompts`
* `extensions.webservice.discover`
* `extensions..name`
* `extensions..description`
* `font.language.group`
* `full-screen-api.enabled`
* `full-screen-api.warning.delay`
* `full-screen-api.warning.timeout`
* `gecko.handlerService.defaultHandlersVersion`
* `gecko.handlerService.schemes.irc.0.name`
* `gecko.handlerService.schemes.irc.0.uriTemplate`
* `gecko.handlerService.schemes.irc.1.name`
* `gecko.handlerService.schemes.irc.1.uriTemplate`
* `gecko.handlerService.schemes.irc.2.name`
* `gecko.handlerService.schemes.irc.2.uriTemplate`
* `gecko.handlerService.schemes.irc.3.name`
* `gecko.handlerService.schemes.irc.3.uriTemplate`
* `gecko.handlerService.schemes.ircs.0.name`
* `gecko.handlerService.schemes.ircs.0.uriTemplate`
* `gecko.handlerService.schemes.ircs.1.name`
* `gecko.handlerService.schemes.ircs.1.uriTemplate`
* `gecko.handlerService.schemes.ircs.2.name`
* `gecko.handlerService.schemes.ircs.2.uriTemplate`
* `gecko.handlerService.schemes.ircs.3.name`
* `gecko.handlerService.schemes.ircs.3.uriTemplate`
* `gecko.handlerService.schemes.mailto.0.name`
* `gecko.handlerService.schemes.mailto.0.uriTemplate`
* `gecko.handlerService.schemes.mailto.1.name`
* `gecko.handlerService.schemes.mailto.1.uriTemplate`
* `gecko.handlerService.schemes.mailto.2.name`
* `gecko.handlerService.schemes.mailto.2.uriTemplate`
* `gecko.handlerService.schemes.mailto.3.name`
* `gecko.handlerService.schemes.mailto.3.uriTemplate`
* `gecko.handlerService.schemes.webcal.0.name`
* `gecko.handlerService.schemes.webcal.0.uriTemplate`
* `gecko.handlerService.schemes.webcal.1.name`
* `gecko.handlerService.schemes.webcal.1.uriTemplate`
* `gecko.handlerService.schemes.webcal.2.name`
* `gecko.handlerService.schemes.webcal.2.uriTemplate`
* `gecko.handlerService.schemes.webcal.3.name`
* `gecko.handlerService.schemes.webcal.3.uriTemplate`
* `general.autoScroll`
* `general.skins.selectedSkin`
* `general.smoothScroll`
* `general.useragent.locale`
* `general.warnOnAboutConfig`
* `geo.provider.ms-windows-location`
* `geo.provider.use_corelocation`
* `geo.provider.use_gpsd`
* `geo.wifi.uri`
* `gfx.blacklist.suggested-driver-version`
* `gfx.blacklist.direct2d`
* `gfx.blacklist.layers.direct3d9`
* `gfx.blacklist.layers.direct3d10`
* `gfx.blacklist.layers.direct3d10-1`
* `gfx.blacklist.layers.direct3d11`
* `gfx.blacklist.direct3d11angle`
* `gfx.blacklist.hardwarevideodecoding`
* `gfx.blacklist.layers.opengl`
* `gfx.blacklist.webgl.opengl`
* `gfx.blacklist.webgl.angle`
* `gfx.blacklist.webgl.msaa`
* `gfx.blacklist.stagefright`
* `gfx.blacklist.webrtc.hw.acceleration`
* `gfx.blacklist.webrtc.hw.acceleration.encode`
* `gfx.blacklist.webrtc.hw.acceleration.decode`
* `gfx.blacklist.canvas2d.acceleration`
* `gfx.blacklist.webgl2`
* `gfx.blacklist.layers.advanced`
* `gfx.blacklist.d3d11.keyed.mutex`
* `gfx.blacklist..failureid`
* `identity.fxaccounts.contextParam`
* `identity.fxaccounts.migrateToDevEdition`
* `identity.fxaccounts.remote.force_auth.uri`
* `identity.fxaccounts.remote.oauth.uri`
* `identity.fxaccounts.remote.profile.uri`
* `identity.fxaccounts.remote.signin.uri`
* `identity.fxaccounts.remote.signup.uri`
* `identity.fxaccounts.remote.webchannel.uri`
* `identity.fxaccounts.settings.devices.uri`
* `identity.fxaccounts.settings.uri`
* `identity.mobilepromo.android`
* `identity.mobilepromo.ios`
* `identity.sync.tokenserver.uri`
* `idle.lastDailyNotification`
* `image.http.accept`
* `image.mem.max_decoded_image_kb`
* `intl.charset.detector`
* `intl.uidirection`
* `javascript.enabled`
* `javascript.options.showInConsole`
* `keyword.enabled`
* `layout.css.devPixelsPerPx`
* `layout.show_previous_page`
* `layout.spellcheckDefault`
* `lightweightThemes.getMoreURL`
* `lightweightThemes.recommendedThemes`
* `lightweightThemes.selectedThemeID`
* `lightweightThemes.update.enabled`
* `media.eme.enabled`
* `media.eme.vp9-in-mp4.enabled`
* `media.gmp-provider.enabled`
* `media.gmp.trial-create.enabled`
* `media.gmp-widevinecdm.enabled`
* `media.gmp-widevinecdm.visible`
* `media.webspeech.synth.enabled`
* `middlemouse.contentLoadURL`
* `mousewheel.with_alt.action`
* `mousewheel.with_control.action`
* `mousewheel.with_control.action.override_x`
* `mousewheel.with_meta.action`
* `mousewheel.with_meta.action.override_x`
* `mousewheel.with_shift.action`
* `mousewheel.with_win.action`
* `mozilla.widget.disable-native-theme`
* `network.captive-portal-service.enabled`
* `network.disable.ipc.security`
* `network.manage-offline-status`
* `network.cookie.cookieBehavior`
* `network.cookie.lifetimePolicy`
* `network.protocol-handler.expose-all`
* `network.protocol-handler.expose.mailto`
* `network.protocol-handler.expose.news`
* `network.protocol-handler.expose.nntp`
* `network.protocol-handler.expose.snews`
* `network.protocol-handler.external.mailto`
* `network.protocol-handler.external.ms-windows-store`
* `network.protocol-handler.external.news`
* `network.protocol-handler.external.nntp`
* `network.protocol-handler.external.snews`
* `network.protocol-handler.warn-external.mailto`
* `network.protocol-handler.warn-external.ms-windows-store`
* `network.protocol-handler.warn-external.news`
* `network.protocol-handler.warn-external.nntp`
* `network.protocol-handler.warn-external.snews`
* `network.proxy.share_proxy_settings`
* `nglayout.debug.crossing_event_dumping`
* `nglayout.enable_drag_images`
* `nglayout.debug.event_dumping`
* `nglayout.debug.invalidate_dumping`
* `nglayout.debug.motion_event_dumping`
* `nglayout.debug.paint_dumping`
* `nglayout.debug.paint_flashing`
* `pdfium.enabled`
* `pdfjs.disabled`
* `pdfjs.firstRun`
* `pdfjs.previousHandler.alwaysAskBeforeHandling`
* `pdfjs.previousHandler.preferredAction`
* `permissions.default.image`
* `permissions.manager.defaultsUrl`
* `places.frecency.bookmarkVisitBonus`
* `places.frecency.defaultBucketWeight`
* `places.frecency.defaultVisitBonus`
* `places.frecency.downloadVisitBonus`
* `places.frecency.embedVisitBonus`
* `places.frecency.firstBucketCutoff`
* `places.frecency.firstBucketWeight`
* `places.frecency.fourthBucketCutoff`
* `places.frecency.fourthBucketWeight`
* `places.frecency.framedLinkVisitBonus`
* `places.frecency.linkVisitBonus`
* `places.frecency.numVisits`
* `places.frecency.permRedirectVisitBonus`
* `places.frecency.redirectSourceVisitBonus`
* `places.frecency.reloadVisitBonus`
* `places.frecency.secondBucketCutoff`
* `places.frecency.secondBucketWeight`
* `places.frecency.tempRedirectVisitBonus`
* `places.frecency.thirdBucketCutoff`
* `places.frecency.thirdBucketWeight`
* `places.frecency.typedVisitBonus`
* `places.frecency.unvisitedBookmarkBonus`
* `places.frecency.unvisitedTypedBonus`
* `places.history.enabled`
* `plain_text.wrap_long_lines`
* `plugin.defaultXpi.state`
* `plugin.default.state`
* `plugin.state.flash`
* `plugin.state.java`
* `plugins.click_to_play`
* `plugins.favorfallback.mode`
* `plugins.favorfallback.rules`
* `plugins.flashBlock.enabled`
* `plugins.remember_infobar_dismissal`
* `plugins.show_infobar`
* `plugins.testmode`
* `pointer-lock-api.warning.timeout`
* `print.use_simplify_page`
* `print.printer_.print_margin_top`
* `print.printer_.print_margin_left`
* `print.printer_.print_margin_bottom`
* `print.printer_.print_margin_right`
* `print.printer_.print_edge_top`
* `print.printer_.print_edge_left`
* `print.printer_.print_edge_bottom`
* `print.printer_.print_edge_right`
* `print.printer_.print_unwriteable_margin_top`
* `print.printer_.print_unwriteable_margin_left`
* `print.printer_.print_unwriteable_margin_bottom`
* `print.printer_.print_unwriteable_margin_right`
* `print.printer_.print_evenpages`
* `print.printer_.print_oddpages`
* `print.printer_.print_headerleft`
* `print.printer_.print_headercenter`
* `print.printer_.print_headerright`
* `print.printer_.print_footercenter`
* `print.printer_.print_footerright`
* `print.printer_.print_reversed`
* `print.printer_.print_in_color`
* `print.printer_.print_paper_name`
* `print.printer_.print_paper_data`
* `print.printer_.print_paper_size_unit`
* `print.printer_.print_paper_width`
* `print.printer_.print_paper_height`
* `print.printer_.print_orientation`
* `print.printer_.print_printer`
* `print.printer_.print_to_file`
* `print.printer_.print_to_filename`
* `print.printer_.print_bgcolor`
* `print.printer_.print_bgimages`
* `print.printer_.print_shrink_to_fit`
* `print.printer_.print_scaling`
* `print.printer_.print_resolution`
* `print.printer_.print_duplex`
* `privacy.clearOnShutdown.cache`
* `privacy.clearOnShutdown.cookies`
* `privacy.clearOnShutdown.downloads`
* `privacy.clearOnShutdown.formdata`
* `privacy.clearOnShutdown.history`
* `privacy.clearOnShutdown.offlineApps`
* `privacy.clearOnShutdown.openWindows`
* `privacy.clearOnShutdown.sessions`
* `privacy.clearOnShutdown.siteSettings`
* `privacy.cpd.cache`
* `privacy.cpd.cookies`
* `privacy.cpd.downloads`
* `privacy.cpd.formdata`
* `privacy.cpd.history`
* `privacy.cpd.offlineApps`
* `privacy.cpd.openWindows`
* `privacy.cpd.passwords`
* `privacy.cpd.sessions`
* `privacy.cpd.siteSettings`
* `privacy.donottrackheader.enabled`
* `privacy.donottrackheader.value`
* `privacy.firstparty.isolate`
* `privacy.firstparty.isolate.restrict_opener_access`
* `privacy.history.custom`
* `privacy.item.cookies`
* `privacy.panicButton.enabled`
* `privacy.permissionPrompts.showCloseButton`
* `privacy.popups.policy`
* `privacy.popups.showBrowserMessage`
* `privacy.popups.usecustom`
* `privacy.resistFingerprinting`
* `privacy.sanitize.migrateFx3Prefs`
* `privacy.sanitize.sanitizeOnShutdown`
* `privacy.sanitize.timeSpan`
* `privacy.temporary_permission_expire_time_ms`
* `privacy.trackingprotection.introCount`
* `privacy.trackingprotection.introURL`
* `privacy.trackingprotection.ui.enabled`
* `privacy.usercontext.about_newtab_segregation.enabled`
* `privacy.userContext.enabled`
* `privacy.userContext.longPressBehavior"`
* `privacy.userContext.ui.enabled`
* `prompts.tab_modal.enabled`
* `reader.errors.includeURLs`
* `reader.parse-node-limit`
* `security.allow_chrome_frames_inside_content`
* `security.alternate_certificate_error_page`
* `security.cert_pinning.enforcement_level`
* `security.csp.enable`
* `security.dialog_enable_delay`
* `security.fileuri.strict_origin_policy`
* `security.insecure_field_warning.contextual.enabled`
* `security.insecure_password.ui.enabled`
* `security.mixed_content.block_active_content`
* `security.sandbox.content.level`
* `security.sandbox.content.read_path_whitelist`
* `security.sandbox.content.syscall_whitelist`
* `security.sandbox.content.tempDirSuffix`
* `security.sandbox.content.write_path_whitelist`
* `security.sandbox.gpu.level`
* `security.sandbox.logging.enabled`
* `security.sandbox.windows.log.stackTraceDepth`
* `security.view-source.reachable-from-inner-protocol`
* `services.sync.autoconnectDelay`
* `services.sync.username`
* `services.sync.clients.devices.`
* `services.sync.prefs.sync.accessibility.blockautorefresh`
* `services.sync.prefs.sync.accessibility.browsewithcaret`
* `services.sync.prefs.sync.accessibility.typeaheadfind`
* `services.sync.prefs.sync.accessibility.typeaheadfind.linksonly`
* `services.sync.prefs.sync.addons.ignoreUserEnabledChanges`
* `services.sync.prefs.sync.browser.ctrlTab.previews`
* `services.sync.prefs.sync.browser.download.useDownloadDir`
* `services.sync.prefs.sync.browser.formfill.enable`
* `services.sync.prefs.sync.browser.link.open_newwindow`
* `services.sync.prefs.sync.browser.newtabpage.enabled`
* `services.sync.prefs.sync.browser.newtabpage.enhanced`
* `services.sync.prefs.sync.browser.newtabpage.pinned`
* `services.sync.prefs.sync.browser.offline-apps.notify`
* `services.sync.prefs.sync.browser.safebrowsing.phishing.enabled`
* `services.sync.prefs.sync.browser.safebrowsing.malware.enabled`
* `services.sync.prefs.sync.browser.search.update`
* `services.sync.prefs.sync.browser.sessionstore.restore_on_demand`
* `services.sync.prefs.sync.browser.startup.homepage`
* `services.sync.prefs.sync.browser.startup.page`
* `services.sync.prefs.sync.browser.tabs.loadInBackground`
* `services.sync.prefs.sync.browser.tabs.warnOnClose`
* `services.sync.prefs.sync.browser.tabs.warnOnOpen`
* `services.sync.prefs.sync.browser.urlbar.autocomplete.enabled`
* `services.sync.prefs.sync.browser.urlbar.maxRichResults`
* `services.sync.prefs.sync.browser.urlbar.suggest.bookmark`
* `services.sync.prefs.sync.browser.urlbar.suggest.history`
* `services.sync.prefs.sync.browser.urlbar.suggest.history.onlyTyped`
* `services.sync.prefs.sync.browser.urlbar.suggest.openpage`
* `services.sync.prefs.sync.browser.urlbar.suggest.searches`
* `services.sync.prefs.sync.dom.disable_open_during_load`
* `services.sync.prefs.sync.dom.disable_window_flip`
* `services.sync.prefs.sync.dom.disable_window_move_resize`
* `services.sync.prefs.sync.dom.event.contextmenu.enabled`
* `services.sync.prefs.sync.extensions.personas.current`
* `services.sync.prefs.sync.extensions.update.enabled`
* `services.sync.prefs.sync.intl.accept_languages`
* `services.sync.prefs.sync.layout.spellcheckDefault`
* `services.sync.prefs.sync.lightweightThemes.selectedThemeID"`
* `services.sync.prefs.sync.lightweightThemes.usedThemes`
* `services.sync.prefs.sync.network.cookie.cookieBehavior`
* `services.sync.prefs.sync.network.cookie.lifetimePolicy`
* `services.sync.prefs.sync.network.cookie.lifetime.days`
* `services.sync.prefs.sync.network.cookie.thirdparty.sessionOnly`
* `services.sync.prefs.sync.permissions.default.image`
* `services.sync.prefs.sync.pref.advanced.images.disable_button.view_image`
* `services.sync.prefs.sync.pref.advanced.javascript.disable_button.advanced`
* `services.sync.prefs.sync.pref.downloads.disable_button.edit_actions`
* `services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions`
* `services.sync.prefs.sync.privacy.clearOnShutdown.cache`
* `services.sync.prefs.sync.privacy.clearOnShutdown.cookies`
* `services.sync.prefs.sync.privacy.clearOnShutdown.downloads`
* `services.sync.prefs.sync.privacy.clearOnShutdown.formdata`
* `services.sync.prefs.sync.privacy.clearOnShutdown.history`
* `services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps`
* `services.sync.prefs.sync.privacy.clearOnShutdown.sessions`
* `services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings`
* `services.sync.prefs.sync.privacy.donottrackheader.enabled`
* `services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown`
* `services.sync.prefs.sync.privacy.trackingprotection.enabled`
* `services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled`
* `services.sync.prefs.sync.security.OCSP.enabled`
* `services.sync.prefs.sync.security.OCSP.require`
* `services.sync.prefs.sync.security.default_personal_cert`
* `services.sync.prefs.sync.security.tls.version.min`
* `services.sync.prefs.sync.security.tls.version.max`
* `services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons`
* `services.sync.prefs.sync.signon.rememberSignons`
* `services.sync.prefs.sync.spellchecker.dictionary`
* `services.sync.prefs.sync.xpinstall.whitelist.required`
* `services.sync.syncedTabs.showRemoteIcons`
* `sidebar.position_start`
* `signed.applets.codebase_principal_support`
* `signon.schemeUpgrades`
* `social.directories`
* `social.share.activationPanelEnabled`
* `social.shareDirectory`
* `startup.homepage_override_url`
* `startup.homepage_welcome_url`
* `startup.homepage_welcome_url.additional`
* `storage.nfs_filesystem`
* `storage.vacuum.last.`
* `storage.vacuum.last.index`
* `toolkit.cosmeticAnimations.enabled`
* `toolkit.crashreporter.infoURL`
* `toolkit.datacollection.infoURL`
* `toolkit.pageThumbs.minHeight`
* `toolkit.pageThumbs.minWidth`
* `toolkit.startup.max_resumed_crashes`
* `toolkit.storage.pageSize`
* `toolkit.storage.synchronous`
* `toolkit.telemetry.archive.enabled`
* `toolkit.telemetry.enabled`
* `toolkit.telemetry.newProfilePing.enabled`
* `toolkit.telemetry.shutdownPingSender.enabled`
* `ui.click_hold_context_menus.delay`
* `ui.caretBlinkTime`
* `ui.caretWidth`
* `ui.caretVisibleWithSelection`
* `ui.submenuDelay`
* `ui.dragThresholdX`
* `ui.dragThresholdY`
* `ui.useAccessibilityTheme`
* `ui.menusCanOverlapOSBar`
* `ui.useOverlayScrollbars`
* `ui.scrollbarDisplayOnMouseMove`
* `ui.scrollbarFadeBeginDelay`
* `ui.scrollbarFadeDuration`
* `ui.showHideScrollbars`
* `ui.skipNavigatingDisabledMenuItem`
* `ui.treeOpenDelay`
* `ui.treeCloseDelay`
* `ui.treeLazyScrollDelay`
* `ui.treeScrollDelay`
* `ui.treeScrollLinesMax`
* `accessibility.tabfocus`
* `ui.alertNotificationOrigin`
* `ui.scrollToClick`
* `ui.IMERawInputUnderlineStyle`
* `ui.IMESelectedRawTextUnderlineStyle`
* `ui.IMEConvertedTextUnderlineStyle`
* `ui.IMESelectedConvertedTextUnderlineStyle`
* `ui.SpellCheckerUnderlineStyle`
* `ui.scrollbarButtonAutoRepeatBehavior`
* `ui.tooltipDelay`
* `ui.physicalHomeButton`
* `ui.contextMenuOffsetVertical`
* `ui.contextMenuOffsetHorizontal`
* `ui.windowBackground`
* `ui.windowForeground`
* `ui.widgetBackground`
* `ui.widgetForeground`
* `ui.widgetSelectBackground`
* `ui.widgetSelectForeground`
* `ui.widget3DHighlight`
* `ui.widget3DShadow`
* `ui.textBackground`
* `ui.textForeground`
* `ui.textSelectBackground`
* `ui.textSelectForeground`
* `ui.textSelectForegroundCustom`
* `ui.textSelectBackgroundDisabled`
* `ui.textSelectBackgroundAttention`
* `ui.textHighlightBackground`
* `ui.textHighlightForeground`
* `ui.IMERawInputBackground`
* `ui.IMERawInputForeground`
* `ui.IMERawInputUnderline`
* `ui.IMESelectedRawTextBackground`
* `ui.IMESelectedRawTextForeground`
* `ui.IMESelectedRawTextUnderlin`
* `ui.IMEConvertedTextBackground`
* `ui.IMEConvertedTextForeground`
* `ui.IMEConvertedTextUnderline`
* `ui.IMESelectedConvertedTextBackground`
* `ui.IMESelectedConvertedTextForeground`
* `ui.IMESelectedConvertedTextUnderline`
* `ui.SpellCheckerUnderline`
* `ui.activeborder`
* `ui.activecaption`
* `ui.appworkspace`
* `ui.background`
* `ui.buttonface`
* `ui.buttonhighlight`
* `ui.buttonshadow`
* `ui.buttontext`
* `ui.captiontext`
* `ui.graytext`
* `ui.highlight`
* `ui.highlighttext`
* `ui.inactiveborder`
* `ui.inactivecaption`
* `ui.inactivecaptiontext"`
* `ui.infobackground`
* `ui.infotext`
* `ui.menu`
* `ui.menutext`
* `ui.scrollbar`
* `ui.threeddarkshadow`
* `ui.threedface`
* `ui.threedhighlight`
* `ui.threedlightshadow`
* `ui.threedshadow`
* `ui.window`
* `ui.windowframe`
* `ui.windowtext`
* `ui.-moz-buttondefault`
* `ui.-moz-field`
* `ui.-moz-fieldtext`
* `ui.-moz-dialog`
* `ui.-moz-dialogtext`
* `ui.-moz-dragtargetzone`
* `ui.-moz-cellhighlight`
* `ui.-moz_cellhighlighttext`
* `ui.-moz-html-cellhighlight`
* `ui.-moz-html-cellhighlighttext`
* `ui.-moz-buttonhoverface`
* `ui.-moz_buttonhovertext`
* `ui.-moz_menuhover`
* `ui.-moz_menuhovertext`
* `ui.-moz_menubartext`
* `ui.-moz_menubarhovertext`
* `ui.-moz_eventreerow`
* `ui.-moz_oddtreerow`
* `ui.-moz-mac-buttonactivetext`
* `ui.-moz_mac_chrome_active`
* `ui.-moz_mac_chrome_inactive`
* `ui.-moz-mac-defaultbuttontext`
* `ui.-moz-mac-focusring`
* `ui.-moz-mac-menuselect`
* `ui.-moz-mac-menushadow`
* `ui.-moz-mac-menutextdisable`
* `ui.-moz-mac-menutextselect`
* `ui.-moz_mac_disabledtoolbartext`
* `ui.-moz-mac-secondaryhighlight`
* `ui.-moz-win-mediatext`
* `ui.-moz-win-communicationstext`
* `ui.-moz-nativehyperlinktext`
* `ui.-moz-comboboxtext`
* `ui.-moz-combobox`
* `ui.key.accelKey`
* `ui.key.chromeAccess`
* `ui.key.contentAccess`
* `ui.key.generalAccessKey`
* `ui.key.menuAccessKey`
* `ui.key.menuAccessKeyFocuses`
* `urlclassifier.malwareTable`
* `urlclassifier.phishTable`
* `view_source.tab`
* `webchannel.allowObject.urlWhitelist`
* `xpinstall.customConfirmationUI`
* `xpinstall.enabled`
* `xpinstall.signatures.required`
* `xpinstall.signatures.devInfoURL`
* `xpinstall.whitelist.required`## Appendix 2 - Synced Datatypes visualisation
[https://docs.google.com/spreadsheets/d/1k9_K7Dc3q2h3SDV0vwjTgJou-ndza6WuobyJ1bbemtc/edit?ts=5977ab9d#gid=1269587388](https://docs.google.com/spreadsheets/d/1k9_K7Dc3q2h3SDV0vwjTgJou-ndza6WuobyJ1bbemtc/edit?ts=5977ab9d#gid=1269587388)