---
cookie-banners:
  description: Features for cookie banner handling.
  hasExposure: true
  exposureDescription: ""
  variables:
    sections-enabled:
      type: json
      description: This property provides a lookup table of whether or not the given section should be enabled.
extensions-process:
  description: A feature to rollout the extensions process.
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "If true, the extensions process is enabled."
glean:
  description: A feature that provides server-side configurations for Glean metrics (aka Server Knobs).
  hasExposure: true
  exposureDescription: ""
  variables:
    metrics-enabled:
      type: json
      description: "A map of metric base-identifiers to booleans representing the state of the 'enabled' flag for that metric."
growth-data:
  description: A feature measuring campaign growth data
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "If true, the feature is active"
homescreen:
  description: The homescreen that the user goes to when they press home or new tab.
  hasExposure: true
  exposureDescription: ""
  variables:
    sections-enabled:
      type: json
      description: "This property provides a lookup table of whether or not the given section should be enabled. If the section is enabled, it should be toggleable in the settings screen, and on by default."
juno-onboarding:
  description: A feature that shows juno onboarding flow.
  hasExposure: true
  exposureDescription: ""
  variables:
    cards:
      type: json
      description: Collection of user facing onboarding cards.
    enabled:
      type: boolean
      description: "if true, juno onboarding is shown to the user."
messaging:
  description: "The in-app messaging system.\n"
  hasExposure: true
  exposureDescription: ""
  variables:
    actions:
      type: json
      description: A growable map of action URLs.
    message-under-experiment:
      type: string
      description: "Deprecated in favor of `MessageData#experiment`. This will be removed in future releases."
    messages:
      type: json
      description: A growable collection of messages
    notification-config:
      type: json
      description: Configuration of the notification worker for all notification messages.
    on-control:
      type: string
      description: What should be displayed when a control message is selected.
      enum:
        - show-next-message
        - show-none
    styles:
      type: json
      description: "A map of styles to configure message appearance.\n"
    triggers:
      type: json
      description: "A collection of out the box trigger expressions. Each entry maps to a valid JEXL expression.\n"
mr2022:
  description: Features for MR 2022.
  hasExposure: true
  exposureDescription: ""
  variables:
    sections-enabled:
      type: json
      description: This property provides a lookup table of whether or not the given section should be enabled.
nimbus-system:
  description: "Configuration of the Nimbus System in Android.\n"
  hasExposure: true
  exposureDescription: ""
  variables:
    refresh-interval-foreground:
      type: int
      description: "The minimum interval in minutes between fetching experiment \nrecipes in the foreground.\n"
nimbus-validation:
  description: A feature that does not correspond to an application feature suitable for showing that Nimbus is working. This should never be used in production.
  hasExposure: true
  exposureDescription: ""
  variables:
    settings-icon:
      type: string
      description: The drawable displayed in the app menu for Settings
    settings-punctuation:
      type: string
      description: The emoji displayed in the Settings screen title.
    settings-title:
      type: string
      description: The title of displayed in the Settings screen and app menu.
onboarding:
  description: "A feature that configures the new user onboarding page. Note that onboarding is a **first run** feature, and should only be modified by first run experiments."
  hasExposure: true
  exposureDescription: ""
  variables:
    order:
      type: json
      description: Determines the order of the onboarding page panels
pdfjs:
  description: PDF.js features
  hasExposure: true
  exposureDescription: ""
  variables:
    download-button:
      type: boolean
      description: Download button
    open-in-app-button:
      type: boolean
      description: Open in app button
pre-permission-notification-prompt:
  description: A feature that shows the pre-permission notification prompt.
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "if true, the pre-permission notification prompt is shown to the user."
print:
  description: A feature for printing from the share or browser menu.
  hasExposure: true
  exposureDescription: ""
  variables:
    browser-print-enabled:
      type: boolean
      description: "If true, a print button from the browser menu is available."
    share-print-enabled:
      type: boolean
      description: "If true, a print button from the share menu is available."
private-browsing:
  description: Private Browsing Mode
  hasExposure: true
  exposureDescription: ""
  variables:
    felt-privacy-enabled:
      type: boolean
      description: "if true, enable felt privacy related UI"
re-engagement-notification:
  description: A feature that shows the re-engagement notification if the user is inactive.
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "If true, the re-engagement notification is shown to the inactive user."
    type:
      type: int
      description: The type of re-engagement notification that is shown to the inactive user.
search-extra-params:
  description: A feature that provides additional args for search.
  hasExposure: true
  exposureDescription: ""
  variables:
    channel-id:
      type: json
      description: The channel Id param name with arg.
    enabled:
      type: boolean
      description: "If true, the feature is active."
    feature-enabler:
      type: json
      description: "The feature enabler param name with arg, NOTE this map could be empty."
    search-engine:
      type: string
      description: The search engine name.
search-term-groups:
  description: A feature allowing the grouping of URLs around the search term that it came from.
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "If true, the feature shows up on the homescreen and on the new tab screen."
shopping-experience:
  description: A feature that shows product review quality information.
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "if true, the shopping experience feature is shown to the user."
splash-screen:
  description: "A feature that extends splash screen duration, allowing additional data fetching time for the app's initial run."
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "If true, the feature is active."
    maximum_duration_ms:
      type: int
      description: The maximum amount of time in milliseconds the splashscreen will be visible while waiting for initialization calls to complete.
toolbar:
  description: The searchbar/awesomebar that user uses to search.
  hasExposure: true
  exposureDescription: ""
  variables:
    toolbar-position-top:
      type: boolean
      description: "If true, toolbar appears at top of the screen."
unified-search:
  description: A feature allowing user to easily search for specified results directly in the search bar.
  hasExposure: true
  exposureDescription: ""
  variables:
    enabled:
      type: boolean
      description: "If true, the feature shows up in the search bar."
