tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nimbus.fml.yaml (39208B)


      1 ---
      2 about:
      3  description: Nimbus Feature Manifest for Fenix (Firefox Android)
      4  kotlin:
      5    package: org.mozilla.fenix
      6    class: .nimbus.FxNimbus
      7 channels:
      8  - release
      9  - beta
     10  - nightly
     11  - developer
     12 includes:
     13  - onboarding.fml.yaml
     14  - messaging-fenix.fml.yaml
     15 import:
     16  - path: ../../android-components/components/browser/engine-gecko/geckoview.fml.yaml
     17    channel: release
     18    features:
     19      pdfjs:
     20        - channel: developer
     21          value: {
     22          download-button: true,
     23          open-in-app-button: true
     24        }
     25  - path: ../../android-components/components/feature/fxsuggest/fxsuggest.fml.yaml
     26    channel: release
     27    features:
     28      awesomebar-suggestion-provider:
     29        - value:
     30            available-suggestion-types: {
     31              "amp": true,
     32              "ampMobile": false,
     33              "wikipedia": true,
     34            }
     35 
     36 features:
     37  homescreen:
     38    description: The homescreen that the user goes to when they press home or new tab.
     39    variables:
     40      sections-enabled:
     41        description: "This property provides a lookup table of whether or not the given section should be enabled.
     42        If the section is enabled, it should be toggleable in the settings screen, and on by default."
     43        type: Map<HomeScreenSection, Boolean>
     44        default:
     45          {
     46            "header": true,
     47            "top-sites": true,
     48            "jump-back-in": true,
     49            "bookmarks": true,
     50            "recent-explorations": true,
     51            "pocket": true,
     52            "pocket-sponsored-stories": true,
     53            "synced-tabs": true,
     54            "collections": true,
     55          }
     56    defaults:
     57      - channel: nightly
     58        value: {
     59          "sections-enabled": {
     60            "header": true,
     61            "top-sites": true,
     62            "jump-back-in": true,
     63            "bookmarks": true,
     64            "recent-explorations": true,
     65            "pocket": true,
     66            "synced-tabs": true,
     67            "collections": true,
     68          }
     69        }
     70  nimbus-validation:
     71    description: "A feature that does not correspond to an application feature suitable for showing
     72    that Nimbus is working. This should never be used in production."
     73    variables:
     74      settings-title:
     75        description: The title of displayed in the Settings screen and app menu.
     76        type: Text
     77        default: browser_menu_settings
     78      settings-punctuation:
     79        description: The emoji displayed in the Settings screen title.
     80        type: String
     81        default: ""
     82      settings-icon:
     83        description: The drawable displayed in the app menu for Settings
     84        type: String
     85        default: mozac_ic_settings
     86  cookie-banners:
     87    description: Features for cookie banner handling.
     88    variables:
     89      sections-enabled:
     90        description: "This property provides a lookup table of whether or not the given section should be enabled."
     91        type: Map<CookieBannersSection, Int>
     92        default:
     93          {
     94            "feature-ui": 0,
     95            "feature-setting-value": 0,
     96            "feature-setting-value-pbm": 0,
     97            "feature-setting-detect-only": 0,
     98            "feature-setting-global-rules": 1,
     99            "feature-setting-global-rules-sub-frames": 1,
    100          }
    101    defaults:
    102      - channel: developer
    103        value: {
    104          "sections-enabled": {
    105            "feature-ui": 1,
    106            "feature-setting-value": 0,
    107            "feature-setting-value-pbm": 1,
    108            "feature-setting-detect-only": 0,
    109            "feature-setting-global-rules": 1,
    110            "feature-setting-global-rules-sub-frames": 1,
    111          }
    112        }
    113      - channel: nightly
    114        value: {
    115          "sections-enabled": {
    116            "feature-ui": 0,
    117            "feature-setting-value": 0,
    118            "feature-setting-value-pbm": 0,
    119            "feature-setting-detect-only": 0,
    120            "feature-setting-global-rules": 1,
    121            "feature-setting-global-rules-sub-frames": 1,
    122          }
    123        }
    124      - channel: beta
    125        value: {
    126          "sections-enabled": {
    127            "feature-ui": 0,
    128            "feature-setting-value": 0,
    129            "feature-setting-value-pbm": 0,
    130            "feature-setting-detect-only": 0,
    131            "feature-setting-global-rules": 1,
    132            "feature-setting-global-rules-sub-frames": 1,
    133          }
    134        }
    135 
    136  re-engagement-notification:
    137    description: A feature that shows the re-engagement notification if the user is inactive.
    138    variables:
    139      enabled:
    140        description: If true, the re-engagement notification is shown to the inactive user.
    141        type: Boolean
    142        default: false
    143      type:
    144        description: The type of re-engagement notification that is shown to the inactive user.
    145        type: Int
    146        default: 0
    147 
    148  onboarding:
    149    description: "A feature that configures the new user onboarding page.
    150    Note that onboarding is a **first run** feature, and should only be modified by first run experiments."
    151    variables:
    152      order:
    153        description: Determines the order of the onboarding page panels
    154        type: List<OnboardingPanel>
    155        default: ["themes", "toolbar-placement", "sync", "tcp", "privacy-notice"]
    156 
    157  one-click-search:
    158    description: Enable/disable the one click search feature.
    159    variables:
    160      enabled:
    161        description: If true, the one click search will be enabled.
    162        type: Boolean
    163        default: false
    164 
    165  glean:
    166    description: "A feature that provides server-side configurations for Glean metrics (aka Server Knobs)."
    167    allow-coenrollment: true
    168    variables:
    169      gleanMetricConfiguration:
    170        description: Configuration for Glean Server Knobs
    171        type: GleanServerKnobsConfiguration
    172        default: {}
    173      enable-event-timestamps:
    174        description: "Enables precise event timestamps for Glean events"
    175        type: Boolean
    176        default: true
    177      delay-ping-lifetime-io:
    178        description: "Glean will delay io for ping lifetime metrics"
    179        type: Boolean
    180        default: true
    181      ping-lifetime-threshold:
    182        description: "Write count threshold when to auto-flush"
    183        type: Int
    184        default: 1000
    185      ping-lifetime-max-time:
    186        description: "After what time to auto-flush"
    187        type: Int
    188        default: 2000
    189 
    190  splash-screen:
    191    description: "A feature that extends splash screen duration, allowing additional data fetching time for the app's initial run."
    192    variables:
    193      enabled:
    194        description: "If true, the feature is active."
    195        type: Boolean
    196        default: false
    197      maximum_duration_ms:
    198        description: The maximum amount of time in milliseconds the splashscreen will be visible while waiting for initialization calls to complete.
    199        type: Int
    200        default: 0
    201      off-train-onboarding:
    202        description: "If true, the fetched data will be applied and used during the session."
    203        type: Boolean
    204        default: false
    205 
    206  alternative-app-launcher-icon:
    207    description: A feature that changes the app launcher icon background color.
    208    variables:
    209      enabled:
    210        description: If true, the feature is active.
    211        type: Boolean
    212        default: false
    213      reset-to-default:
    214        description: >
    215          If true use the default icon, if false use the alternative icon.
    216          This is required to 'reset' the icon for enrolled users once the initial experiment is complete.
    217        type: Boolean
    218        default: false
    219 
    220  print:
    221    description: A feature for printing from the share or browser menu.
    222    variables:
    223      share-print-enabled:
    224        description: If true, a print button from the share menu is available.
    225        type: Boolean
    226        default: true
    227      browser-print-enabled:
    228        description: If true, a print button from the browser menu is available.
    229        type: Boolean
    230        default: true
    231 
    232  sent-from-firefox:
    233    description: A feature that allows the user to add a download firefox footer to a shared link.
    234    variables:
    235      enabled:
    236        description: If true, the feature is available for the user.
    237        type: Boolean
    238        default: false
    239      template-message:
    240        description: A template for the shared message, supporting three placeholders. A shared link, the brand name and a store download link.
    241        type: Text
    242        default: ""
    243      download-link:
    244        description: A store download link.
    245        type: Text
    246        default: ""
    247      show-snackbar:
    248        description: If true, the user will see the snackbar after sharing a link, allowing quick navigation to settings.
    249        type: Boolean
    250        default: false
    251    defaults:
    252      - channel: developer
    253        value:
    254          enabled: true
    255          template-message: sent_from_firefox_template
    256          download-link: "[Download Link]"
    257          show-snackbar: true
    258 
    259  setup-checklist:
    260    description: A feature on the home page that allows the user to track onboarding setup progress.
    261    variables:
    262      enabled:
    263        type: Boolean
    264        description: If true, the setup checklist will be enabled.
    265        default: false
    266      setup-checklist-type:
    267        type: SetupChecklistType
    268        description: The collection used for the setup checklist.
    269        default: collection-1
    270 
    271  search-extra-params:
    272    description: A feature that provides additional args for search.
    273    variables:
    274      enabled:
    275        description: If true, the feature is active.
    276        type: Boolean
    277        default: false
    278      search-engine:
    279        description: The search engine name.
    280        type: String
    281        default: ""
    282      feature-enabler:
    283        description: The feature enabler param name with arg, NOTE this map could be empty.
    284        type: Map<String, String>
    285        default: {}
    286      channel-id:
    287        description: The channel Id param name with arg.
    288        type: Map<String, String>
    289        default: {}
    290 
    291  fx-suggest:
    292    description: A feature that provides Firefox Suggest search suggestions.
    293    variables:
    294      enabled:
    295        description: >
    296          Whether the feature is enabled. When Firefox Suggest is enabled,
    297          Firefox will download and store new search suggestions in the
    298          background, and show additional Search settings to control which
    299          suggestions appear in the awesomebar. When Firefox Suggest is
    300          disabled, Firefox will not download new suggestions, and hide the
    301          additional Search settings.
    302        type: Boolean
    303        default: false
    304      boost-amp-wiki:
    305        description: >
    306          The feature boost wiki and AMP suggestions to the top of its group.
    307        type: Boolean
    308        default: false
    309    defaults:
    310      - channel: developer
    311        value:
    312          enabled: true
    313          boost-amp-wiki: true
    314      - channel: nightly
    315        value:
    316          enabled: true
    317 
    318  nimbus-is-ready:
    319    description: >
    320      A feature that provides the number of Nimbus is_ready events to send
    321      when Nimbus finishes launching.
    322    variables:
    323      event-count:
    324        description: The number of events that should be sent.
    325        type: Int
    326        default: 1
    327 
    328  translations:
    329    description: The feature that allows on-device translations of web content.
    330    variables:
    331      main-flow-toolbar-enabled:
    332        description: >
    333          Show the primary toolbar entry point into the translations feature. (Translations icon on URL toolbar.)
    334        type: Boolean
    335        default: true
    336      main-flow-browser-menu-enabled:
    337        description: >
    338          Show the browser menu entry point into the translations feature. ('Translate Page' on browser menu.)
    339        type: Boolean
    340        default: true
    341      page-settings-enabled:
    342        description: >
    343          Show the page settings entry point within the translations feature. (Gear icon on the translations main flow page.)
    344          'main-flow-toolbar-enabled' or 'main-flow-browser-menu-enabled' must also be enabled for users to access this feature.
    345        type: Boolean
    346        default: true
    347      global-settings-enabled:
    348        description: >
    349          Show the global settings entry point within the translations feature. ('Translation Settings' on the page settings view.)
    350          'page-settings-enabled' must also be enabled for users to access this feature.
    351        type: Boolean
    352        default: true
    353      global-lang-settings-enabled:
    354        description: >
    355          Show the global language options entry point for automatically translating. ('Automatic Translation' on the global settings view.)
    356          'global-settings-enabled' must also be enabled for users to access this feature.
    357        type: Boolean
    358        default: true
    359      global-site-settings-enabled:
    360        description: >
    361          Show the global never translate this site options entry point for site management. ('Never translate these sites' on the global settings view.)
    362          'global-settings-enabled' must also be enabled for users to access this feature.
    363        type: Boolean
    364        default: true
    365      downloads-enabled:
    366        description: >
    367          Show the global language model download options entry point for translations. ('Download languages' on the global settings view.)
    368          'global-settings-enabled' must also be enabled for users to access this feature.
    369        type: Boolean
    370        default: true
    371 
    372  navigation-toolbar:
    373    description: Feature for navigation toolbar.
    374    variables:
    375      enabled:
    376        description: >
    377          When the feature is enabled then the user will see the new navigation toolbar.
    378        type: Boolean
    379        default: false
    380    defaults:
    381      - channel: developer
    382        value:
    383          enabled: true
    384      - channel: nightly
    385        value:
    386          enabled: true
    387 
    388  composable-toolbar:
    389    description: Use a composable toolbar instead of the View based one.
    390    variables:
    391      enabled:
    392        description: >
    393          When the feature is enabled the user will see a new composable toolbar instead the previous View based one.
    394        type: Boolean
    395        default: true
    396 
    397  minimal-addressbar:
    398    description: Show a smaller height bottom addressbar with just the URL.
    399    variables:
    400      at-bottom-while-entering-text:
    401        description: >
    402          Whether to show the smaller height bottom addressbar with just the URL when entering text in a website.
    403        type: Boolean
    404        default: false
    405 
    406  remote-tab-management:
    407    description: >
    408      Features that let users manage tabs on other devices that are
    409      connected to the same Mozilla account.
    410    variables:
    411      close-tabs-enabled:
    412        description: >
    413          Whether the feature to close synced tabs is enabled. When enabled,
    414          this device will allow other devices to close tabs that are open on this device, and
    415          show a "close" button for tabs that are currently open on other supported devices
    416          in the synced tabs tray.
    417        type: Boolean
    418        default: true
    419 
    420  ship:
    421    description: The feature that controls Session History in Parent (SHIP) in Gecko.
    422    variables:
    423      disabled:
    424        description: >
    425          Whether or not to disable SHIP. SHIP is enabled when set to false. SHIP is disabled when
    426          set to true.
    427        type: Boolean
    428        default: true
    429 
    430  fission:
    431    description: The feature that controls whether fission is enabled or not in Gecko.
    432    variables:
    433      shouldUseNimbus:
    434        description: >
    435            If true, the values for both SHIP and Fission set in this file apply.
    436            Otherwise, the values from modules/libpref/init/StaticPrefList.yaml apply.
    437        type: Boolean
    438        default: false
    439      enabled:
    440        description: >
    441          Whether or not to enable fission. Fission is enabled when set to true. Fission is disabled when
    442          set to false.
    443        type: Boolean
    444        default: false
    445      isolationStrategy:
    446        description: >
    447          The web content isolation strategy to use with fission. "0" means "isolate nothing", similar to
    448          non-fission behavior. "1" means "isolate everything", where every site-origin gets its own
    449          process. "2" means "isolate high value", Android-specific setting to only isolate sites
    450          considered "high value".
    451        type: Int
    452        default: 2
    453 
    454  suggest-shipped-domains:
    455    description: Feature that suggests domains from the shipped domain list.
    456    variables:
    457      enabled:
    458        description: >
    459          Suggest domains from the shipped domain list.
    460        type: Boolean
    461        default: false
    462    defaults:
    463      - channel: nightly
    464        value:
    465          enabled: false
    466      - channel: developer
    467        value:
    468          enabled: false
    469 
    470  fingerprinting-protection:
    471    description: Control Fingerprinting Protection
    472    variables:
    473      enabled:
    474        description: If true, the feature is active.
    475        type: Boolean
    476        default: false
    477      enabled-normal:
    478        description: >
    479          Enables / disables fingerprinting protection in normal browsing mode.
    480        type: Boolean
    481        default: false
    482      enabled-private:
    483        description: >
    484          Enables / disables fingerprinting protection in private browsing mode.
    485        type: Boolean
    486        default: true
    487      overrides:
    488        description: >
    489          The protection overrides to add or remove fingerprinting protection
    490          targets. Please check RFPTargets.inc for all supported targets.
    491          The format of the overrides is +Target1,-Target2,+Target3
    492          where + means add and - means remove. The targets are separated by
    493          commas. The default value is empty string.
    494        type: String
    495        default: ""
    496      fdlibm-math:
    497        description: >
    498          Uses a different math backend for Math.sin/cos/tan in JavaScript that
    499          exposes less entropy
    500        type: Boolean
    501        default: false
    502 
    503  baseline-fpp:
    504    description: Control Baseline Fingerprinting Protection
    505    variables:
    506      feat-enabled:
    507        description: If true, the feature is active.
    508        type: Boolean
    509        default: false
    510      enabled:
    511        type: Boolean
    512        description: Enables / disables baseline fingerprinting protection.
    513        default: true
    514      overrides:
    515        type: String
    516        description: >-
    517          The protection overrides to add or remove fingerprinting protection
    518          targets. Please check RFPTargets.inc for all supported targets.
    519          The format of the overrides is +Target1,-Target2,+Target3
    520          where + means add and - means remove. The targets are separated by
    521          commas. The default value is empty string.
    522        default: ""
    523 
    524  third-party-cookie-blocking:
    525    description: Control third-party cookie blocking.
    526    variables:
    527      enabled:
    528        description: If true, the feature is active.
    529        type: Boolean
    530        default: false
    531      enabled-normal:
    532        description: >
    533          Enables / disables third-party cookie blocking in normal browsing mode.
    534        type: Boolean
    535        default: false
    536      enabled-private:
    537        description: >
    538          Enables / disables third-party cookie blocking in private browsing mode.
    539        type: Boolean
    540        default: true
    541 
    542  safe-browsing-v5:
    543    description: Control Safe Browsing V5.
    544    variables:
    545      feature-enabled:
    546        description: >-
    547          If true, this feature is enabled. Otherwise, we follow the
    548          SafeBrowsing V5 enabled pref.
    549        type: Boolean
    550        default: false
    551      enable-v5:
    552        description: >-
    553          Enables / disables the SafeBrowsing V5 protocol.
    554        type: Boolean
    555        default: false
    556 
    557  menu-redesign:
    558    description: Control the new menu redesign.
    559    variables:
    560      enabled:
    561        description: If true, the new menu redesign is available.
    562        type: Boolean
    563        default: true
    564      report-site-issue:
    565        description: If true, report site issue menu item and preview is available.
    566        type: Boolean
    567        default: true
    568      menu-banner:
    569        description: If true, the menu banner is visible.
    570        type: Boolean
    571        default: true
    572    defaults:
    573      - channel: release
    574        value:
    575          enabled: false
    576      - channel: release
    577        value:
    578          report-site-issue: false
    579 
    580  override-user-specified-homepage-sections:
    581    description: Whether to ignore the user-specified homepage section visibility settings and hide the options in the settings.
    582    variables:
    583      enabled:
    584        description: >
    585          When true, ignore the user-specified homepage section visibility settings, and hide the toggle options in the settings.
    586        type: Boolean
    587        default: false
    588 
    589  firefox-jp-guide-default-site:
    590    description: >
    591      This feature is for managing the visibility of the Firefox Japanese Guide default suggested site shortcut
    592    variables:
    593      enabled:
    594        description: >
    595          Enables the feature.
    596        type: Boolean
    597        default: false
    598    defaults:
    599      - channel: developer
    600        value:
    601          enabled: true
    602 
    603  microsurveys:
    604    description: Feature for microsurveys.
    605    variables:
    606      enabled:
    607        description: >
    608          When the feature is enabled then microsurveys can be used.
    609        type: Boolean
    610        default: false
    611 
    612  terms-of-use-prompt:
    613    description: Enables the terms of use prompt for users who have not accepted ToU
    614    variables:
    615      enabled:
    616        description: When the feature is enabled then the prompt can show for users.
    617        type: Boolean
    618        default: false
    619      content-option:
    620        description: Defines which content option should used for the prompt.
    621        type: TermsOfUsePromptContentOption
    622        default: value-0
    623      max-display-count:
    624        description: The maximum number of times to show the prompt.
    625        type: Int
    626        default: 2
    627      enable-drag-to-dismiss:
    628        description: Whether to show a drag handle on the prompt and allows users to use it to dismiss the prompt.
    629        type: Boolean
    630        default: true
    631 
    632  tab-strip:
    633    description: Enables tab strip.
    634    variables:
    635      enabled:
    636        description: >
    637          Whether or not to enable tab strip.
    638        type: Boolean
    639        default: false
    640      allow-on-all-devices:
    641        description: >
    642          Experimental: When true, bypasses device restrictions and enables use on all devices.
    643          May cause instability or unexpected behavior. This still requires the feature to be `enabled`.
    644        type: Boolean
    645        default: false
    646    defaults:
    647      - channel: developer
    648        value:
    649          enabled: false
    650      - channel: nightly
    651        value:
    652          enabled: false
    653      - channel: beta
    654        value:
    655          enabled: false
    656 
    657  search-suggestions-on-homepage:
    658    description: Enables search suggestions on homepage.
    659    variables:
    660      enabled:
    661        description: >
    662          Whether or not to enable search suggestions on homepage.
    663        type: Boolean
    664        default: false
    665 
    666  homepage-as-new-tab:
    667    description: Enables homepage as a a new tab.
    668    variables:
    669      enabled:
    670        description: >
    671          Whether or not to enable homepage as a new tab
    672        type: Boolean
    673        default: false
    674 
    675  homepage-search-bar:
    676    description: Enables the homepage search bar.
    677    variables:
    678      enabled:
    679        description: >
    680          Whether or not to enable the homepage search bar.
    681        type: Boolean
    682        default: false
    683 
    684  homepage-hide-frecent-top-sites:
    685    description: Hides frecent top sites on the homepage.
    686    variables:
    687      enabled:
    688        description: >
    689          Whether or not to hide frecent top sites on the homepage.
    690        type: Boolean
    691        default: false
    692 
    693  unified-trust-panel:
    694    description: Enables the unified trust panel.
    695    variables:
    696      enabled:
    697        description: >
    698          Whether or not to enable the unified trust panel.
    699        type: Boolean
    700        default: true
    701 
    702  user-characteristics:
    703    description: A feature for control user characteristic data collection
    704    variables:
    705      currentVersion:
    706        description: The current collection version of the user characteristics.
    707        type: Int
    708        default: 0
    709 
    710  networkingBannedPorts:
    711    description: "Networking (Necko) Banned Ports"
    712    variables:
    713      bannedPortList:
    714        description: A comma-separated list of ports that Firefox will refuse to connect to. These ports will be appended to nsIOService gBadPortList
    715        type: String
    716        default: ""
    717 
    718  pki:
    719    description: Certificate verification configuration
    720    variables:
    721      certificateTransparencyMode:
    722        description: >
    723          What mode Certificate Transparency is in (0=disable, 1=telemetry only, 2=enforce).
    724        type: Option<Int>
    725        default: null
    726      crliteChannel:
    727        description: >
    728          The channel from which CRLite filters will be installed.
    729        type: Option<String>
    730        default: null
    731 
    732  pqcrypto:
    733    description: Control the use of post-quantum key exchange mechanisms in TLS and HTTP/3.
    734    variables:
    735      postQuantumKeyExchangeEnabled:
    736        description: >
    737          Toggles the security.tls.enable_kyber and network.http.http3.enable_kyber preferences.
    738        type: Option<Boolean>
    739        default: null
    740 
    741  javascript:
    742    description: Enables Javascript Engine (Spidermonkey) features
    743    variables:
    744      parallelMarkingEnabled:
    745        description: >
    746          Enables or disables javascript.options.mem.gc_parallel_marking preference.
    747        type: Boolean
    748        default: false
    749 
    750  encourage-search-cfr:
    751    description: A feature that shows a CFR on first launch to encourage users to make a search
    752    variables:
    753      enabled:
    754        description: When true, the CFR will show
    755        type: Boolean
    756        default: false
    757      cfrText:
    758        description: The text to show in the CFR
    759        type: Text
    760        default: ""
    761  remote-search-configuration:
    762    description: Feature to use search configurations from remote servers.
    763    variables:
    764      enabled:
    765        description: >
    766          Uses search configuration from remote servers .
    767        type: Boolean
    768        default: true
    769  same-document-navigation-overrides-load-type:
    770    description: Control whether the same document navigation overrides the load type.
    771    variables:
    772      enabled:
    773        description: >
    774          Overrides the loadType when it is a same document navigation
    775        type: Boolean
    776        default: true
    777      force-disable-uri:
    778        description: >
    779          Disable overriding the loadType during same document navigation on the domain specified by this URI.
    780        type: String
    781        default: ""
    782    defaults:
    783      - channel: nightly
    784        value:
    785          enabled: false
    786          force-disable-uri: ""
    787      - channel: developer
    788        value:
    789          enabled: false
    790          force-disable-uri: ""
    791  doh:
    792    description: Feature controlling DNS over HTTPS (DoH).
    793    variables:
    794      show-ui:
    795        description: >
    796          When `true`, include DoH settings in the settings UI.
    797        type: Boolean
    798        default: true
    799      autoselect-enabled:
    800        description: >
    801          Controls the network.android_doh.autoselect_enabled pref and automatically chooses a DoH provider when Default Protection mode is selected.
    802        type: Boolean
    803        default: false
    804 
    805  private-browsing-lock:
    806    description: Allows enabling and disabling the private browsing mode lock via an authentication screen.
    807    variables:
    808      enabled:
    809        description: >
    810          Whether or not to enable private browsing mode lock.
    811        type: Boolean
    812        default: true
    813 
    814  app-icon-selection:
    815    description: Allows the user to set an alternative app launcher icon.
    816    variables:
    817      enabled:
    818        description: Whether or not the feature is available for the user.
    819        type: Boolean
    820        default: true
    821 
    822  settings-search:
    823      description: Feature to allow users to search for settings.
    824      variables:
    825        enabled:
    826          description: >
    827            Enables the user to search for settings.
    828          type: Boolean
    829          default: false
    830      defaults:
    831        - channel: developer
    832          value:
    833            enabled: true
    834        - channel: nightly
    835          value:
    836            enabled: true
    837        - channel: beta
    838          value:
    839            enabled: true
    840 
    841  toolbar-redesign-option:
    842    description: Control the visibility of toolbar redesign option in settings.
    843    variables:
    844      show-options:
    845        description: >
    846          Whether or not the toolbar redesign option is visible to the user.  This allows the user to switch between simple and expanded toolbar.
    847        type: Boolean
    848        default: true
    849      show-customization:
    850        description: >
    851          Whether or not the simple/expanded toolbar customization option is visible to the user.
    852        type: Boolean
    853        default: false
    854    defaults:
    855      - channel: developer
    856        value:
    857          show-options: true
    858          show-customization: false
    859      - channel: nightly
    860        value:
    861          show-options: true
    862          show-customization: false
    863 
    864  tab-management-enhancements:
    865    description: Control the visibility of the tab management enhancements.
    866    variables:
    867      enabled:
    868        description: >
    869          Whether or not to enable the tab management enhancements.
    870        type: Boolean
    871        default: false
    872      opening_animation_enabled:
    873        description: Whether or not the Tab Manager opening animation is enabled. When enabled,
    874          a shared element transition will initiate, taking the currently-opened tab's thumbnail
    875          and shrinking it into its spot in the Tab Manager.
    876        type: Boolean
    877        default: false
    878    defaults:
    879      - channel: release
    880        value:
    881          enabled: false
    882          opening_animation_enabled: false
    883      - channel: beta
    884        value:
    885          enabled: false
    886          opening_animation_enabled: false
    887      - channel: nightly
    888        value:
    889          enabled: true
    890          opening_animation_enabled: false
    891 
    892  tab-search:
    893    description: Control the visibility of the tab search feature.
    894    variables:
    895      enabled:
    896        description: >
    897          Whether or not to enable the tab search feature.
    898        type: Boolean
    899        default: false
    900    defaults:
    901      - channel: release
    902        value:
    903          enabled: false
    904      - channel: beta
    905        value:
    906          enabled: false
    907      - channel: nightly
    908        value:
    909          enabled: false
    910 
    911  suppress-sponsored-top-sites:
    912    description: Suppress sponsored top sites for new users for 14 days.
    913    variables:
    914      enabled:
    915        description: If true, new users won’t see sponsored tiles for 14 days.
    916        type: Boolean
    917        default: false
    918 
    919  lna-blocking:
    920    description: Feature that allows blocking local network or device access.
    921    variables:
    922      blocking:
    923        description: >
    924          Whether or not to block LNA requests
    925        type: Boolean
    926        default: false
    927      block-trackers:
    928        description: >
    929          Whether or not to block trackers
    930        type: Boolean
    931        default: false
    932      enabled:
    933        description: >
    934          Whether or not to turn on local network / device access blocking
    935        type: Boolean
    936        default: false
    937 
    938  isolated-content-processes:
    939    description: Feature that controls content process isolation.
    940    variables:
    941      enabled:
    942        description: >
    943          Whether or not to enable isolated content processes.
    944        type: Boolean
    945        default: false
    946      app-zygote-preloading:
    947        description: >
    948          Whether or not to enable app Zygote preloaded isolated content processes.
    949        type: Boolean
    950        default: false
    951 
    952  custom-review-prompt:
    953    description: Feature that controls the Play store review prompt.
    954    variables:
    955      enabled:
    956        description: Whether or not to enable the new trigger criteria.
    957        type: Boolean
    958        default: false
    959 
    960  default-browser-prompt:
    961    description: Feature that controls when the default browser prompt is shown.
    962    variables:
    963      enabled:
    964        description: Whether or not to enable the default browser prompt.
    965        type: Boolean
    966        default: true
    967      daysBetweenPrompts:
    968        description: The minimum number of days between showing the prompt.
    969        type: Option<Int>
    970        default: 14
    971      maxPromptsShown:
    972        description: The maximum number of times the prompt can shown to the user.
    973        type: Option<Int>
    974        default: 3
    975      coldStartsBetweenPrompts:
    976        description: The minimum number of cold starts between showing the prompt.
    977        type: Option<Int>
    978        default: 4
    979 
    980  relay-email-masks:
    981    description: Feature to enable Relay for users on Firefox on Android.
    982    variables:
    983      enabled:
    984        description: If true, Relay email masks feature is enabled.
    985        type: Boolean
    986        default: false
    987    defaults:
    988      - channel: developer
    989        value:
    990          enabled: true
    991 
    992 types:
    993  objects:
    994    GleanServerKnobsConfiguration:
    995      description: A configuration object for Glean server knobs.
    996      fields:
    997        metrics_enabled:
    998          description: A map of metric base-identifiers to booleans representing the state of the 'enabled' flag for that metric.
    999          type: Map<String, Boolean>
   1000          default: {}
   1001        pings_enabled:
   1002          description: A map of ping names to booleans representing the state of the 'enabled' flag for that ping.
   1003          type: Map<String, Boolean>
   1004          default: {}
   1005        event_threshold:
   1006          description: The threshold of events that will be buffered before an events ping is collected and submitted.
   1007          type: Option<Int>
   1008          default: null
   1009 
   1010  enums:
   1011    HomeScreenSection:
   1012      description: The identifiers for the sections of the homescreen.
   1013      variants:
   1014        header:
   1015          description: The header of the homescreen.
   1016        top-sites:
   1017          description: The frecency and pinned sites.
   1018        bookmarks:
   1019          description: The sites the user has bookmarked.
   1020        jump-back-in:
   1021          description: The tabs the user was looking immediately before being interrupted.
   1022        recent-explorations:
   1023          description: The tab groups
   1024        pocket:
   1025          description: The pocket section. This should only be available in the US.
   1026        pocket-sponsored-stories:
   1027          description: Subsection of the Pocket homescreen section which shows sponsored stories.
   1028        synced-tabs:
   1029          description: The synced tabs section of the homepage.
   1030        collections:
   1031          description: The collections section of the homepage.
   1032 
   1033    CookieBannersSection:
   1034      description: The identifiers for the sections of the MR 2022.
   1035      variants:
   1036        feature-ui:
   1037          description: An integer either 0 or 1 indicating if the UI for cookie banner handling should be visible,
   1038            0 to hide the UI and 1 to show the UI. The actual UI is composed by cookie banner section
   1039            in the settings page, the toolbar section and the re-engagement dialog.
   1040        feature-setting-value:
   1041          description: An integer either 0 or 1 indicating if cookie banner setting should be enabled or disabled,
   1042             0 for setting the value to disabled, 1  for enabling the setting with the value reject_all.
   1043        feature-setting-value-pbm:
   1044          description: An integer either 0 or 1 indicating if cookie banner setting should be enabled or disabled,
   1045            0 for setting the value to disabled, 1  for enabling the setting with the value reject_all.
   1046        feature-setting-detect-only:
   1047          description: An integer either 0 or 1 indicating if cookie banner detect only mode
   1048            should be enabled or disabled. 0 for setting to be disabled, and 1 for enabling the setting.
   1049        feature-setting-global-rules:
   1050          description: An integer either 0 or 1 indicating if cookie banner global rules
   1051            should be enabled or disabled. 0 for setting to be disabled, and 1 for enabling the setting.
   1052        feature-setting-global-rules-sub-frames:
   1053          description: An integer either 0 or 1 indicating if cookie banner global rules sub-frames
   1054            should be enabled or disabled. 0 for setting to be disabled, and 1 for enabling the setting.
   1055 
   1056    QueryParameterStrippingSection:
   1057      description: The identifiers for the options for the Query Parameter Stripping feature.
   1058      variants:
   1059        query-parameter-stripping:
   1060          description: An integer either 0 or 1 indicating if query parameter stripping
   1061            should be enabled or disabled in normal mode. 0 for setting to be disabled,
   1062            and 1 for enabling the setting.
   1063        query-parameter-stripping-pmb:
   1064          description: An integer either 0 or 1 indicating if query parameter stripping
   1065            should be enabled or disabled in private mode. 0 for setting to be disabled,
   1066            and 1 for enabling the setting.
   1067        query-parameter-stripping-allow-list:
   1068          description: An string separated by commas indicating the sites where should
   1069            from query stripping should be exempted.
   1070        query-parameter-stripping-strip-list:
   1071          description: An string separated by commas indicating the list of query params
   1072            to be stripped from URIs. This list will be merged with records
   1073            coming from RemoteSettings.
   1074 
   1075    OnboardingPanel:
   1076      description: The types of onboarding panels in the onboarding page
   1077      variants:
   1078        themes:
   1079          description: The themes onboarding panel where users pick themes
   1080        toolbar-placement:
   1081          description: The onboarding panel where users choose their toolbar placement (bottom or top)
   1082        sync:
   1083          description: The onboarding panel where users can sign in to sync
   1084        tcp:
   1085          description: The onboarding panel where users can choose their total cookie protection settings
   1086        privacy-notice:
   1087          description: The onboarding panel where users can tap to view our privacy notice.
   1088 
   1089    SetupChecklistType:
   1090      description: An enum to represent the different experiment branches for the setup checklist.
   1091      variants:
   1092        collection-1:
   1093          description: The collection for the setup checklist that has 3 items.
   1094        collection-2:
   1095          description: The collection for the setup checklist that has 6 items.
   1096 
   1097    # Enum is aligned with other Firefox platforms for consistent experiment configuration.
   1098    TermsOfUsePromptContentOption:
   1099      description: |
   1100        Determines which predefined title and "learn more" strings are used for the Terms of Use prompt.
   1101      variants:
   1102        value-0:
   1103          description: |
   1104            Uses the current defaults:
   1105            - Title: "We've got an update"
   1106            - Learn more: "Please take a moment to review and accept. Learn more."
   1107        value-1:
   1108          description: |
   1109            Uses the following copy:
   1110            - Title: "Terms of Use"
   1111            - Learn more: "You can learn more here."
   1112        value-2:
   1113          description: |
   1114            Uses the following copy:
   1115            - Title: "A note from Firefox"
   1116            - Learn more: "You can learn more here."