count: 1300
next: https://normandy.cdn.mozilla.net/api/v3/recipe/?format=yaml&ordering=action&page=2
previous: null
results:
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          rolloutSlug:
            description: Unique identifer for the rollout to undo.
            pattern: ^[a-z0-9\-_]+$
            type: string
        required:
        - rolloutSlug
        title: Undo an add-on rollout
        type: object
      id: 11
      implementation_url: null
      name: addon-rollback
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ for testing
      created: '2019-11-11T14:04:49.370838Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1886
      revision:
        id: 2809
        recipe_id: 874
    arguments:
      rolloutSlug: addon-rollout-stub-attribution-test-pi-283
    capabilities:
    - capabilities-v1
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - action.addon-rollback
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-11T14:04:42.861769Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-18T12:22:56.288045Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1315
    - carryover_from: null
      created: '2019-11-18T12:19:10.124426Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1313
    - carryover_from: null
      created: '2019-11-13T14:55:29.561796Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1298
    - carryover_from: null
      created: '2019-11-13T14:01:54.427447Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1296
    - carryover_from: null
      created: '2019-11-12T14:20:39.817131Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1276
    - carryover_from: null
      created: '2019-11-12T13:58:46.569157Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1274
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: 'normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest"'
    filter_expression: '(normandy.channel in ["beta","nightly"]) && ((env.version|versionCompare("70.!")>=0)&&(env.version|versionCompare("72.*")<0))
      && (normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest")'
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2809
    identicon_seed: v1:0s7md4d7bzx
    metadata: {}
    name: '[cmuresan][pi-283]addon-rollback-stub-attribution-test'
    recipe:
      approved_revision_id: 2809
      id: 874
      latest_revision_id: 2809
    updated: '2019-11-18T12:22:56.289727Z'
  id: 874
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          rolloutSlug:
            description: Unique identifer for the rollout to undo.
            pattern: ^[a-z0-9\-_]+$
            type: string
        required:
        - rolloutSlug
        title: Undo an add-on rollout
        type: object
      id: 11
      implementation_url: null
      name: addon-rollback
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ for testing
      created: '2019-11-11T14:04:49.370838Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1886
      revision:
        id: 2809
        recipe_id: 874
    arguments:
      rolloutSlug: addon-rollout-stub-attribution-test-pi-283
    capabilities:
    - capabilities-v1
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - action.addon-rollback
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-11T14:04:42.861769Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-18T12:22:56.288045Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1315
    - carryover_from: null
      created: '2019-11-18T12:19:10.124426Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1313
    - carryover_from: null
      created: '2019-11-13T14:55:29.561796Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1298
    - carryover_from: null
      created: '2019-11-13T14:01:54.427447Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1296
    - carryover_from: null
      created: '2019-11-12T14:20:39.817131Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1276
    - carryover_from: null
      created: '2019-11-12T13:58:46.569157Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1274
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: 'normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest"'
    filter_expression: '(normandy.channel in ["beta","nightly"]) && ((env.version|versionCompare("70.!")>=0)&&(env.version|versionCompare("72.*")<0))
      && (normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest")'
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2809
    identicon_seed: v1:0s7md4d7bzx
    metadata: {}
    name: '[cmuresan][pi-283]addon-rollback-stub-attribution-test'
    recipe:
      approved_revision_id: 2809
      id: 874
      latest_revision_id: 2809
    updated: '2019-11-18T12:22:56.289727Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          extensionApiId:
            description: The record ID of the extension used for Normandy API calls.
            type: integer
          slug:
            description: Unique identifer for the rollout, used in telemetry and rollbacks.
            pattern: ^[a-z0-9\-_]+$
            type: string
        required:
        - extensionApiId
        - slug
        title: Install add-on permanently
        type: object
      id: 10
      implementation_url: null
      name: addon-rollout
    approval_request:
      approved: true
      approver:
        email: ppop@mozilla.com
        first_name: Patriciu
        id: 57
        last_name: Pop
      comment: r+ for testing
      created: '2019-11-11T14:01:21.290331Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1882
      revision:
        id: 2806
        recipe_id: 871
    arguments:
      extensionApiId: 89
      slug: addon-rollout-stub-attribution-test-pi-283
    capabilities:
    - capabilities-v1
    - action.addon-rollout
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-11T13:58:13.896281Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-18T12:18:56.600007Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1312
    - carryover_from: null
      created: '2019-11-18T12:13:04.211441Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1310
    - carryover_from: null
      created: '2019-11-13T14:01:32.958010Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1293
    - carryover_from: null
      created: '2019-11-13T13:40:44.727066Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1292
    - carryover_from: null
      created: '2019-11-12T13:58:10.439558Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1272
    - carryover_from: null
      created: '2019-11-12T13:26:23.746687Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1270
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: 'normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest"

      && !"trailhead.firstrun.didSeeAboutWelcome"|preferenceIsUserSet'
    filter_expression: '(normandy.channel in ["beta","nightly"]) && ((env.version|versionCompare("70.!")>=0)&&(env.version|versionCompare("72.*")<0))
      && (normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest"

      && !"trailhead.firstrun.didSeeAboutWelcome"|preferenceIsUserSet)'
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2806
    identicon_seed: v1:g3rgvc21omo
    metadata: {}
    name: '[cmuresan][pi-283]addon-rollout-stub-attribution-test'
    recipe:
      approved_revision_id: 2806
      id: 871
      latest_revision_id: 2806
    updated: '2019-11-18T12:18:56.601254Z'
  id: 871
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          extensionApiId:
            description: The record ID of the extension used for Normandy API calls.
            type: integer
          slug:
            description: Unique identifer for the rollout, used in telemetry and rollbacks.
            pattern: ^[a-z0-9\-_]+$
            type: string
        required:
        - extensionApiId
        - slug
        title: Install add-on permanently
        type: object
      id: 10
      implementation_url: null
      name: addon-rollout
    approval_request:
      approved: true
      approver:
        email: ppop@mozilla.com
        first_name: Patriciu
        id: 57
        last_name: Pop
      comment: r+ for testing
      created: '2019-11-11T14:01:21.290331Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1882
      revision:
        id: 2806
        recipe_id: 871
    arguments:
      extensionApiId: 89
      slug: addon-rollout-stub-attribution-test-pi-283
    capabilities:
    - capabilities-v1
    - action.addon-rollout
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-11T13:58:13.896281Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-18T12:18:56.600007Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1312
    - carryover_from: null
      created: '2019-11-18T12:13:04.211441Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1310
    - carryover_from: null
      created: '2019-11-13T14:01:32.958010Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1293
    - carryover_from: null
      created: '2019-11-13T13:40:44.727066Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1292
    - carryover_from: null
      created: '2019-11-12T13:58:10.439558Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1272
    - carryover_from: null
      created: '2019-11-12T13:26:23.746687Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1270
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: 'normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest"

      && !"trailhead.firstrun.didSeeAboutWelcome"|preferenceIsUserSet'
    filter_expression: '(normandy.channel in ["beta","nightly"]) && ((env.version|versionCompare("70.!")>=0)&&(env.version|versionCompare("72.*")<0))
      && (normandy.attribution.medium == "rhelmer"

      && normandy.attribution.campaign == "stubtest"

      && !"trailhead.firstrun.didSeeAboutWelcome"|preferenceIsUserSet)'
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2806
    identicon_seed: v1:g3rgvc21omo
    metadata: {}
    name: '[cmuresan][pi-283]addon-rollout-stub-attribution-test'
    recipe:
      approved_revision_id: 2806
      id: 871
      latest_revision_id: 2806
    updated: '2019-11-18T12:18:56.601254Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      comment: r+
      created: '2022-12-09T21:58:53.749949Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      id: 2803
      revision:
        id: 3898
        recipe_id: 1249
    arguments:
      branches:
      - extensionApiId: 118
        ratio: 100
        slug: dnssec-experiment-moznet
      isEnrollmentPaused: false
      slug: bug-1803490-addon-dnssec-interference-measurement-v5-release-105-111
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V5
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: Update namespace bucket sample start to 2600
    creator:
      email: jkerim@mozilla.com
      first_name: Jared
      id: 51
      last_name: Kerim
    date_created: '2022-12-09T21:48:53.297783Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2022-12-20T18:44:25.676179Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      enabled: false
      id: 2468
    - carryover_from: null
      created: '2022-12-09T21:59:49.326001Z'
      creator:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      enabled: true
      id: 2466
    experimenter_slug: dnssec-interference-measurement-v5
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("111.*")<0))
      && ('datareporting.healthreport.uploadEnabled'|preferenceValue == true) && (normandy.os.isWindows||normandy.os.isMac)
      && (["global-v7",normandy.userId]|bucketSample(2600,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - count: 100
      namespace: global-v7
      start: 2600
      type: namespaceSample
    id: 3898
    identicon_seed: v1:sNaLBeHlCysV
    metadata: {}
    name: DNSSEC Interference Measurement V5
    recipe:
      approved_revision_id: 3898
      id: 1249
      latest_revision_id: 3898
    updated: '2022-12-20T18:44:25.681789Z'
  id: 1249
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      comment: r+
      created: '2022-12-09T21:58:53.749949Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      id: 2803
      revision:
        id: 3898
        recipe_id: 1249
    arguments:
      branches:
      - extensionApiId: 118
        ratio: 100
        slug: dnssec-experiment-moznet
      isEnrollmentPaused: false
      slug: bug-1803490-addon-dnssec-interference-measurement-v5-release-105-111
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V5
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: Update namespace bucket sample start to 2600
    creator:
      email: jkerim@mozilla.com
      first_name: Jared
      id: 51
      last_name: Kerim
    date_created: '2022-12-09T21:48:53.297783Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2022-12-20T18:44:25.676179Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      enabled: false
      id: 2468
    - carryover_from: null
      created: '2022-12-09T21:59:49.326001Z'
      creator:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      enabled: true
      id: 2466
    experimenter_slug: dnssec-interference-measurement-v5
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("111.*")<0))
      && ('datareporting.healthreport.uploadEnabled'|preferenceValue == true) && (normandy.os.isWindows||normandy.os.isMac)
      && (["global-v7",normandy.userId]|bucketSample(2600,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - count: 100
      namespace: global-v7
      start: 2600
      type: namespaceSample
    id: 3898
    identicon_seed: v1:sNaLBeHlCysV
    metadata: {}
    name: DNSSEC Interference Measurement V5
    recipe:
      approved_revision_id: 3898
      id: 1249
      latest_revision_id: 3898
    updated: '2022-12-20T18:44:25.681789Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      comment: r+ 1% of release 97 + 98, windows/mac, only users with telemetry enabled
      created: '2022-02-23T19:23:14.251544Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      id: 2688
      revision:
        id: 3757
        recipe_id: 1199
    arguments:
      branches:
      - extensionApiId: 116
        ratio: 100
        slug: observeration-branch
      isEnrollmentPaused: false
      slug: bug-1747088-addon-dnssec-interference-measurement-v3-release-97-98
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V3
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: changed start bucket
    creator:
      email: ttran@mozilla.com
      first_name: Tiffany
      id: 60
      last_name: Tran
    date_created: '2022-02-23T19:18:25.991983Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2022-03-02T22:53:11.347874Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 2327
    - carryover_from: null
      created: '2022-02-23T19:25:09.614534Z'
      creator:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      enabled: true
      id: 2320
    experimenter_slug: dnssec-interference-measurement-v3
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("97.!")>=0)&&(env.version|versionCompare("98.*")<0))
      && (normandy.os.isWindows||normandy.os.isMac) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (["global-v5",normandy.userId]|bucketSample(2600,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 97
      - 98
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - count: 100
      namespace: global-v5
      start: 2600
      type: namespaceSample
    id: 3757
    identicon_seed: v1:rRQeUvIhokRM
    metadata: {}
    name: DNSSEC Interference Measurement V3
    recipe:
      approved_revision_id: 3757
      id: 1199
      latest_revision_id: 3757
    updated: '2022-03-02T22:53:11.351782Z'
  id: 1199
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      comment: r+ 1% of release 97 + 98, windows/mac, only users with telemetry enabled
      created: '2022-02-23T19:23:14.251544Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      id: 2688
      revision:
        id: 3757
        recipe_id: 1199
    arguments:
      branches:
      - extensionApiId: 116
        ratio: 100
        slug: observeration-branch
      isEnrollmentPaused: false
      slug: bug-1747088-addon-dnssec-interference-measurement-v3-release-97-98
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V3
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: changed start bucket
    creator:
      email: ttran@mozilla.com
      first_name: Tiffany
      id: 60
      last_name: Tran
    date_created: '2022-02-23T19:18:25.991983Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2022-03-02T22:53:11.347874Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 2327
    - carryover_from: null
      created: '2022-02-23T19:25:09.614534Z'
      creator:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      enabled: true
      id: 2320
    experimenter_slug: dnssec-interference-measurement-v3
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("97.!")>=0)&&(env.version|versionCompare("98.*")<0))
      && (normandy.os.isWindows||normandy.os.isMac) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (["global-v5",normandy.userId]|bucketSample(2600,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 97
      - 98
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - count: 100
      namespace: global-v5
      start: 2600
      type: namespaceSample
    id: 3757
    identicon_seed: v1:rRQeUvIhokRM
    metadata: {}
    name: DNSSEC Interference Measurement V3
    recipe:
      approved_revision_id: 3757
      id: 1199
      latest_revision_id: 3757
    updated: '2022-03-02T22:53:11.351782Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-02-11T17:35:24.755970Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1977
      revision:
        id: 2918
        recipe_id: 908
    arguments:
      branches:
      - extensionApiId: 106
        ratio: 1
        slug: treatment
      - extensionApiId: 106
        ratio: 1
        slug: control
      isEnrollmentPaused: false
      slug: addon-search-interventions-release-72-74-bug-1581260
      userFacingDescription: Interventions are designed to provide quick answers and
        solutions to common Firefox issues in the context of a user looking for those
        answers.
      userFacingName: Search Interventions
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-02-11T17:35:12.988158Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-03-03T20:10:20.995314Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1457
    - carryover_from: null
      created: '2020-02-11T17:40:27.110430Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1430
    experimenter_slug: search-interventions
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.locale in ["en-AU","en-GB","en-CA","en-NZ","en-ZA","en-US"])
      && (normandy.channel in ["release"]) && ((env.version|versionCompare("72.!")>=0)&&(env.version|versionCompare("74.*")<0))
      && (["global-v1",normandy.userId]|bucketSample(9645,200,10000))
    filter_object:
    - locales:
      - en-AU
      - en-GB
      - en-CA
      - en-NZ
      - en-ZA
      - en-US
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 72
      - 73
      - 74
    - count: 200
      input:
      - '"global-v1"'
      - normandy.userId
      start: 9645
      total: 10000
      type: bucketSample
    id: 2918
    identicon_seed: v1:eqqr5zbrubs
    metadata: {}
    name: Search Interventions
    recipe:
      approved_revision_id: 2918
      id: 908
      latest_revision_id: 2918
    updated: '2020-03-03T20:10:20.996826Z'
  id: 908
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-02-11T17:35:24.755970Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1977
      revision:
        id: 2918
        recipe_id: 908
    arguments:
      branches:
      - extensionApiId: 106
        ratio: 1
        slug: treatment
      - extensionApiId: 106
        ratio: 1
        slug: control
      isEnrollmentPaused: false
      slug: addon-search-interventions-release-72-74-bug-1581260
      userFacingDescription: Interventions are designed to provide quick answers and
        solutions to common Firefox issues in the context of a user looking for those
        answers.
      userFacingName: Search Interventions
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-02-11T17:35:12.988158Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-03-03T20:10:20.995314Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1457
    - carryover_from: null
      created: '2020-02-11T17:40:27.110430Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1430
    experimenter_slug: search-interventions
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.locale in ["en-AU","en-GB","en-CA","en-NZ","en-ZA","en-US"])
      && (normandy.channel in ["release"]) && ((env.version|versionCompare("72.!")>=0)&&(env.version|versionCompare("74.*")<0))
      && (["global-v1",normandy.userId]|bucketSample(9645,200,10000))
    filter_object:
    - locales:
      - en-AU
      - en-GB
      - en-CA
      - en-NZ
      - en-ZA
      - en-US
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 72
      - 73
      - 74
    - count: 200
      input:
      - '"global-v1"'
      - normandy.userId
      start: 9645
      total: 10000
      type: bucketSample
    id: 2918
    identicon_seed: v1:eqqr5zbrubs
    metadata: {}
    name: Search Interventions
    recipe:
      approved_revision_id: 2918
      id: 908
      latest_revision_id: 2918
    updated: '2020-03-03T20:10:20.996826Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ pausing
      created: '2020-04-21T16:37:10.297121Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      id: 2062
      revision:
        id: 3021
        recipe_id: 941
    arguments:
      branches:
      - extensionApiId: 108
        ratio: 1
        slug: only-branch
      isEnrollmentPaused: true
      slug: bug-1623996-addon-https-upgrade-study-release-75-76
      userFacingDescription: This add-on tests an approach to upgrading certain HTTP
        connections to HTTPS.
      userFacingName: HTTPS Upgrade Study
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: rdalal@mozilla.com
      first_name: Rehan
      id: 14
      last_name: Dalal
    date_created: '2020-04-21T16:37:01.386791Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-04-28T16:01:01.569844Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1550
    - carryover_from: 1518
      created: '2020-04-21T17:01:47.370768Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1529
    experimenter_slug: https-upgrade-study
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("76.*")<0))
      && (["global-v2",normandy.userId]|bucketSample(7451,50,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
    - count: 50
      input:
      - '"global-v2"'
      - normandy.userId
      start: 7451
      total: 10000
      type: bucketSample
    id: 3021
    identicon_seed: v1:fuu5stitxg
    metadata: {}
    name: HTTPS Upgrade Study
    recipe:
      approved_revision_id: 3021
      id: 941
      latest_revision_id: 3021
    updated: '2020-04-28T16:01:01.571183Z'
  id: 941
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ pausing
      created: '2020-04-21T16:37:10.297121Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      id: 2062
      revision:
        id: 3021
        recipe_id: 941
    arguments:
      branches:
      - extensionApiId: 108
        ratio: 1
        slug: only-branch
      isEnrollmentPaused: true
      slug: bug-1623996-addon-https-upgrade-study-release-75-76
      userFacingDescription: This add-on tests an approach to upgrading certain HTTP
        connections to HTTPS.
      userFacingName: HTTPS Upgrade Study
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: rdalal@mozilla.com
      first_name: Rehan
      id: 14
      last_name: Dalal
    date_created: '2020-04-21T16:37:01.386791Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-04-28T16:01:01.569844Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1550
    - carryover_from: 1518
      created: '2020-04-21T17:01:47.370768Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1529
    experimenter_slug: https-upgrade-study
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("76.*")<0))
      && (["global-v2",normandy.userId]|bucketSample(7451,50,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
    - count: 50
      input:
      - '"global-v2"'
      - normandy.userId
      start: 7451
      total: 10000
      type: bucketSample
    id: 3021
    identicon_seed: v1:fuu5stitxg
    metadata: {}
    name: HTTPS Upgrade Study
    recipe:
      approved_revision_id: 3021
      id: 941
      latest_revision_id: 3021
    updated: '2020-04-28T16:01:01.571183Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      comment: r+
      created: '2020-01-06T17:44:24.025811Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1950
      revision:
        id: 2888
        recipe_id: 885
    arguments:
      branches:
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-heuristics
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-disabled
      isEnrollmentPaused: true
      slug: addon-doh-us-engagement-study-v4-release-70-72-bug-1599650
      userFacingDescription: This Firefox experiment will measure the impact on user
        engagement and retention when DNS over HTTPS is rolled out in the United States.
        Users who are part of the study will receive a notification before DNS over
        HTTPS is enabled. Set network.trr.mode to ‘5’ in about:config to permanently
        disable DoH. This experiment does not collect personally-identifiable information,
        DNS queries, or answers.
      userFacingName: DNS over HTTPS US Rollout
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-01-06T17:44:14.206328Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-06-16T18:35:35.190665Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 1635
    - carryover_from: 1372
      created: '2020-01-06T17:55:55.010695Z'
      creator:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      enabled: true
      id: 1398
    experimenter_slug: doh-us-engagement-study-v4
    extra_capabilities: []
    extra_filter_expression: "(\n  \"browser.search.region\"|preferenceValue == \"\
      US\"\n  || normandy.addons[\"doh-rollout@mozilla.org\"].active\n)\n&& normandy.os.isWindows\n\
      && \"devtools.policy.disabled\"|preferenceValue != true\n&& \"datareporting.policy.dataSubmissionEnabled\"\
      |preferenceValue != false\n&& \"identity.fxaccounts.enabled\"|preferenceValue\
      \ != false"
    filter_expression: "(normandy.locale in [\"en-GB\",\"en-US\",\"en-CA\",\"en-AU\"\
      ]) && (normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"\
      70.!\")>=0)&&(env.version|versionCompare(\"71.*\")<0)) && ([\"doh-rollout\"\
      ,normandy.userId]|bucketSample(200,150,10000)) && ((\n  \"browser.search.region\"\
      |preferenceValue == \"US\"\n  || normandy.addons[\"doh-rollout@mozilla.org\"\
      ].active\n)\n&& normandy.os.isWindows\n&& \"devtools.policy.disabled\"|preferenceValue\
      \ != true\n&& \"datareporting.policy.dataSubmissionEnabled\"|preferenceValue\
      \ != false\n&& \"identity.fxaccounts.enabled\"|preferenceValue != false)"
    filter_object:
    - locales:
      - en-GB
      - en-US
      - en-CA
      - en-AU
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 70
      - 71
    - count: 150
      input:
      - '"doh-rollout"'
      - normandy.userId
      start: 200
      total: 10000
      type: bucketSample
    id: 2888
    identicon_seed: v1:613irhuzmy6
    metadata: {}
    name: DoH US Engagement Study V4
    recipe:
      approved_revision_id: 2888
      id: 885
      latest_revision_id: 2888
    updated: '2020-06-16T18:35:35.192068Z'
  id: 885
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      comment: r+
      created: '2020-01-06T17:44:24.025811Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1950
      revision:
        id: 2888
        recipe_id: 885
    arguments:
      branches:
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-heuristics
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-disabled
      isEnrollmentPaused: true
      slug: addon-doh-us-engagement-study-v4-release-70-72-bug-1599650
      userFacingDescription: This Firefox experiment will measure the impact on user
        engagement and retention when DNS over HTTPS is rolled out in the United States.
        Users who are part of the study will receive a notification before DNS over
        HTTPS is enabled. Set network.trr.mode to ‘5’ in about:config to permanently
        disable DoH. This experiment does not collect personally-identifiable information,
        DNS queries, or answers.
      userFacingName: DNS over HTTPS US Rollout
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-01-06T17:44:14.206328Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-06-16T18:35:35.190665Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 1635
    - carryover_from: 1372
      created: '2020-01-06T17:55:55.010695Z'
      creator:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      enabled: true
      id: 1398
    experimenter_slug: doh-us-engagement-study-v4
    extra_capabilities: []
    extra_filter_expression: "(\n  \"browser.search.region\"|preferenceValue == \"\
      US\"\n  || normandy.addons[\"doh-rollout@mozilla.org\"].active\n)\n&& normandy.os.isWindows\n\
      && \"devtools.policy.disabled\"|preferenceValue != true\n&& \"datareporting.policy.dataSubmissionEnabled\"\
      |preferenceValue != false\n&& \"identity.fxaccounts.enabled\"|preferenceValue\
      \ != false"
    filter_expression: "(normandy.locale in [\"en-GB\",\"en-US\",\"en-CA\",\"en-AU\"\
      ]) && (normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"\
      70.!\")>=0)&&(env.version|versionCompare(\"71.*\")<0)) && ([\"doh-rollout\"\
      ,normandy.userId]|bucketSample(200,150,10000)) && ((\n  \"browser.search.region\"\
      |preferenceValue == \"US\"\n  || normandy.addons[\"doh-rollout@mozilla.org\"\
      ].active\n)\n&& normandy.os.isWindows\n&& \"devtools.policy.disabled\"|preferenceValue\
      \ != true\n&& \"datareporting.policy.dataSubmissionEnabled\"|preferenceValue\
      \ != false\n&& \"identity.fxaccounts.enabled\"|preferenceValue != false)"
    filter_object:
    - locales:
      - en-GB
      - en-US
      - en-CA
      - en-AU
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 70
      - 71
    - count: 150
      input:
      - '"doh-rollout"'
      - normandy.userId
      start: 200
      total: 10000
      type: bucketSample
    id: 2888
    identicon_seed: v1:613irhuzmy6
    metadata: {}
    name: DoH US Engagement Study V4
    recipe:
      approved_revision_id: 2888
      id: 885
      latest_revision_id: 2888
    updated: '2020-06-16T18:35:35.192068Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      comment: r+
      created: '2019-12-16T21:03:38.726211Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1941
      revision:
        id: 2879
        recipe_id: 875
    arguments:
      branches:
      - extensionApiId: 105
        ratio: 1
        slug: helper
      isEnrollmentPaused: false
      slug: pref-doh-us-engagement-study-v2-helper-1590831
      userFacingDescription: Helps maintain the integrity of the DNS over HTTPS Rollout
      userFacingName: DNS over HTTPS US Rollout
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2019-12-16T21:03:29.584922Z'
    enabled: true
    enabled_states:
    - carryover_from: 1306
      created: '2019-12-16T21:07:02.102755Z'
      creator:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      enabled: true
      id: 1385
    experimenter_slug: doh-us-engagement-study-v2
    extra_capabilities: []
    extra_filter_expression: "(\n    \"browser.search.region\"|preferenceValue ==\
      \ \"US\"\n    && normandy.os.isWindows\n    && \"devtools.policy.disabled\"\
      |preferenceValue != true\n    && \"datareporting.policy.dataSubmissionEnabled\"\
      |preferenceValue != false\n    && \"identity.fxaccounts.enabled\"|preferenceValue\
      \ != false\n)\n|| normandy.addons[\"doh-rollout@mozilla.org\"].isActive\n||\
      \ \"doh-rollout.enabled\"|preferenceValue"
    filter_expression: "(normandy.locale in [\"en-GB\",\"en-CA\",\"en-US\"]) && (normandy.channel\
      \ in [\"release\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"\
      71.*\")<0)) && ([\"doh-rollout\",normandy.userId]|bucketSample(0,200,10000))\
      \ && ((\n    \"browser.search.region\"|preferenceValue == \"US\"\n    && normandy.os.isWindows\n\
      \    && \"devtools.policy.disabled\"|preferenceValue != true\n    && \"datareporting.policy.dataSubmissionEnabled\"\
      |preferenceValue != false\n    && \"identity.fxaccounts.enabled\"|preferenceValue\
      \ != false\n)\n|| normandy.addons[\"doh-rollout@mozilla.org\"].isActive\n||\
      \ \"doh-rollout.enabled\"|preferenceValue)"
    filter_object:
    - locales:
      - en-GB
      - en-CA
      - en-US
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 70
      - 71
    - count: 200
      input:
      - '"doh-rollout"'
      - normandy.userId
      start: 0
      total: 10000
      type: bucketSample
    id: 2879
    identicon_seed: v1:xz70cvkfueg
    metadata: {}
    name: DoH US Engagement Study V2 - Add-on helper
    recipe:
      approved_revision_id: 2879
      id: 875
      latest_revision_id: 2879
    updated: '2019-12-16T21:07:02.104119Z'
  id: 875
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      comment: r+
      created: '2019-12-16T21:03:38.726211Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1941
      revision:
        id: 2879
        recipe_id: 875
    arguments:
      branches:
      - extensionApiId: 105
        ratio: 1
        slug: helper
      isEnrollmentPaused: false
      slug: pref-doh-us-engagement-study-v2-helper-1590831
      userFacingDescription: Helps maintain the integrity of the DNS over HTTPS Rollout
      userFacingName: DNS over HTTPS US Rollout
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2019-12-16T21:03:29.584922Z'
    enabled: true
    enabled_states:
    - carryover_from: 1306
      created: '2019-12-16T21:07:02.102755Z'
      creator:
        email: tismith@mozilla.com
        first_name: Tim
        id: 58
        last_name: Smith
      enabled: true
      id: 1385
    experimenter_slug: doh-us-engagement-study-v2
    extra_capabilities: []
    extra_filter_expression: "(\n    \"browser.search.region\"|preferenceValue ==\
      \ \"US\"\n    && normandy.os.isWindows\n    && \"devtools.policy.disabled\"\
      |preferenceValue != true\n    && \"datareporting.policy.dataSubmissionEnabled\"\
      |preferenceValue != false\n    && \"identity.fxaccounts.enabled\"|preferenceValue\
      \ != false\n)\n|| normandy.addons[\"doh-rollout@mozilla.org\"].isActive\n||\
      \ \"doh-rollout.enabled\"|preferenceValue"
    filter_expression: "(normandy.locale in [\"en-GB\",\"en-CA\",\"en-US\"]) && (normandy.channel\
      \ in [\"release\"]) && ((env.version|versionCompare(\"70.!\")>=0)&&(env.version|versionCompare(\"\
      71.*\")<0)) && ([\"doh-rollout\",normandy.userId]|bucketSample(0,200,10000))\
      \ && ((\n    \"browser.search.region\"|preferenceValue == \"US\"\n    && normandy.os.isWindows\n\
      \    && \"devtools.policy.disabled\"|preferenceValue != true\n    && \"datareporting.policy.dataSubmissionEnabled\"\
      |preferenceValue != false\n    && \"identity.fxaccounts.enabled\"|preferenceValue\
      \ != false\n)\n|| normandy.addons[\"doh-rollout@mozilla.org\"].isActive\n||\
      \ \"doh-rollout.enabled\"|preferenceValue)"
    filter_object:
    - locales:
      - en-GB
      - en-CA
      - en-US
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 70
      - 71
    - count: 200
      input:
      - '"doh-rollout"'
      - normandy.userId
      start: 0
      total: 10000
      type: bucketSample
    id: 2879
    identicon_seed: v1:xz70cvkfueg
    metadata: {}
    name: DoH US Engagement Study V2 - Add-on helper
    recipe:
      approved_revision_id: 2879
      id: 875
      latest_revision_id: 2879
    updated: '2019-12-16T21:07:02.104119Z'
  signature:
    public_key: ''
    signature: bdn3NgV-kxxyM8vQNBQh1QWji3TBa1c2WGCkkbxF64KQ16IA1h67es9YqwbtOd4ffFgBXYiiFqALeNznSLtaqBqrDBTWaJNYYK5cx8srXExVCQVywrix-dICn2WO_Nc9
    timestamp: '2024-05-05T00:01:07.790945Z'
    x5u: https://content-signature-2.cdn.mozilla.net/chains/normandy.content-signature.mozilla.org-2024-06-09-11-51-07.chain
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+
      created: '2020-11-17T17:52:27.713914Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      id: 2391
      revision:
        id: 3431
        recipe_id: 1090
    arguments:
      branches:
      - extensionApiId: 113
        ratio: 100
        slug: observeration-branch
      isEnrollmentPaused: false
      slug: bug-1655504-addon-dnssec-interference-measurement-beta-82-83
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: recipe
    creator:
      email: ttran@mozilla.com
      first_name: Tiffany
      id: 60
      last_name: Tran
    date_created: '2020-11-17T17:51:51.022991Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-11-30T17:28:17.994505Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1956
    - carryover_from: null
      created: '2020-11-17T18:19:11.918034Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1948
    experimenter_slug: dsn-sec-interference-measurment
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["beta"]) && ((env.version|versionCompare("82.!")>=0)&&(env.version|versionCompare("83.*")<0))
      && ([normandy.userId,"global-v4"]|bucketSample(7400,100,10000)) && (normandy.os.isWindows||normandy.os.isMac)
      && ('datareporting.healthreport.uploadEnabled'|preferenceValue == true)
    filter_object:
    - channels:
      - beta
      type: channel
    - type: version
      versions:
      - 82
      - 83
    - count: 100
      input:
      - normandy.userId
      - '"global-v4"'
      start: 7400
      total: 10000
      type: bucketSample
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    id: 3431
    identicon_seed: v1:cMhrbEtqMeWK
    metadata: {}
    name: DNSSEC Interference Measurement
    recipe:
      approved_revision_id: 3431
      id: 1090
      latest_revision_id: 3431
    updated: '2020-11-30T17:28:17.999027Z'
  id: 1090
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+
      created: '2020-11-17T17:52:27.713914Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      id: 2391
      revision:
        id: 3431
        recipe_id: 1090
    arguments:
      branches:
      - extensionApiId: 113
        ratio: 100
        slug: observeration-branch
      isEnrollmentPaused: false
      slug: bug-1655504-addon-dnssec-interference-measurement-beta-82-83
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: recipe
    creator:
      email: ttran@mozilla.com
      first_name: Tiffany
      id: 60
      last_name: Tran
    date_created: '2020-11-17T17:51:51.022991Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-11-30T17:28:17.994505Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1956
    - carryover_from: null
      created: '2020-11-17T18:19:11.918034Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1948
    experimenter_slug: dsn-sec-interference-measurment
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["beta"]) && ((env.version|versionCompare("82.!")>=0)&&(env.version|versionCompare("83.*")<0))
      && ([normandy.userId,"global-v4"]|bucketSample(7400,100,10000)) && (normandy.os.isWindows||normandy.os.isMac)
      && ('datareporting.healthreport.uploadEnabled'|preferenceValue == true)
    filter_object:
    - channels:
      - beta
      type: channel
    - type: version
      versions:
      - 82
      - 83
    - count: 100
      input:
      - normandy.userId
      - '"global-v4"'
      start: 7400
      total: 10000
      type: bucketSample
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    id: 3431
    identicon_seed: v1:cMhrbEtqMeWK
    metadata: {}
    name: DNSSEC Interference Measurement
    recipe:
      approved_revision_id: 3431
      id: 1090
      latest_revision_id: 3431
    updated: '2020-11-30T17:28:17.999027Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ to relaunch
      created: '2020-06-30T17:04:31.358839Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      id: 2192
      revision:
        id: 3204
        recipe_id: 1008
    arguments:
      branches:
      - extensionApiId: 110
        ratio: 100
        slug: control
      isEnrollmentPaused: false
      slug: bug-1649504-addon-google-accounts-login-check-v2-release-75-78
      userFacingDescription: This study will help us understand if Firefox users are
        being signed out of their Google accounts unintentionally. Learning about
        the Google accounts login state for our users will help us deliver an optimal
        experience in Firefox.
      userFacingName: Google Accounts Login Check V2
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: Relaunch from recipe#1000
    creator:
      email: jkerim@mozilla.com
      first_name: Jared
      id: 51
      last_name: Kerim
    date_created: '2020-06-30T17:04:28.566756Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-07-07T16:36:00.694505Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 1689
    - carryover_from: null
      created: '2020-06-30T17:11:10.018937Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1679
    experimenter_slug: google-accounts-login-check-v2
    extra_capabilities: []
    extra_filter_expression: normandy.telemetry.main.environment.profile.creationDate
      <= 18436
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("78.*")<0))
      && ([normandy.userId,"global-v2"]|bucketSample(9369,9,10000)) && (normandy.telemetry.main.environment.profile.creationDate
      <= 18436)
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
      - 77
      - 78
    - count: 9
      input:
      - normandy.userId
      - '"global-v2"'
      start: 9369
      total: 10000
      type: bucketSample
    id: 3204
    identicon_seed: v1:zEOfStxscZcb
    metadata: {}
    name: Google Accounts Login Check V2
    recipe:
      approved_revision_id: 3204
      id: 1008
      latest_revision_id: 3204
    updated: '2020-07-07T16:36:00.695786Z'
  id: 1008
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ to relaunch
      created: '2020-06-30T17:04:31.358839Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      id: 2192
      revision:
        id: 3204
        recipe_id: 1008
    arguments:
      branches:
      - extensionApiId: 110
        ratio: 100
        slug: control
      isEnrollmentPaused: false
      slug: bug-1649504-addon-google-accounts-login-check-v2-release-75-78
      userFacingDescription: This study will help us understand if Firefox users are
        being signed out of their Google accounts unintentionally. Learning about
        the Google accounts login state for our users will help us deliver an optimal
        experience in Firefox.
      userFacingName: Google Accounts Login Check V2
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: Relaunch from recipe#1000
    creator:
      email: jkerim@mozilla.com
      first_name: Jared
      id: 51
      last_name: Kerim
    date_created: '2020-06-30T17:04:28.566756Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-07-07T16:36:00.694505Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 1689
    - carryover_from: null
      created: '2020-06-30T17:11:10.018937Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1679
    experimenter_slug: google-accounts-login-check-v2
    extra_capabilities: []
    extra_filter_expression: normandy.telemetry.main.environment.profile.creationDate
      <= 18436
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("78.*")<0))
      && ([normandy.userId,"global-v2"]|bucketSample(9369,9,10000)) && (normandy.telemetry.main.environment.profile.creationDate
      <= 18436)
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
      - 77
      - 78
    - count: 9
      input:
      - normandy.userId
      - '"global-v2"'
      start: 9369
      total: 10000
      type: bucketSample
    id: 3204
    identicon_seed: v1:zEOfStxscZcb
    metadata: {}
    name: Google Accounts Login Check V2
    recipe:
      approved_revision_id: 3204
      id: 1008
      latest_revision_id: 3204
    updated: '2020-07-07T16:36:00.695786Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: jgaunt@mozilla.com
        first_name: Josh
        id: 6
        last_name: Gaunt
      comment: approved
      created: '2019-12-10T23:45:38.930978Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1929
      revision:
        id: 2861
        recipe_id: 890
    arguments:
      branches:
      - extensionApiId: 103
        ratio: 1
        slug: treatmentscript
      - extensionApiId: 102
        ratio: 1
        slug: treatmentdomain
      - extensionApiId: 101
        ratio: 1
        slug: control
      isEnrollmentPaused: false
      slug: addon-fingerprinting-implementation-retention-study-v1-release-69-71-bug-1595604
      userFacingDescription: This study helps Firefox developers explore new tracking
        protection features by comparing different strategies for blocking third-party
        code that may be used to track web browsing activity.
      userFacingName: Browser fingerprinting protection study
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2019-12-10T23:45:35.403954Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-01-14T17:31:49.910371Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1408
    - carryover_from: null
      created: '2019-12-10T23:47:15.877214Z'
      creator:
        email: jgaunt@mozilla.com
        first_name: Josh
        id: 6
        last_name: Gaunt
      enabled: true
      id: 1376
    experimenter_slug: fingerprinting-implementation-retention-study-v1
    extra_capabilities: []
    extra_filter_expression: "(\n  \"browser.contentblocking.category\"|preferenceValue\
      \ == \"standard\"\n  || normandy.addons[\"FPBlock-control@mozilla.org\"].isActive\n\
      \  || normandy.addons[\"FPBlock-treatmentDomain@mozilla.org\"].isActive\n  ||\
      \ normandy.addons[\"FPBlock-treatmentScript@mozilla.org\"].isActive\n)"
    filter_expression: "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"\
      69.!\")>=0)&&(env.version|versionCompare(\"71.*\")<0)) && ([\"global-v1\",normandy.userId]|bucketSample(6490,200,10000))\
      \ && ((\n  \"browser.contentblocking.category\"|preferenceValue == \"standard\"\
      \n  || normandy.addons[\"FPBlock-control@mozilla.org\"].isActive\n  || normandy.addons[\"\
      FPBlock-treatmentDomain@mozilla.org\"].isActive\n  || normandy.addons[\"FPBlock-treatmentScript@mozilla.org\"\
      ].isActive\n))"
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 69
      - 70
      - 71
    - count: 200
      input:
      - '"global-v1"'
      - normandy.userId
      start: 6490
      total: 10000
      type: bucketSample
    id: 2861
    identicon_seed: v1:k6n1gjhfjnd
    metadata: {}
    name: Fingerprinting Implementation Retention Study V1
    recipe:
      approved_revision_id: 2861
      id: 890
      latest_revision_id: 2861
    updated: '2020-01-14T17:31:49.911769Z'
  id: 890
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: jgaunt@mozilla.com
        first_name: Josh
        id: 6
        last_name: Gaunt
      comment: approved
      created: '2019-12-10T23:45:38.930978Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1929
      revision:
        id: 2861
        recipe_id: 890
    arguments:
      branches:
      - extensionApiId: 103
        ratio: 1
        slug: treatmentscript
      - extensionApiId: 102
        ratio: 1
        slug: treatmentdomain
      - extensionApiId: 101
        ratio: 1
        slug: control
      isEnrollmentPaused: false
      slug: addon-fingerprinting-implementation-retention-study-v1-release-69-71-bug-1595604
      userFacingDescription: This study helps Firefox developers explore new tracking
        protection features by comparing different strategies for blocking third-party
        code that may be used to track web browsing activity.
      userFacingName: Browser fingerprinting protection study
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2019-12-10T23:45:35.403954Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-01-14T17:31:49.910371Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1408
    - carryover_from: null
      created: '2019-12-10T23:47:15.877214Z'
      creator:
        email: jgaunt@mozilla.com
        first_name: Josh
        id: 6
        last_name: Gaunt
      enabled: true
      id: 1376
    experimenter_slug: fingerprinting-implementation-retention-study-v1
    extra_capabilities: []
    extra_filter_expression: "(\n  \"browser.contentblocking.category\"|preferenceValue\
      \ == \"standard\"\n  || normandy.addons[\"FPBlock-control@mozilla.org\"].isActive\n\
      \  || normandy.addons[\"FPBlock-treatmentDomain@mozilla.org\"].isActive\n  ||\
      \ normandy.addons[\"FPBlock-treatmentScript@mozilla.org\"].isActive\n)"
    filter_expression: "(normandy.channel in [\"release\"]) && ((env.version|versionCompare(\"\
      69.!\")>=0)&&(env.version|versionCompare(\"71.*\")<0)) && ([\"global-v1\",normandy.userId]|bucketSample(6490,200,10000))\
      \ && ((\n  \"browser.contentblocking.category\"|preferenceValue == \"standard\"\
      \n  || normandy.addons[\"FPBlock-control@mozilla.org\"].isActive\n  || normandy.addons[\"\
      FPBlock-treatmentDomain@mozilla.org\"].isActive\n  || normandy.addons[\"FPBlock-treatmentScript@mozilla.org\"\
      ].isActive\n))"
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 69
      - 70
      - 71
    - count: 200
      input:
      - '"global-v1"'
      - normandy.userId
      start: 6490
      total: 10000
      type: bucketSample
    id: 2861
    identicon_seed: v1:k6n1gjhfjnd
    metadata: {}
    name: Fingerprinting Implementation Retention Study V1
    recipe:
      approved_revision_id: 2861
      id: 890
      latest_revision_id: 2861
    updated: '2020-01-14T17:31:49.911769Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-02-05T17:38:48.425954Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1974
      revision:
        id: 2915
        recipe_id: 902
    arguments:
      branches:
      - extensionApiId: 106
        ratio: 50
        slug: control
      - extensionApiId: 106
        ratio: 50
        slug: treatment
      isEnrollmentPaused: true
      slug: addon-search-tips-aka-nudges-release-72-74-bug-1603564
      userFacingDescription: Search Tips are designed to increase engagement with
        the QuantumBar.
      userFacingName: Search Tips
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-02-05T17:37:35.271187Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-03-24T18:35:14.832561Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1486
    - carryover_from: 1412
      created: '2020-02-05T18:24:09.979369Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1427
    experimenter_slug: search-tips-aka-nudges
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.locale in ["en-AU","en-GB","en-CA","en-NZ","en-ZA","en-US"])
      && (normandy.channel in ["release"]) && ((env.version|versionCompare("72.!")>=0)&&(env.version|versionCompare("74.*")<0))
      && (["global-v1",normandy.userId]|bucketSample(9360,200,10000))
    filter_object:
    - locales:
      - en-AU
      - en-GB
      - en-CA
      - en-NZ
      - en-ZA
      - en-US
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 72
      - 73
      - 74
    - count: 200
      input:
      - '"global-v1"'
      - normandy.userId
      start: 9360
      total: 10000
      type: bucketSample
    id: 2915
    identicon_seed: v1:jb25xvporji
    metadata: {}
    name: Search Tips aka Nudges
    recipe:
      approved_revision_id: 2915
      id: 902
      latest_revision_id: 2915
    updated: '2020-03-24T18:35:14.834009Z'
  id: 902
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-02-05T17:38:48.425954Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1974
      revision:
        id: 2915
        recipe_id: 902
    arguments:
      branches:
      - extensionApiId: 106
        ratio: 50
        slug: control
      - extensionApiId: 106
        ratio: 50
        slug: treatment
      isEnrollmentPaused: true
      slug: addon-search-tips-aka-nudges-release-72-74-bug-1603564
      userFacingDescription: Search Tips are designed to increase engagement with
        the QuantumBar.
      userFacingName: Search Tips
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-02-05T17:37:35.271187Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-03-24T18:35:14.832561Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1486
    - carryover_from: 1412
      created: '2020-02-05T18:24:09.979369Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1427
    experimenter_slug: search-tips-aka-nudges
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.locale in ["en-AU","en-GB","en-CA","en-NZ","en-ZA","en-US"])
      && (normandy.channel in ["release"]) && ((env.version|versionCompare("72.!")>=0)&&(env.version|versionCompare("74.*")<0))
      && (["global-v1",normandy.userId]|bucketSample(9360,200,10000))
    filter_object:
    - locales:
      - en-AU
      - en-GB
      - en-CA
      - en-NZ
      - en-ZA
      - en-US
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 72
      - 73
      - 74
    - count: 200
      input:
      - '"global-v1"'
      - normandy.userId
      start: 9360
      total: 10000
      type: bucketSample
    id: 2915
    identicon_seed: v1:jb25xvporji
    metadata: {}
    name: Search Tips aka Nudges
    recipe:
      approved_revision_id: 2915
      id: 902
      latest_revision_id: 2915
    updated: '2020-03-24T18:35:14.834009Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-10-20T18:40:57.566412Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2354
      revision:
        id: 3386
        recipe_id: 1074
    arguments:
      branches:
      - extensionApiId: 112
        ratio: 100
        slug: single-branch
      isEnrollmentPaused: false
      slug: bug-1669522-addon-third-party-dns-resolver-usage-study-v2-release-81-82
      userFacingDescription: This study examines how DNS resolvers are chosen by our
        platform code.
      userFacingName: Third-party DNS resolver usage study V2
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: fix targeted rollout slug
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-10-20T18:40:55.801925Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-10-27T16:05:38.828166Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: false
      id: 1898
    - carryover_from: 1896
      created: '2020-10-20T18:41:59.761985Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1897
    experimenter_slug: third-party-dns-resolver-usage-study-v2
    extra_capabilities: []
    extra_filter_expression: normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active"
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("81.!")>=0)&&(env.version|versionCompare("82.*")<0))
      && (["global-v4",normandy.userId]|bucketSample(5750,100,10000)) && (normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active")
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 81
      - 82
    - count: 100
      namespace: global-v4
      start: 5750
      total: 10000
      type: namespaceSample
    id: 3386
    identicon_seed: v1:hlXRZviplnBt
    metadata: {}
    name: Third-party DNS resolver usage study V2
    recipe:
      approved_revision_id: 3386
      id: 1074
      latest_revision_id: 3386
    updated: '2020-10-27T16:05:38.833096Z'
  id: 1074
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-10-20T18:40:57.566412Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2354
      revision:
        id: 3386
        recipe_id: 1074
    arguments:
      branches:
      - extensionApiId: 112
        ratio: 100
        slug: single-branch
      isEnrollmentPaused: false
      slug: bug-1669522-addon-third-party-dns-resolver-usage-study-v2-release-81-82
      userFacingDescription: This study examines how DNS resolvers are chosen by our
        platform code.
      userFacingName: Third-party DNS resolver usage study V2
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: fix targeted rollout slug
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-10-20T18:40:55.801925Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-10-27T16:05:38.828166Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: false
      id: 1898
    - carryover_from: 1896
      created: '2020-10-20T18:41:59.761985Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1897
    experimenter_slug: third-party-dns-resolver-usage-study-v2
    extra_capabilities: []
    extra_filter_expression: normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active"
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("81.!")>=0)&&(env.version|versionCompare("82.*")<0))
      && (["global-v4",normandy.userId]|bucketSample(5750,100,10000)) && (normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active")
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 81
      - 82
    - count: 100
      namespace: global-v4
      start: 5750
      total: 10000
      type: namespaceSample
    id: 3386
    identicon_seed: v1:hlXRZviplnBt
    metadata: {}
    name: Third-party DNS resolver usage study V2
    recipe:
      approved_revision_id: 3386
      id: 1074
      latest_revision_id: 3386
    updated: '2020-10-27T16:05:38.833096Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      comment: lgtm
      created: '2020-03-17T16:47:49.452958Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2019
      revision:
        id: 2963
        recipe_id: 919
    arguments:
      branches:
      - extensionApiId: 107
        ratio: 50
        slug: control
      - extensionApiId: 107
        ratio: 50
        slug: treatment
      isEnrollmentPaused: true
      slug: addon-search-interventions-v2-release-73-74-bug-1619705
      userFacingDescription: Interventions are designed to provide quick answers and
        solutions to common Firefox issues in the context of a user looking for those
        answers.
      userFacingName: Search Interventions
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-03-17T16:47:41.741448Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-05-12T16:37:40.947244Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: false
      id: 1579
    - carryover_from: 1456
      created: '2020-03-17T17:05:50.026110Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      enabled: true
      id: 1474
    experimenter_slug: search-interventions-v2
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.locale in ["en-AU","en-GB","en-CA","en-NZ","en-US","en-ZA"])
      && (normandy.channel in ["release"]) && ((env.version|versionCompare("73.!")>=0)&&(env.version|versionCompare("74.*")<0))
      && (["global-v2",normandy.userId]|bucketSample(2500,200,10000))
    filter_object:
    - locales:
      - en-AU
      - en-GB
      - en-CA
      - en-NZ
      - en-US
      - en-ZA
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 73
      - 74
    - count: 200
      input:
      - '"global-v2"'
      - normandy.userId
      start: 2500
      total: 10000
      type: bucketSample
    id: 2963
    identicon_seed: v1:6tiex0rvq6
    metadata: {}
    name: Search Interventions V2
    recipe:
      approved_revision_id: 2963
      id: 919
      latest_revision_id: 2963
    updated: '2020-05-12T16:37:40.948615Z'
  id: 919
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      comment: lgtm
      created: '2020-03-17T16:47:49.452958Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2019
      revision:
        id: 2963
        recipe_id: 919
    arguments:
      branches:
      - extensionApiId: 107
        ratio: 50
        slug: control
      - extensionApiId: 107
        ratio: 50
        slug: treatment
      isEnrollmentPaused: true
      slug: addon-search-interventions-v2-release-73-74-bug-1619705
      userFacingDescription: Interventions are designed to provide quick answers and
        solutions to common Firefox issues in the context of a user looking for those
        answers.
      userFacingName: Search Interventions
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-03-17T16:47:41.741448Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-05-12T16:37:40.947244Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: false
      id: 1579
    - carryover_from: 1456
      created: '2020-03-17T17:05:50.026110Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      enabled: true
      id: 1474
    experimenter_slug: search-interventions-v2
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.locale in ["en-AU","en-GB","en-CA","en-NZ","en-US","en-ZA"])
      && (normandy.channel in ["release"]) && ((env.version|versionCompare("73.!")>=0)&&(env.version|versionCompare("74.*")<0))
      && (["global-v2",normandy.userId]|bucketSample(2500,200,10000))
    filter_object:
    - locales:
      - en-AU
      - en-GB
      - en-CA
      - en-NZ
      - en-US
      - en-ZA
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 73
      - 74
    - count: 200
      input:
      - '"global-v2"'
      - normandy.userId
      start: 2500
      total: 10000
      type: bucketSample
    id: 2963
    identicon_seed: v1:6tiex0rvq6
    metadata: {}
    name: Search Interventions V2
    recipe:
      approved_revision_id: 2963
      id: 919
      latest_revision_id: 2963
    updated: '2020-05-12T16:37:40.948615Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+ to change in pref filter value from "true" to true
      created: '2021-05-06T23:31:24.191451Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2557
      revision:
        id: 3611
        recipe_id: 1148
    arguments:
      branches:
      - extensionApiId: 115
        ratio: 100
        slug: observeration-branch
      isEnrollmentPaused: false
      slug: bug-1693618-addon-dnssec-interference-measurement-v2-beta-89-90
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V2
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: fix type of telemetry filter
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2021-05-06T23:31:19.614623Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2021-05-25T18:48:19.235385Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 2150
    - carryover_from: 2138
      created: '2021-05-07T00:01:25.402951Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 2140
    experimenter_slug: dnssec-interference-measurement-v2
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["beta"]) && ((env.version|versionCompare("89.!")>=0)&&(env.version|versionCompare("90.*")<0))
      && (["global-v3-beta",normandy.userId]|bucketSample(2000,500,10000)) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (normandy.os.isWindows||normandy.os.isMac)
    filter_object:
    - channels:
      - beta
      type: channel
    - type: version
      versions:
      - 89
      - 90
    - count: 500
      namespace: global-v3-beta
      start: 2000
      type: namespaceSample
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - platforms:
      - all_windows
      - all_mac
      type: platform
    id: 3611
    identicon_seed: v1:kdVgzGJJzoXO
    metadata: {}
    name: DNSSEC Interference Measurement V2
    recipe:
      approved_revision_id: 3611
      id: 1148
      latest_revision_id: 3611
    updated: '2021-05-25T18:48:19.240864Z'
  id: 1148
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+ to change in pref filter value from "true" to true
      created: '2021-05-06T23:31:24.191451Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2557
      revision:
        id: 3611
        recipe_id: 1148
    arguments:
      branches:
      - extensionApiId: 115
        ratio: 100
        slug: observeration-branch
      isEnrollmentPaused: false
      slug: bug-1693618-addon-dnssec-interference-measurement-v2-beta-89-90
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V2
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: fix type of telemetry filter
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2021-05-06T23:31:19.614623Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2021-05-25T18:48:19.235385Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 2150
    - carryover_from: 2138
      created: '2021-05-07T00:01:25.402951Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 2140
    experimenter_slug: dnssec-interference-measurement-v2
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["beta"]) && ((env.version|versionCompare("89.!")>=0)&&(env.version|versionCompare("90.*")<0))
      && (["global-v3-beta",normandy.userId]|bucketSample(2000,500,10000)) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (normandy.os.isWindows||normandy.os.isMac)
    filter_object:
    - channels:
      - beta
      type: channel
    - type: version
      versions:
      - 89
      - 90
    - count: 500
      namespace: global-v3-beta
      start: 2000
      type: namespaceSample
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - platforms:
      - all_windows
      - all_mac
      type: platform
    id: 3611
    identicon_seed: v1:kdVgzGJJzoXO
    metadata: {}
    name: DNSSEC Interference Measurement V2
    recipe:
      approved_revision_id: 3611
      id: 1148
      latest_revision_id: 3611
    updated: '2021-05-25T18:48:19.240864Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2019-11-28T04:25:28.260143Z'
      creator:
        email: bwong@mozilla.com
        first_name: Benson
        id: 38
        last_name: Wong
      id: 1921
      revision:
        id: 2853
        recipe_id: 883
    arguments:
      branches:
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-heuristics
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-disabled
      isEnrollmentPaused: true
      slug: pref-doh-us-engagement-study-v3-release-70-72-bug-1590831
      userFacingDescription: This Firefox experiment will measure the impact on user
        engagement and retention when DNS over HTTPS is rolled out in the United States.
        Users who are part of the study will receive a notification before DNS over
        HTTPS is enabled. Set network.trr.mode to ‘5’ in about:config to permanently
        disable DoH. This experiment does not collect personally-identifiable information,
        DNS queries, or answers.
      userFacingName: DNS over HTTPS US Rollout
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: bwong@mozilla.com
      first_name: Benson
      id: 38
      last_name: Wong
    date_created: '2019-11-28T04:25:13.161569Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-12-16T21:19:48.103929Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1387
    - carryover_from: 1363
      created: '2019-11-28T04:32:58.622092Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1364
    experimenter_slug: doh-us-engagement-study-v3
    extra_capabilities: []
    extra_filter_expression: normandy.addons["doh-rollout@mozilla.org"].isActive
    filter_expression: (normandy.locale in ["en-GB","en-US","en-CA"]) && (normandy.channel
      in ["release"]) && ((env.version|versionCompare("70.!")>=0)&&(env.version|versionCompare("72.*")<0))
      && (["doh-rollout",normandy.userId]|bucketSample(100,100,10000)) && (normandy.addons["doh-rollout@mozilla.org"].isActive)
    filter_object:
    - locales:
      - en-GB
      - en-US
      - en-CA
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    - count: 100
      input:
      - '"doh-rollout"'
      - normandy.userId
      start: 100
      total: 10000
      type: bucketSample
    id: 2853
    identicon_seed: v1:phc5lv0w1dk
    metadata: {}
    name: DoH US Engagement Study V3
    recipe:
      approved_revision_id: 2853
      id: 883
      latest_revision_id: 2853
    updated: '2019-12-16T21:19:48.105248Z'
  id: 883
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2019-11-28T04:25:28.260143Z'
      creator:
        email: bwong@mozilla.com
        first_name: Benson
        id: 38
        last_name: Wong
      id: 1921
      revision:
        id: 2853
        recipe_id: 883
    arguments:
      branches:
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-heuristics
      - extensionApiId: 97
        ratio: 1
        slug: doh-rollout-disabled
      isEnrollmentPaused: true
      slug: pref-doh-us-engagement-study-v3-release-70-72-bug-1590831
      userFacingDescription: This Firefox experiment will measure the impact on user
        engagement and retention when DNS over HTTPS is rolled out in the United States.
        Users who are part of the study will receive a notification before DNS over
        HTTPS is enabled. Set network.trr.mode to ‘5’ in about:config to permanently
        disable DoH. This experiment does not collect personally-identifiable information,
        DNS queries, or answers.
      userFacingName: DNS over HTTPS US Rollout
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: bwong@mozilla.com
      first_name: Benson
      id: 38
      last_name: Wong
    date_created: '2019-11-28T04:25:13.161569Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-12-16T21:19:48.103929Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1387
    - carryover_from: 1363
      created: '2019-11-28T04:32:58.622092Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1364
    experimenter_slug: doh-us-engagement-study-v3
    extra_capabilities: []
    extra_filter_expression: normandy.addons["doh-rollout@mozilla.org"].isActive
    filter_expression: (normandy.locale in ["en-GB","en-US","en-CA"]) && (normandy.channel
      in ["release"]) && ((env.version|versionCompare("70.!")>=0)&&(env.version|versionCompare("72.*")<0))
      && (["doh-rollout",normandy.userId]|bucketSample(100,100,10000)) && (normandy.addons["doh-rollout@mozilla.org"].isActive)
    filter_object:
    - locales:
      - en-GB
      - en-US
      - en-CA
      type: locale
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    - count: 100
      input:
      - '"doh-rollout"'
      - normandy.userId
      start: 100
      total: 10000
      type: bucketSample
    id: 2853
    identicon_seed: v1:phc5lv0w1dk
    metadata: {}
    name: DoH US Engagement Study V3
    recipe:
      approved_revision_id: 2853
      id: 883
      latest_revision_id: 2853
    updated: '2019-12-16T21:19:48.105248Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ for testing
      created: '2019-11-11T14:01:22.476810Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1883
      revision:
        id: 2807
        recipe_id: 872
    arguments:
      branches:
      - extensionApiId: 94
        ratio: 1
        slug: treatment
      - extensionApiId: 94
        ratio: 1
        slug: control
      isEnrollmentPaused: false
      slug: branched-addon-stub-attribution-test-pi-283
      userFacingDescription: We believe we can deliver an enhanced product experience
        by exposing these Topsites in a new context, allowing users to navigate even
        more quickly and easily than they can today.
      userFacingName: TopSites for Search
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-11T13:58:15.787328Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-27T12:20:11.842960Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1358
    - carryover_from: null
      created: '2019-11-19T12:33:58.361544Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1336
    - carryover_from: null
      created: '2019-11-19T09:49:36.348361Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1327
    - carryover_from: null
      created: '2019-11-18T12:44:26.642128Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1321
    - carryover_from: null
      created: '2019-11-18T12:09:01.661189Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1308
    - carryover_from: null
      created: '2019-11-18T10:15:37.985116Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1307
    - carryover_from: null
      created: '2019-11-13T13:40:38.083284Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1290
    - carryover_from: null
      created: '2019-11-13T12:55:53.494508Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1288
    - carryover_from: null
      created: '2019-11-12T12:50:26.533005Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1267
    - carryover_from: null
      created: '2019-11-12T09:57:18.479399Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1266
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: "normandy.attribution.medium == \"rhelmer\"\n&& normandy.attribution.campaign\
      \ == \"stubtest\"\n&& \n(\n!\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n\
      || normandy.experiments.active[\"branched-addon-stub-attribution-test-pi-283\"\
      ]\n)"
    filter_expression: "(normandy.channel in [\"beta\",\"nightly\"]) && ((env.version|versionCompare(\"\
      70.!\")>=0)&&(env.version|versionCompare(\"72.*\")<0)) && (normandy.attribution.medium\
      \ == \"rhelmer\"\n&& normandy.attribution.campaign == \"stubtest\"\n&& \n(\n\
      !\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n|| normandy.experiments.active[\"\
      branched-addon-stub-attribution-test-pi-283\"]\n))"
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2807
    identicon_seed: v1:446xskc0bj3
    metadata: {}
    name: '[cmuresan][pi-283]branched-addon-stub-attribution-test'
    recipe:
      approved_revision_id: 2807
      id: 872
      latest_revision_id: 2807
    updated: '2019-11-27T12:20:11.844330Z'
  id: 872
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ for testing
      created: '2019-11-11T14:01:22.476810Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1883
      revision:
        id: 2807
        recipe_id: 872
    arguments:
      branches:
      - extensionApiId: 94
        ratio: 1
        slug: treatment
      - extensionApiId: 94
        ratio: 1
        slug: control
      isEnrollmentPaused: false
      slug: branched-addon-stub-attribution-test-pi-283
      userFacingDescription: We believe we can deliver an enhanced product experience
        by exposing these Topsites in a new context, allowing users to navigate even
        more quickly and easily than they can today.
      userFacingName: TopSites for Search
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-11T13:58:15.787328Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-27T12:20:11.842960Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1358
    - carryover_from: null
      created: '2019-11-19T12:33:58.361544Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1336
    - carryover_from: null
      created: '2019-11-19T09:49:36.348361Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1327
    - carryover_from: null
      created: '2019-11-18T12:44:26.642128Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1321
    - carryover_from: null
      created: '2019-11-18T12:09:01.661189Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1308
    - carryover_from: null
      created: '2019-11-18T10:15:37.985116Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1307
    - carryover_from: null
      created: '2019-11-13T13:40:38.083284Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1290
    - carryover_from: null
      created: '2019-11-13T12:55:53.494508Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1288
    - carryover_from: null
      created: '2019-11-12T12:50:26.533005Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1267
    - carryover_from: null
      created: '2019-11-12T09:57:18.479399Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1266
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: "normandy.attribution.medium == \"rhelmer\"\n&& normandy.attribution.campaign\
      \ == \"stubtest\"\n&& \n(\n!\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n\
      || normandy.experiments.active[\"branched-addon-stub-attribution-test-pi-283\"\
      ]\n)"
    filter_expression: "(normandy.channel in [\"beta\",\"nightly\"]) && ((env.version|versionCompare(\"\
      70.!\")>=0)&&(env.version|versionCompare(\"72.*\")<0)) && (normandy.attribution.medium\
      \ == \"rhelmer\"\n&& normandy.attribution.campaign == \"stubtest\"\n&& \n(\n\
      !\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n|| normandy.experiments.active[\"\
      branched-addon-stub-attribution-test-pi-283\"]\n))"
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2807
    identicon_seed: v1:446xskc0bj3
    metadata: {}
    name: '[cmuresan][pi-283]branched-addon-stub-attribution-test'
    recipe:
      approved_revision_id: 2807
      id: 872
      latest_revision_id: 2807
    updated: '2019-11-27T12:20:11.844330Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-05-20T17:12:14.712072Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2107
      revision:
        id: 3084
        recipe_id: 966
    arguments:
      branches:
      - extensionApiId: 109
        ratio: 100
        slug: only-branch
      isEnrollmentPaused: true
      slug: bug-1635674-addon-https-upgrade-study-v2-release-75-77
      userFacingDescription: This add-on tests an approach to upgrading certain HTTP
        connections to HTTPS.
      userFacingName: HTTPS Upgrade Study
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-05-20T17:09:42.674724Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-05-26T16:40:34.848808Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1605
    - carryover_from: 1585
      created: '2020-05-20T17:13:04.396436Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1596
    experimenter_slug: https-upgrade-study-v2
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("77.*")<0))
      && ([normandy.userId,"global-v2"]|bucketSample(8151,50,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
      - 77
    - count: 50
      input:
      - normandy.userId
      - '"global-v2"'
      start: 8151
      total: 10000
      type: bucketSample
    id: 3084
    identicon_seed: v1:nwAuMKUcpiqY
    metadata: {}
    name: HTTPS Upgrade Study V2
    recipe:
      approved_revision_id: 3084
      id: 966
      latest_revision_id: 3084
    updated: '2020-05-26T16:40:34.849923Z'
  id: 966
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2020-05-20T17:12:14.712072Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 2107
      revision:
        id: 3084
        recipe_id: 966
    arguments:
      branches:
      - extensionApiId: 109
        ratio: 100
        slug: only-branch
      isEnrollmentPaused: true
      slug: bug-1635674-addon-https-upgrade-study-v2-release-75-77
      userFacingDescription: This add-on tests an approach to upgrading certain HTTP
        connections to HTTPS.
      userFacingName: HTTPS Upgrade Study
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2020-05-20T17:09:42.674724Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-05-26T16:40:34.848808Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: false
      id: 1605
    - carryover_from: 1585
      created: '2020-05-20T17:13:04.396436Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1596
    experimenter_slug: https-upgrade-study-v2
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("77.*")<0))
      && ([normandy.userId,"global-v2"]|bucketSample(8151,50,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
      - 77
    - count: 50
      input:
      - normandy.userId
      - '"global-v2"'
      start: 8151
      total: 10000
      type: bucketSample
    id: 3084
    identicon_seed: v1:nwAuMKUcpiqY
    metadata: {}
    name: HTTPS Upgrade Study V2
    recipe:
      approved_revision_id: 3084
      id: 966
      latest_revision_id: 3084
    updated: '2020-05-26T16:40:34.849923Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2019-10-01T16:34:47.109706Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1836
      revision:
        id: 2742
        recipe_id: 845
    arguments:
      branches:
      - extensionApiId: 94
        ratio: 1
        slug: treatment
      - extensionApiId: 94
        ratio: 1
        slug: control
      isEnrollmentPaused: true
      slug: addon-activity-stream-search-topsites-release-69-1576277
      userFacingDescription: We believe we can deliver an enhanced product experience
        by exposing these Topsites in a new context, allowing users to navigate even
        more quickly and easily than they can today.
      userFacingName: TopSites for Search
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2019-10-01T16:34:41.220815Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-19T17:36:21.887218Z'
      creator:
        email: jgaunt@mozilla.com
        first_name: Josh
        id: 6
        last_name: Gaunt
      enabled: false
      id: 1339
    - carryover_from: 1187
      created: '2019-10-01T16:35:41.575172Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1205
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: '"browser.newtabpage.activity-stream.feeds.topsites"|preferenceValue
      != false

      && "browser.privatebrowsingautostart"|preferenceValue != true'
    filter_expression: '(normandy.channel in ["release"]) && ((env.version|versionCompare("69.!")>=0)&&(env.version|versionCompare("69.*")<0))
      && (["global-v1",normandy.userId]|bucketSample(3265,90,10000)) && ("browser.newtabpage.activity-stream.feeds.topsites"|preferenceValue
      != false

      && "browser.privatebrowsingautostart"|preferenceValue != true)'
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 69
    - count: 90
      input:
      - '"global-v1"'
      - normandy.userId
      start: 3265
      total: 10000
      type: bucketSample
    id: 2742
    identicon_seed: v1:ga1j81clzw
    metadata: {}
    name: Activity Stream Search TopSites
    recipe:
      approved_revision_id: 2742
      id: 845
      latest_revision_id: 2742
    updated: '2019-11-19T17:36:21.888760Z'
  id: 845
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      comment: r+
      created: '2019-10-01T16:34:47.109706Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      id: 1836
      revision:
        id: 2742
        recipe_id: 845
    arguments:
      branches:
      - extensionApiId: 94
        ratio: 1
        slug: treatment
      - extensionApiId: 94
        ratio: 1
        slug: control
      isEnrollmentPaused: true
      slug: addon-activity-stream-search-topsites-release-69-1576277
      userFacingDescription: We believe we can deliver an enhanced product experience
        by exposing these Topsites in a new context, allowing users to navigate even
        more quickly and easily than they can today.
      userFacingName: TopSites for Search
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: ''
    creator:
      email: mcooper@mozilla.com
      first_name: Michael
      id: 1
      last_name: Cooper
    date_created: '2019-10-01T16:34:41.220815Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-19T17:36:21.887218Z'
      creator:
        email: jgaunt@mozilla.com
        first_name: Josh
        id: 6
        last_name: Gaunt
      enabled: false
      id: 1339
    - carryover_from: 1187
      created: '2019-10-01T16:35:41.575172Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: true
      id: 1205
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: '"browser.newtabpage.activity-stream.feeds.topsites"|preferenceValue
      != false

      && "browser.privatebrowsingautostart"|preferenceValue != true'
    filter_expression: '(normandy.channel in ["release"]) && ((env.version|versionCompare("69.!")>=0)&&(env.version|versionCompare("69.*")<0))
      && (["global-v1",normandy.userId]|bucketSample(3265,90,10000)) && ("browser.newtabpage.activity-stream.feeds.topsites"|preferenceValue
      != false

      && "browser.privatebrowsingautostart"|preferenceValue != true)'
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 69
    - count: 90
      input:
      - '"global-v1"'
      - normandy.userId
      start: 3265
      total: 10000
      type: bucketSample
    id: 2742
    identicon_seed: v1:ga1j81clzw
    metadata: {}
    name: Activity Stream Search TopSites
    recipe:
      approved_revision_id: 2742
      id: 845
      latest_revision_id: 2742
    updated: '2019-11-19T17:36:21.888760Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+
      created: '2020-08-11T17:01:59.771582Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      id: 2255
      revision:
        id: 3276
        recipe_id: 1039
    arguments:
      branches:
      - extensionApiId: 111
        ratio: 100
        slug: single-branch
      isEnrollmentPaused: false
      slug: bug-1657699-addon-third-party-dns-resolver-usage-study-release-79-80
      userFacingDescription: This study examines how DNS resolvers are chosen by our
        platform code.
      userFacingName: Third-party DNS resolver usage study
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: fix filter expression
    creator:
      email: rdalal@mozilla.com
      first_name: Rehan
      id: 14
      last_name: Dalal
    date_created: '2020-08-11T17:01:58.553005Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-08-18T16:36:03.682413Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: false
      id: 1769
    - carryover_from: null
      created: '2020-08-11T17:02:47.700830Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1763
    experimenter_slug: comcast-resolver-usage-study
    extra_capabilities: []
    extra_filter_expression: normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active"
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("79.!")>=0)&&(env.version|versionCompare("80.*")<0))
      && (normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active")
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 79
      - 80
    id: 3276
    identicon_seed: v1:bUxForwVlHKg
    metadata: {}
    name: Third-party DNS resolver usage study
    recipe:
      approved_revision_id: 3276
      id: 1039
      latest_revision_id: 3276
    updated: '2020-08-18T16:36:03.685047Z'
  id: 1039
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+
      created: '2020-08-11T17:01:59.771582Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      id: 2255
      revision:
        id: 3276
        recipe_id: 1039
    arguments:
      branches:
      - extensionApiId: 111
        ratio: 100
        slug: single-branch
      isEnrollmentPaused: false
      slug: bug-1657699-addon-third-party-dns-resolver-usage-study-release-79-80
      userFacingDescription: This study examines how DNS resolvers are chosen by our
        platform code.
      userFacingName: Third-party DNS resolver usage study
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: fix filter expression
    creator:
      email: rdalal@mozilla.com
      first_name: Rehan
      id: 14
      last_name: Dalal
    date_created: '2020-08-11T17:01:58.553005Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-08-18T16:36:03.682413Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      enabled: false
      id: 1769
    - carryover_from: null
      created: '2020-08-11T17:02:47.700830Z'
      creator:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      enabled: true
      id: 1763
    experimenter_slug: comcast-resolver-usage-study
    extra_capabilities: []
    extra_filter_expression: normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active"
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("79.!")>=0)&&(env.version|versionCompare("80.*")<0))
      && (normandy.rollouts.pref["bug-1648229-rollout-comcast-steering-rollout-release-78-80"].state
      == "active")
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 79
      - 80
    id: 3276
    identicon_seed: v1:bUxForwVlHKg
    metadata: {}
    name: Third-party DNS resolver usage study
    recipe:
      approved_revision_id: 3276
      id: 1039
      latest_revision_id: 3276
    updated: '2020-08-18T16:36:03.685047Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+ to recipe
      created: '2020-06-23T18:31:01.591293Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      id: 2171
      revision:
        id: 3181
        recipe_id: 1000
    arguments:
      branches:
      - extensionApiId: 110
        ratio: 100
        slug: control
      isEnrollmentPaused: false
      slug: bug-1644947-addon-google-accounts-login-check-release-75-77
      userFacingDescription: This study will help us understand if Firefox users are
        being signed out of their Google accounts unintentionally. Learning about
        the Google accounts login state for our users will help us deliver an optimal
        experience in Firefox.
      userFacingName: Google Accounts Login Check
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: Fixed timestamp
    creator:
      email: rdalal@mozilla.com
      first_name: Rehan
      id: 14
      last_name: Dalal
    date_created: '2020-06-23T18:30:48.393494Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-06-30T16:39:55.154252Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      enabled: false
      id: 1671
    - carryover_from: null
      created: '2020-06-23T18:43:43.027256Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 1653
    experimenter_slug: google-login-cookie-check
    extra_capabilities: []
    extra_filter_expression: normandy.telemetry.main.environment.profile.creationDate
      <= 18429
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("77.*")<0))
      && ([normandy.userId,"global-v2"]|bucketSample(9166,3,10000)) && (normandy.telemetry.main.environment.profile.creationDate
      <= 18429)
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
      - 77
    - count: 3
      input:
      - normandy.userId
      - '"global-v2"'
      start: 9166
      total: 10000
      type: bucketSample
    id: 3181
    identicon_seed: v1:VEMOUSPxgwqh
    metadata: {}
    name: Google Accounts Login Check
    recipe:
      approved_revision_id: 3181
      id: 1000
      latest_revision_id: 3181
    updated: '2020-06-30T16:39:55.155435Z'
  id: 1000
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+ to recipe
      created: '2020-06-23T18:31:01.591293Z'
      creator:
        email: rdalal@mozilla.com
        first_name: Rehan
        id: 14
        last_name: Dalal
      id: 2171
      revision:
        id: 3181
        recipe_id: 1000
    arguments:
      branches:
      - extensionApiId: 110
        ratio: 100
        slug: control
      isEnrollmentPaused: false
      slug: bug-1644947-addon-google-accounts-login-check-release-75-77
      userFacingDescription: This study will help us understand if Firefox users are
        being signed out of their Google accounts unintentionally. Learning about
        the Google accounts login state for our users will help us deliver an optimal
        experience in Firefox.
      userFacingName: Google Accounts Login Check
    capabilities:
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    - capabilities-v1
    - jexl.transform.bucketSample
    comment: Fixed timestamp
    creator:
      email: rdalal@mozilla.com
      first_name: Rehan
      id: 14
      last_name: Dalal
    date_created: '2020-06-23T18:30:48.393494Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2020-06-30T16:39:55.154252Z'
      creator:
        email: jkerim@mozilla.com
        first_name: Jared
        id: 51
        last_name: Kerim
      enabled: false
      id: 1671
    - carryover_from: null
      created: '2020-06-23T18:43:43.027256Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 1653
    experimenter_slug: google-login-cookie-check
    extra_capabilities: []
    extra_filter_expression: normandy.telemetry.main.environment.profile.creationDate
      <= 18429
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("75.!")>=0)&&(env.version|versionCompare("77.*")<0))
      && ([normandy.userId,"global-v2"]|bucketSample(9166,3,10000)) && (normandy.telemetry.main.environment.profile.creationDate
      <= 18429)
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 75
      - 76
      - 77
    - count: 3
      input:
      - normandy.userId
      - '"global-v2"'
      start: 9166
      total: 10000
      type: bucketSample
    id: 3181
    identicon_seed: v1:VEMOUSPxgwqh
    metadata: {}
    name: Google Accounts Login Check
    recipe:
      approved_revision_id: 3181
      id: 1000
      latest_revision_id: 3181
    updated: '2020-06-30T16:39:55.155435Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ for testing
      created: '2019-11-18T08:49:15.122917Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1897
      revision:
        id: 2823
        recipe_id: 878
    arguments:
      branches:
      - extensionApiId: 94
        ratio: 1
        slug: treatment
      - extensionApiId: 94
        ratio: 1
        slug: control
      isEnrollmentPaused: true
      slug: branched-addon-stub-attribution-test-pi-283
      userFacingDescription: We believe we can deliver an enhanced product experience
        by exposing these Topsites in a new context, allowing users to navigate even
        more quickly and easily than they can today.
      userFacingName: TopSites for Search
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-18T08:49:10.080865Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-19T12:29:25.045193Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1335
    - carryover_from: null
      created: '2019-11-19T10:19:49.222619Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1333
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: "normandy.attribution.medium == \"rhelmer\"\n&& normandy.attribution.campaign\
      \ == \"stubtest\"\n&& \n(\n!\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n\
      || normandy.experiments.active[\"branched-addon-stub-attribution-test-pi-283\"\
      ]\n)"
    filter_expression: "(normandy.channel in [\"beta\",\"nightly\"]) && ((env.version|versionCompare(\"\
      70.!\")>=0)&&(env.version|versionCompare(\"72.*\")<0)) && (normandy.attribution.medium\
      \ == \"rhelmer\"\n&& normandy.attribution.campaign == \"stubtest\"\n&& \n(\n\
      !\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n|| normandy.experiments.active[\"\
      branched-addon-stub-attribution-test-pi-283\"]\n))"
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2823
    identicon_seed: v1:pvhybx2lspc
    metadata: {}
    name: '[cmuresan][pi-283]branched-addon-stub-attribution-test-paused-enrollment'
    recipe:
      approved_revision_id: 2823
      id: 878
      latest_revision_id: 2823
    updated: '2019-11-19T12:29:25.046522Z'
  id: 878
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: mcooper@mozilla.com
        first_name: Michael
        id: 1
        last_name: Cooper
      comment: r+ for testing
      created: '2019-11-18T08:49:15.122917Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      id: 1897
      revision:
        id: 2823
        recipe_id: 878
    arguments:
      branches:
      - extensionApiId: 94
        ratio: 1
        slug: treatment
      - extensionApiId: 94
        ratio: 1
        slug: control
      isEnrollmentPaused: true
      slug: branched-addon-stub-attribution-test-pi-283
      userFacingDescription: We believe we can deliver an enhanced product experience
        by exposing these Topsites in a new context, allowing users to navigate even
        more quickly and easily than they can today.
      userFacingName: TopSites for Search
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.context.env.version
    - jexl.transform.versionCompare
    comment: ''
    creator:
      email: cmuresan@mozilla.com
      first_name: Ciprian
      id: 52
      last_name: Muresan
    date_created: '2019-11-18T08:49:10.080865Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2019-11-19T12:29:25.045193Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: false
      id: 1335
    - carryover_from: null
      created: '2019-11-19T10:19:49.222619Z'
      creator:
        email: cmuresan@mozilla.com
        first_name: Ciprian
        id: 52
        last_name: Muresan
      enabled: true
      id: 1333
    experimenter_slug: null
    extra_capabilities: []
    extra_filter_expression: "normandy.attribution.medium == \"rhelmer\"\n&& normandy.attribution.campaign\
      \ == \"stubtest\"\n&& \n(\n!\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n\
      || normandy.experiments.active[\"branched-addon-stub-attribution-test-pi-283\"\
      ]\n)"
    filter_expression: "(normandy.channel in [\"beta\",\"nightly\"]) && ((env.version|versionCompare(\"\
      70.!\")>=0)&&(env.version|versionCompare(\"72.*\")<0)) && (normandy.attribution.medium\
      \ == \"rhelmer\"\n&& normandy.attribution.campaign == \"stubtest\"\n&& \n(\n\
      !\"trailhead.firstrun.didSeeAboutWelcome\"|preferenceIsUserSet\n|| normandy.experiments.active[\"\
      branched-addon-stub-attribution-test-pi-283\"]\n))"
    filter_object:
    - channels:
      - beta
      - nightly
      type: channel
    - type: version
      versions:
      - 70
      - 71
      - 72
    id: 2823
    identicon_seed: v1:pvhybx2lspc
    metadata: {}
    name: '[cmuresan][pi-283]branched-addon-stub-attribution-test-paused-enrollment'
    recipe:
      approved_revision_id: 2823
      id: 878
      latest_revision_id: 2823
    updated: '2019-11-19T12:29:25.046522Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+ to 1%
      created: '2022-12-02T21:26:38.763256Z'
      creator:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      id: 2800
      revision:
        id: 3893
        recipe_id: 1247
    arguments:
      branches:
      - extensionApiId: 117
        ratio: 100
        slug: dns-studycom
      isEnrollmentPaused: false
      slug: bug-1801384-addon-dnssec-interference-measurement-v4-release-105-110
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V4
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: Increase to 1%
    creator:
      email: edonowitz@mozilla.com
      first_name: Ethan
      id: 63
      last_name: Donowitz
    date_created: '2022-12-02T19:19:22.593264Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2022-12-16T21:59:25.929727Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 2467
    - carryover_from: 2463
      created: '2022-12-02T22:01:29.947737Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 2464
    experimenter_slug: dnssec-interference-measurement-with-per-client-measurements-v4
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("110.*")<0))
      && ('datareporting.healthreport.uploadEnabled'|preferenceValue == true) && (normandy.os.isWindows||normandy.os.isMac)
      && (["global-v7",normandy.userId]|bucketSample(2500,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - count: 100
      namespace: global-v7
      start: 2500
      type: namespaceSample
    id: 3893
    identicon_seed: v1:DuDnjsxABJwx
    metadata: {}
    name: DNSSEC Interference Measurement V4
    recipe:
      approved_revision_id: 3893
      id: 1247
      latest_revision_id: 3893
    updated: '2022-12-16T21:59:25.934358Z'
  id: 1247
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+ to 1%
      created: '2022-12-02T21:26:38.763256Z'
      creator:
        email: edonowitz@mozilla.com
        first_name: Ethan
        id: 63
        last_name: Donowitz
      id: 2800
      revision:
        id: 3893
        recipe_id: 1247
    arguments:
      branches:
      - extensionApiId: 117
        ratio: 100
        slug: dns-studycom
      isEnrollmentPaused: false
      slug: bug-1801384-addon-dnssec-interference-measurement-v4-release-105-110
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V4
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: Increase to 1%
    creator:
      email: edonowitz@mozilla.com
      first_name: Ethan
      id: 63
      last_name: Donowitz
    date_created: '2022-12-02T19:19:22.593264Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2022-12-16T21:59:25.929727Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 2467
    - carryover_from: 2463
      created: '2022-12-02T22:01:29.947737Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 2464
    experimenter_slug: dnssec-interference-measurement-with-per-client-measurements-v4
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("110.*")<0))
      && ('datareporting.healthreport.uploadEnabled'|preferenceValue == true) && (normandy.os.isWindows||normandy.os.isMac)
      && (["global-v7",normandy.userId]|bucketSample(2500,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - count: 100
      namespace: global-v7
      start: 2500
      type: namespaceSample
    id: 3893
    identicon_seed: v1:DuDnjsxABJwx
    metadata: {}
    name: DNSSEC Interference Measurement V4
    recipe:
      approved_revision_id: 3893
      id: 1247
      latest_revision_id: 3893
    updated: '2022-12-16T21:59:25.934358Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      comment: r+
      created: '2023-01-13T22:13:55.816100Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      id: 2809
      revision:
        id: 3905
        recipe_id: 1252
    arguments:
      branches:
      - extensionApiId: 120
        ratio: 100
        slug: dnssec-experiment-moznet
      isEnrollmentPaused: false
      slug: bug-1810222-addon-dnssec-interference-measurement-v7-release-105-112
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V7
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: update start count
    creator:
      email: ttran@mozilla.com
      first_name: Tiffany
      id: 60
      last_name: Tran
    date_created: '2023-01-13T22:09:47.370103Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2023-01-27T15:10:43.810054Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      enabled: false
      id: 2477
    - carryover_from: null
      created: '2023-01-13T22:15:45.707495Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      enabled: true
      id: 2473
    experimenter_slug: dnssec-interference-measurement-v7
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("112.*")<0))
      && (normandy.os.isWindows||normandy.os.isMac) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (["global-v7",normandy.userId]|bucketSample(2725,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
      - 112
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - count: 100
      namespace: global-v7
      start: 2725
      type: namespaceSample
    id: 3905
    identicon_seed: v1:LTsEYneLEwdT
    metadata: {}
    name: DNSSEC Interference Measurement V7
    recipe:
      approved_revision_id: 3905
      id: 1252
      latest_revision_id: 3905
    updated: '2023-01-27T15:10:43.814533Z'
  id: 1252
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      comment: r+
      created: '2023-01-13T22:13:55.816100Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      id: 2809
      revision:
        id: 3905
        recipe_id: 1252
    arguments:
      branches:
      - extensionApiId: 120
        ratio: 100
        slug: dnssec-experiment-moznet
      isEnrollmentPaused: false
      slug: bug-1810222-addon-dnssec-interference-measurement-v7-release-105-112
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V7
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: update start count
    creator:
      email: ttran@mozilla.com
      first_name: Tiffany
      id: 60
      last_name: Tran
    date_created: '2023-01-13T22:09:47.370103Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2023-01-27T15:10:43.810054Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      enabled: false
      id: 2477
    - carryover_from: null
      created: '2023-01-13T22:15:45.707495Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      enabled: true
      id: 2473
    experimenter_slug: dnssec-interference-measurement-v7
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("112.*")<0))
      && (normandy.os.isWindows||normandy.os.isMac) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (["global-v7",normandy.userId]|bucketSample(2725,100,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
      - 112
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - count: 100
      namespace: global-v7
      start: 2725
      type: namespaceSample
    id: 3905
    identicon_seed: v1:LTsEYneLEwdT
    metadata: {}
    name: DNSSEC Interference Measurement V7
    recipe:
      approved_revision_id: 3905
      id: 1252
      latest_revision_id: 3905
    updated: '2023-01-27T15:10:43.814533Z'
  signature: null
  uses_only_baseline_capabilities: false
- approved_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+
      created: '2023-01-05T22:12:34.478193Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      id: 2806
      revision:
        id: 3901
        recipe_id: 1250
    arguments:
      branches:
      - extensionApiId: 119
        ratio: 100
        slug: dns-studycom
      isEnrollmentPaused: false
      slug: bug-1808792-addon-dnssec-interference-measurement-v6-release-105-112
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V6
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: Update sampling filter
    creator:
      email: najiang@mozilla.com
      first_name: Nan
      id: 45
      last_name: Jiang
    date_created: '2023-01-05T22:08:08.843780Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2023-01-17T19:44:31.468554Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 2474
    - carryover_from: null
      created: '2023-01-05T22:14:35.580377Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 2471
    experimenter_slug: dnssec-interference-measurement-v6
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("112.*")<0))
      && (normandy.os.isWindows||normandy.os.isMac) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (["global-v7",normandy.userId]|bucketSample(2700,25,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
      - 112
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - count: 25
      namespace: global-v7
      start: 2700
      type: namespaceSample
    id: 3901
    identicon_seed: v1:ZIftAPIEdknN
    metadata: {}
    name: DNSSEC Interference Measurement V6
    recipe:
      approved_revision_id: 3901
      id: 1250
      latest_revision_id: 3901
    updated: '2023-01-17T19:44:31.474525Z'
  id: 1250
  latest_revision:
    action:
      arguments_schema:
        $schema: http://json-schema.org/draft-04/schema#
        properties:
          branches:
            description: List of experimental branches
            items:
              properties:
                extensionApiId:
                  default: null
                  description: The record ID of the add-on uploaded to the Normandy
                    server. May be null, in which case no add-on will be installed.
                  type:
                  - number
                  - 'null'
                ratio:
                  description: Ratio of users who should be grouped into this branch.
                  minimum: 1
                  type: integer
                slug:
                  description: Unique identifier for this branch of the experiment.
                  pattern: ^[A-Za-z0-9\-_]+$
                  type: string
              required:
              - slug
              - ratio
              - extensionApiId
              type: object
            minItems: 1
            type: array
          isEnrollmentPaused:
            default: false
            description: If true, new users will not be enrolled in the study.
            type: boolean
          slug:
            description: Machine-readable identifier
            minLength: 1
            type: string
          userFacingDescription:
            description: User-facing description of the study
            minLength: 1
            type: string
          userFacingName:
            description: User-facing name of the study
            minLength: 1
            type: string
        required:
        - slug
        - userFacingName
        - userFacingDescription
        - branches
        title: Enroll a user in an add-on experiment, with managed branches
        type: object
      id: 8
      implementation_url: null
      name: branched-addon-study
    approval_request:
      approved: true
      approver:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      comment: r+
      created: '2023-01-05T22:12:34.478193Z'
      creator:
        email: najiang@mozilla.com
        first_name: Nan
        id: 45
        last_name: Jiang
      id: 2806
      revision:
        id: 3901
        recipe_id: 1250
    arguments:
      branches:
      - extensionApiId: 119
        ratio: 100
        slug: dns-studycom
      isEnrollmentPaused: false
      slug: bug-1808792-addon-dnssec-interference-measurement-v6-release-105-112
      userFacingDescription: We intend to measure rates of interference with DNSSEC
        record types by network middleboxes compared to other DNS record types.
      userFacingName: DNSSEC Interference Measurement V6
    capabilities:
    - capabilities-v1
    - action.branched-addon-study
    - jexl.transform.versionCompare
    - jexl.transform.preferenceValue
    - jexl.context.env.version
    - jexl.transform.bucketSample
    comment: Update sampling filter
    creator:
      email: najiang@mozilla.com
      first_name: Nan
      id: 45
      last_name: Jiang
    date_created: '2023-01-05T22:08:08.843780Z'
    enabled: false
    enabled_states:
    - carryover_from: null
      created: '2023-01-17T19:44:31.468554Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: false
      id: 2474
    - carryover_from: null
      created: '2023-01-05T22:14:35.580377Z'
      creator:
        email: ttran@mozilla.com
        first_name: Tiffany
        id: 60
        last_name: Tran
      enabled: true
      id: 2471
    experimenter_slug: dnssec-interference-measurement-v6
    extra_capabilities: []
    extra_filter_expression: ''
    filter_expression: (normandy.channel in ["release"]) && ((env.version|versionCompare("105.!")>=0)&&(env.version|versionCompare("112.*")<0))
      && (normandy.os.isWindows||normandy.os.isMac) && ('datareporting.healthreport.uploadEnabled'|preferenceValue
      == true) && (["global-v7",normandy.userId]|bucketSample(2700,25,10000))
    filter_object:
    - channels:
      - release
      type: channel
    - type: version
      versions:
      - 105
      - 106
      - 107
      - 108
      - 109
      - 110
      - 111
      - 112
    - platforms:
      - all_windows
      - all_mac
      type: platform
    - comment: Exclude users with telemetry disabled
      comparison: equal
      pref: datareporting.healthreport.uploadEnabled
      type: preferenceValue
      value: true
    - count: 25
      namespace: global-v7
      start: 2700
      type: namespaceSample
    id: 3901
    identicon_seed: v1:ZIftAPIEdknN
    metadata: {}
    name: DNSSEC Interference Measurement V6
    recipe:
      approved_revision_id: 3901
      id: 1250
      latest_revision_id: 3901
    updated: '2023-01-17T19:44:31.474525Z'
  signature: null
  uses_only_baseline_capabilities: false
