diff --git a/ee/app/assets/javascripts/security_orchestration/components/constants.js b/ee/app/assets/javascripts/security_orchestration/components/constants.js
index 48d7a58bfa77b33113a1773146e12920df2655ac..9e7d7edc8085ed0e5eed8cc19a9f27aad9316833 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/constants.js
+++ b/ee/app/assets/javascripts/security_orchestration/components/constants.js
@@ -5,18 +5,25 @@ export const NEW_POLICY_BUTTON_TEXT = s__('SecurityOrchestration|New policy');
 export const POLICY_TYPE_COMPONENT_OPTIONS = {
   scanExecution: {
     component: 'scan-execution-policy-editor',
-    text: s__('SecurityOrchestration|Scan Execution'),
+    text: s__('SecurityOrchestration|Scan execution'),
     typeName: 'ScanExecutionPolicy',
     urlParameter: 'scan_execution_policy',
     value: 'scanExecution',
   },
   scanResult: {
     component: 'scan-result-policy-editor',
-    text: s__('SecurityOrchestration|Scan Result'),
+    text: s__('SecurityOrchestration|Merge request approval'),
     typeName: 'ScanResultPolicy',
     urlParameter: 'scan_result_policy',
     value: 'scanResult',
   },
+  approval: {
+    component: 'scan-result-policy-editor',
+    text: s__('SecurityOrchestration|Merge request approval'),
+    typeName: 'ScanResultPolicy',
+    urlParameter: 'approval_policy',
+    value: 'approval',
+  },
 };
 
 export const POLICIES_LIST_CONTAINER_CLASS = '.js-security-policies-container-wrapper';
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js b/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js
index 21f49f75ee85c86343623d62a0dd6d78c6b6720f..74cd63745c503e0d37e3c4a422eaad22b1d87acc 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js
+++ b/ee/app/assets/javascripts/security_orchestration/components/policies/constants.js
@@ -24,15 +24,15 @@ export const POLICY_TYPE_FILTER_OPTIONS = {
     value: 'SCAN_EXECUTION',
     text: s__('SecurityOrchestration|Scan execution'),
   },
-  SCAN_RESULT: {
-    value: 'SCAN_RESULT',
-    text: s__('SecurityOrchestration|Scan result'),
+  APPROVAL: {
+    value: 'APPROVAL',
+    text: s__('SecurityOrchestration|Merge request approval'),
   },
 };
 
 export const POLICY_TYPES_WITH_INHERITANCE = [
   POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION.value,
-  POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.value,
+  POLICY_TYPE_FILTER_OPTIONS.APPROVAL.value,
 ];
 
 export const EMPTY_LIST_DESCRIPTION = s__(
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policies/list_component.vue b/ee/app/assets/javascripts/security_orchestration/components/policies/list_component.vue
index 3790a8f5924071fa362e39bab63562c9c5a333f9..9736886f70e1d85853122e5f9256e1614f1568d6 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policies/list_component.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policies/list_component.vue
@@ -138,7 +138,7 @@ export default {
     allPolicyTypes() {
       return {
         [POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION.value]: this.scanExecutionPolicies,
-        [POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.value]: this.scanResultPolicies,
+        [POLICY_TYPE_FILTER_OPTIONS.APPROVAL.value]: this.scanResultPolicies,
       };
     },
     policies() {
@@ -189,9 +189,7 @@ export default {
           key: 'status',
           label: '',
           thClass: 'gl-w-3',
-          tdAttr: {
-            'data-testid': 'policy-status-cell',
-          },
+          tdAttr: { 'data-testid': 'policy-status-cell' },
         },
         {
           key: 'name',
@@ -203,17 +201,13 @@ export default {
           key: 'policyType',
           label: s__('SecurityOrchestration|Policy type'),
           sortable: true,
-          tdAttr: {
-            'data-testid': 'policy-type-cell',
-          },
+          tdAttr: { 'data-testid': 'policy-type-cell' },
         },
         {
           key: 'source',
           label: s__('SecurityOrchestration|Source'),
           sortable: true,
-          tdAttr: {
-            'data-testid': 'policy-source-cell',
-          },
+          tdAttr: { 'data-testid': 'policy-source-cell' },
         },
         {
           key: 'updatedAt',
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policies/utils.js b/ee/app/assets/javascripts/security_orchestration/components/policies/utils.js
index 7a0e30e59db08997e5de3eb09943ae1f5fe3a31f..a441e794f02221c816caba22bf1329d333110e6a 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policies/utils.js
+++ b/ee/app/assets/javascripts/security_orchestration/components/policies/utils.js
@@ -38,8 +38,13 @@ export const validateSourceFilter = (value) => validateFilter(POLICY_SOURCE_OPTI
  * @param type
  * @returns {string|undefined|string}
  */
-export const extractTypeParameter = (type) =>
-  validateTypeFilter(type) ? type?.toUpperCase() : POLICY_TYPE_FILTER_OPTIONS.ALL.value;
+export const extractTypeParameter = (type) => {
+  // necessary for bookmarks of /-/security/policies?type=scan_result
+  const updatedType = type === 'scan_result' ? 'approval' : type;
+  return validateTypeFilter(updatedType)
+    ? updatedType?.toUpperCase()
+    : POLICY_TYPE_FILTER_OPTIONS.ALL.value;
+};
 
 /**
  * Conversion between lower case url params and policies
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/drawer_wrapper.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/drawer_wrapper.vue
index 0ae67f7b8165150602f5d3497f64acb1d441accd..3b77464e775a8f87197ffd271b042fd60b4147eb 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/drawer_wrapper.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/drawer_wrapper.vue
@@ -22,6 +22,7 @@ import ScanResultDrawer from './scan_result/details_drawer.vue';
 const policyComponent = {
   [POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.value]: ScanExecutionDrawer,
   [POLICY_TYPE_COMPONENT_OPTIONS.scanResult.value]: ScanResultDrawer,
+  [POLICY_TYPE_COMPONENT_OPTIONS.approval.value]: ScanResultDrawer,
 };
 
 export default {
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/scan_result/details_drawer.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/scan_result/details_drawer.vue
index e7b23c82484e5b4169fff07ac9615682320b27dd..3d8f583a314e580a5db5e0bea1fd1c096173ecd9 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/scan_result/details_drawer.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_drawer/scan_result/details_drawer.vue
@@ -13,7 +13,7 @@ import { humanizeRules } from './utils';
 export default {
   i18n: {
     summary: SUMMARY_TITLE,
-    scanResult: s__('SecurityOrchestration|Scan result'),
+    scanResult: s__('SecurityOrchestration|Merge request approval'),
   },
   components: {
     ToggleList,
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/app.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/app.vue
index 4fa1cfea41c8fb88acb5ec5292350a9e3d804229..67957c0248e7daa00f1ab89a97b8189bef84f684 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/app.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/app.vue
@@ -49,14 +49,10 @@ export default {
       ];
     },
     title() {
-      if (this.existingPolicy) {
+      if (this.existingPolicy || this.selectedPolicy) {
         return this.$options.i18n.editTitles[this.selectedPolicy.value];
       }
 
-      if (this.selectedPolicy) {
-        return this.$options.i18n.titles[this.selectedPolicy.value];
-      }
-
       return this.$options.i18n.titles.default;
     },
   },
@@ -85,8 +81,8 @@ export default {
   },
   i18n: {
     titles: {
-      [POLICY_TYPE_COMPONENT_OPTIONS.scanResult.value]: s__(
-        'SecurityOrchestration|New scan result policy',
+      [POLICY_TYPE_COMPONENT_OPTIONS.approval.value]: s__(
+        'SecurityOrchestration|New merge request approval policy',
       ),
       [POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.value]: s__(
         'SecurityOrchestration|New scan execution policy',
@@ -95,7 +91,10 @@ export default {
     },
     editTitles: {
       [POLICY_TYPE_COMPONENT_OPTIONS.scanResult.value]: s__(
-        'SecurityOrchestration|Edit scan result policy',
+        'SecurityOrchestration|Edit merge request approval policy',
+      ),
+      [POLICY_TYPE_COMPONENT_OPTIONS.approval.value]: s__(
+        'SecurityOrchestration|Edit merge request approval policy',
       ),
       [POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.value]: s__(
         'SecurityOrchestration|Edit scan execution policy',
@@ -110,7 +109,7 @@ export default {
 <template>
   <div>
     <header class="gl-border-b-none gl-mb-4">
-      <h3>{{ title }}</h3>
+      <h3 data-testid="title">{{ title }}</h3>
       <gl-path v-if="enableWizard" :items="glPathItems" @selected="handlePathSelection" />
     </header>
     <policy-type-selector v-if="!selectedPolicy" @select="policyFromUrl" />
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/editor_layout.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/editor_layout.vue
index b82d2e0acd77a75f947d9dc10e339afe1169743d..40f15320ed89e94fdf97e6ffdb015168c9b1acdd 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/editor_layout.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/editor_layout.vue
@@ -171,7 +171,8 @@ export default {
     },
     shouldShowRuntimeMessage() {
       return (
-        this.policy.type === POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter &&
+        (this.policy.type === POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter ||
+          this.policy.type === POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter) &&
         this.namespaceType !== NAMESPACE_TYPES.PROJECT
       );
     },
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/policy_type_selector.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/policy_type_selector.vue
index dbc3bb4a511b29ee301437f7f737fe3fcbae6074..d8978e0a629688866bea71e7cdf6ad364a9d2aea 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/policy_type_selector.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/policy_type_selector.vue
@@ -11,12 +11,12 @@ const i18n = {
   cancel: __('Cancel'),
   examples: __('Examples'),
   selectPolicy: s__('SecurityOrchestration|Select policy'),
-  scanResultPolicyTitle: s__('SecurityOrchestration|Scan result policy'),
+  scanResultPolicyTitle: s__('SecurityOrchestration|Merge request approval policy'),
   scanResultPolicyDesc: s__(
-    'SecurityOrchestration|Use a scan result policy to create rules that check for security vulnerabilities and license compliance before merging a merge request.',
+    'SecurityOrchestration|Use a merge request approval policy to create rules that check for security vulnerabilities and license compliance before merging a merge request.',
   ),
   scanResultPolicyExample: s__(
-    'SecurityOrchestration|If any scanner finds a newly detected critical vulnerability in an open merge request targeting the master branch, then require two approvals from any member of App security.',
+    'SecurityOrchestration|If any scanner finds a newly detected critical vulnerability in an open merge request targeting the main branch, then require two approvals from any two members of the application security team are required.',
   ),
   scanExecutionPolicyTitle: s__('SecurityOrchestration|Scan execution policy'),
   scanExecutionPolicyDesc: s__(
@@ -53,7 +53,7 @@ export default {
       return [
         {
           text: POLICY_TYPE_COMPONENT_OPTIONS.scanResult.text.toLowerCase(),
-          urlParameter: POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter,
+          urlParameter: POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter,
           title: i18n.scanResultPolicyTitle,
           description: i18n.scanResultPolicyDesc,
           example: i18n.scanResultPolicyExample,
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/editor_component.vue b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/editor_component.vue
index a38978482e66fde74312468c69c65c5306ba59d7..e7a54a44ddace1ba4a66dd81431f7aa9124a9c20 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/editor_component.vue
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/editor_component.vue
@@ -61,7 +61,7 @@ export default {
     createMergeRequest: __('Configure with a merge request'),
     notOwnerButtonText: __('Learn more'),
     notOwnerDescription: s__(
-      'SecurityOrchestration|Scan result policies can only be created by project owners.',
+      'SecurityOrchestration|Merge request approval policies can only be created by project owners.',
     ),
     settingsTitle: s__('ScanResultPolicy|Override project approval settings'),
     yamlPreview: s__('SecurityOrchestration|.yaml preview'),
diff --git a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/lib/index.js b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/lib/index.js
index fc298c0ef9b4ed0a6d45b97915608441f47fd8af..219651e5b24069847119473fde8c9ae833a083e5 100644
--- a/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/lib/index.js
+++ b/ee/app/assets/javascripts/security_orchestration/components/policy_editor/scan_result/lib/index.js
@@ -11,7 +11,7 @@ export * from './settings';
 export * from './vulnerability_states';
 export * from './filters';
 
-export const DEFAULT_PROJECT_SCAN_RESULT_POLICY = `type: scan_result_policy
+export const DEFAULT_PROJECT_SCAN_RESULT_POLICY = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -24,7 +24,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const DEFAULT_GROUP_SCAN_RESULT_POLICY = `type: scan_result_policy
+export const DEFAULT_GROUP_SCAN_RESULT_POLICY = `type: approval_policy
 name: ''
 description: ''
 enabled: true
diff --git a/ee/spec/frontend/security_orchestration/components/policies/list_component_spec.js b/ee/spec/frontend/security_orchestration/components/policies/list_component_spec.js
index 23d64ee2125805bd552e48d86335cf83337db614..8dd003b34ec88b3717fcfa7bc0ce3e3eb3755df4 100644
--- a/ee/spec/frontend/security_orchestration/components/policies/list_component_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policies/list_component_spec.js
@@ -147,7 +147,7 @@ describe('List component', () => {
     describe.each`
       rowIndex | expectedPolicyName                           | expectedPolicyType
       ${1}     | ${mockScanExecutionPoliciesResponse[0].name} | ${'Scan execution'}
-      ${3}     | ${mockScanResultPoliciesResponse[0].name}    | ${'Scan result'}
+      ${3}     | ${mockScanResultPoliciesResponse[0].name}    | ${'Merge request approval'}
     `('policy in row #$rowIndex', ({ rowIndex, expectedPolicyName, expectedPolicyType }) => {
       let row;
 
@@ -166,8 +166,8 @@ describe('List component', () => {
 
     it.each`
       description         | filterBy                                     | hiddenTypes
-      ${'scan execution'} | ${POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION} | ${[POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT]}
-      ${'scan result'}    | ${POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT}    | ${[POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION]}
+      ${'scan execution'} | ${POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION} | ${[POLICY_TYPE_FILTER_OPTIONS.APPROVAL]}
+      ${'scan result'}    | ${POLICY_TYPE_FILTER_OPTIONS.APPROVAL}       | ${[POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION]}
     `('policies filtered by $description type', async ({ filterBy, hiddenTypes }) => {
       findPolicyTypeFilter().vm.$emit('input', filterBy.value);
       await nextTick();
@@ -385,7 +385,7 @@ describe('List component', () => {
 
     it('displays inherited scan result policies', () => {
       expect(trimText(findPolicyTypeCells().at(1).text())).toBe(
-        POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.text,
+        POLICY_TYPE_FILTER_OPTIONS.APPROVAL.text,
       );
     });
   });
diff --git a/ee/spec/frontend/security_orchestration/components/policies/utils_spec.js b/ee/spec/frontend/security_orchestration/components/policies/utils_spec.js
index 67b1ef706797ec99014c93cc692e0f9ee24bd7ca..eaf10352b312416573421e7eee79a2ebbcac742e 100644
--- a/ee/spec/frontend/security_orchestration/components/policies/utils_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policies/utils_spec.js
@@ -34,7 +34,7 @@ describe('validateTypeFilter', () => {
     value                                                            | valid
     ${POLICY_TYPE_FILTER_OPTIONS.ALL.value}                          | ${true}
     ${POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION.value}               | ${true}
-    ${POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.value}                  | ${true}
+    ${POLICY_TYPE_FILTER_OPTIONS.APPROVAL.value}                     | ${true}
     ${''}                                                            | ${true}
     ${'invalid key'}                                                 | ${false}
     ${undefined}                                                     | ${false}
@@ -43,7 +43,7 @@ describe('validateTypeFilter', () => {
     ${0}                                                             | ${false}
     ${POLICY_TYPE_FILTER_OPTIONS.ALL.value.toLowerCase()}            | ${true}
     ${POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION.value.toLowerCase()} | ${true}
-    ${POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.value.toLowerCase()}    | ${true}
+    ${POLICY_TYPE_FILTER_OPTIONS.APPROVAL.value.toLowerCase()}       | ${true}
   `('should validate type filters', ({ value, valid }) => {
     expect(validateTypeFilter(value)).toBe(valid);
   });
@@ -54,7 +54,7 @@ describe('extractTypeParameter', () => {
     type                                                             | output
     ${POLICY_TYPE_FILTER_OPTIONS.ALL.value}                          | ${''}
     ${POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION.value}               | ${'SCAN_EXECUTION'}
-    ${POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.value}                  | ${'SCAN_RESULT'}
+    ${POLICY_TYPE_FILTER_OPTIONS.APPROVAL.value}                     | ${'APPROVAL'}
     ${''}                                                            | ${''}
     ${'invalid key'}                                                 | ${''}
     ${undefined}                                                     | ${''}
@@ -63,7 +63,8 @@ describe('extractTypeParameter', () => {
     ${0}                                                             | ${''}
     ${POLICY_TYPE_FILTER_OPTIONS.ALL.value.toLowerCase()}            | ${''}
     ${POLICY_TYPE_FILTER_OPTIONS.SCAN_EXECUTION.value.toLowerCase()} | ${'SCAN_EXECUTION'}
-    ${POLICY_TYPE_FILTER_OPTIONS.SCAN_RESULT.value.toLowerCase()}    | ${'SCAN_RESULT'}
+    ${POLICY_TYPE_FILTER_OPTIONS.APPROVAL.value.toLowerCase()}       | ${'APPROVAL'}
+    ${'scan_result'}                                                 | ${'APPROVAL'}
   `('should extract valid type parameter', ({ type, output }) => {
     expect(extractTypeParameter(type)).toBe(output);
   });
diff --git a/ee/spec/frontend/security_orchestration/components/policy_editor/app_spec.js b/ee/spec/frontend/security_orchestration/components/policy_editor/app_spec.js
index f214369005a285f18d8dcf2207cc7dd957d7dafd..3d3acff9bf432da6cec710ed811da4320117c2ee 100644
--- a/ee/spec/frontend/security_orchestration/components/policy_editor/app_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policy_editor/app_spec.js
@@ -13,6 +13,7 @@ describe('App component', () => {
   const findPolicySelection = () => wrapper.findComponent(PolicyTypeSelector);
   const findPolicyEditor = () => wrapper.findComponent(EditorWrapper);
   const findPath = () => wrapper.findComponent(GlPath);
+  const findTitle = () => wrapper.findByTestId('title').text();
 
   const factory = ({ provide = {} } = {}) => {
     wrapper = shallowMountExtended(App, {
@@ -32,19 +33,19 @@ describe('App component', () => {
       });
 
       it('should display the title correctly', () => {
-        expect(wrapper.findByText(App.i18n.titles.default).exists()).toBe(true);
+        expect(findTitle()).toBe('New policy');
       });
 
       it('should display the path items correctly', () => {
         expect(findPath().props('items')).toMatchObject([
           {
             selected: true,
-            title: App.i18n.choosePolicyType,
+            title: 'Step 1: Choose a policy type',
           },
           {
             disabled: true,
             selected: false,
-            title: App.i18n.policyDetails,
+            title: 'Step 2: Policy details',
           },
         ]);
       });
@@ -61,7 +62,7 @@ describe('App component', () => {
       });
 
       it('should display the title correctly', () => {
-        expect(wrapper.findByText(App.i18n.titles.default).exists()).toBe(true);
+        expect(findTitle()).toBe('New policy');
       });
 
       it('should display the correct view', () => {
@@ -73,12 +74,12 @@ describe('App component', () => {
         expect(findPath().props('items')).toMatchObject([
           {
             selected: true,
-            title: App.i18n.choosePolicyType,
+            title: 'Step 1: Choose a policy type',
           },
           {
             disabled: true,
             selected: false,
-            title: App.i18n.policyDetails,
+            title: 'Step 2: Policy details',
           },
         ]);
       });
@@ -86,36 +87,81 @@ describe('App component', () => {
   });
 
   describe('when there is a type query parameter', () => {
-    beforeEach(() => {
-      jest
-        .spyOn(urlUtils, 'getParameterByName')
-        .mockReturnValue(POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter);
-      factory({
-        provide: {
-          namespaceType: NAMESPACE_TYPES.PROJECT,
-          existingPolicy: {
-            id: 'policy-id',
+    describe('approval', () => {
+      beforeEach(() => {
+        jest
+          .spyOn(urlUtils, 'getParameterByName')
+          .mockReturnValue(POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter);
+        factory({
+          provide: {
+            namespaceType: NAMESPACE_TYPES.PROJECT,
+            existingPolicy: {
+              id: 'policy-id',
+              value: 'approval',
+            },
           },
-        },
+        });
+      });
+
+      it('should display the title correctly', () => {
+        expect(findTitle()).toBe('Edit merge request approval policy');
       });
-    });
 
-    it('should display the title correctly', () => {
-      expect(wrapper.findByText(App.i18n.editTitles.scanResult).exists()).toBe(true);
+      it('should not display the GlPath component when there is an existing policy', () => {
+        expect(findPath().exists()).toBe(false);
+      });
+
+      it('should display the correct view according to the selected policy', () => {
+        expect(findPolicySelection().exists()).toBe(false);
+        expect(findPolicyEditor().exists()).toBe(true);
+      });
     });
 
-    it('should not display the GlPath component when there is an existing policy', () => {
-      expect(findPath().exists()).toBe(false);
+    describe('scan execution', () => {
+      beforeEach(() => {
+        jest
+          .spyOn(urlUtils, 'getParameterByName')
+          .mockReturnValue(POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.urlParameter);
+        factory({
+          provide: {
+            namespaceType: NAMESPACE_TYPES.PROJECT,
+            existingPolicy: {
+              id: 'policy-id',
+              value: 'scanExecution',
+            },
+          },
+        });
+      });
+
+      it('should display the title correctly', () => {
+        expect(findTitle()).toBe('Edit scan execution policy');
+      });
     });
 
-    it('should display the correct view according to the selected policy', () => {
-      expect(findPolicySelection().exists()).toBe(false);
-      expect(findPolicyEditor().exists()).toBe(true);
+    describe('scan result', () => {
+      beforeEach(() => {
+        jest
+          .spyOn(urlUtils, 'getParameterByName')
+          .mockReturnValue(POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter);
+        factory({
+          provide: {
+            namespaceType: NAMESPACE_TYPES.PROJECT,
+            existingPolicy: {
+              id: 'policy-id',
+              value: 'scanResult',
+            },
+          },
+        });
+      });
+
+      it('should display the title correctly', () => {
+        expect(findTitle()).toBe('Edit merge request approval policy');
+      });
     });
   });
 
   it.each([
-    POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter,
+    POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter,
     POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.urlParameter,
   ])('should update url without page refresh when policy is selected', (parameter) => {
     document.title = 'Test title';
diff --git a/ee/spec/frontend/security_orchestration/components/policy_editor/editor_wrapper_spec.js b/ee/spec/frontend/security_orchestration/components/policy_editor/editor_wrapper_spec.js
index b33941e43dd38096ab9d19f0802acb44780d7067..3a93a282826257d9a6ca1243a07b3aa8f3b031da 100644
--- a/ee/spec/frontend/security_orchestration/components/policy_editor/editor_wrapper_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policy_editor/editor_wrapper_spec.js
@@ -71,7 +71,7 @@ describe('EditorWrapper component', () => {
       it.each`
         policyTypeId                                         | findComponent
         ${POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.value} | ${findScanExecutionPolicyEditor}
-        ${POLICY_TYPE_COMPONENT_OPTIONS.scanResult.value}    | ${findScanResultPolicyEditor}
+        ${POLICY_TYPE_COMPONENT_OPTIONS.approval.value}      | ${findScanResultPolicyEditor}
       `(
         'renders the policy editor of type $policyType when selected',
         async ({ findComponent, policyTypeId }) => {
diff --git a/ee/spec/frontend/security_orchestration/components/policy_editor/policy_type_selector_spec.js b/ee/spec/frontend/security_orchestration/components/policy_editor/policy_type_selector_spec.js
index 6e4b73babf82f4f46ac35bd9790d5a7e9f5af1eb..047d3e263ce06efb17d7b442481fddcd2aa9c467 100644
--- a/ee/spec/frontend/security_orchestration/components/policy_editor/policy_type_selector_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policy_editor/policy_type_selector_spec.js
@@ -49,11 +49,11 @@ describe('PolicyTypeSelector component', () => {
       });
 
       it('displays the button for policy types that have not reached their max number allowed', () => {
+        expect(findPolicyButton(POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter).exists()).toBe(
+          true,
+        );
         expect(
-          findPolicyButton(POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter).exists(),
-        ).toBe(true);
-        expect(
-          findMaxAllowedPolicyText(POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter).exists(),
+          findMaxAllowedPolicyText(POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter).exists(),
         ).toBe(false);
       });
 
@@ -79,7 +79,7 @@ describe('PolicyTypeSelector component', () => {
   });
 
   it.each([
-    POLICY_TYPE_COMPONENT_OPTIONS.scanResult.urlParameter,
+    POLICY_TYPE_COMPONENT_OPTIONS.approval.urlParameter,
     POLICY_TYPE_COMPONENT_OPTIONS.scanExecution.urlParameter,
   ])('should emit selected policy type', (parameter) => {
     factory({
diff --git a/ee/spec/frontend/security_orchestration/components/policy_editor/scan_result/editor_component_spec.js b/ee/spec/frontend/security_orchestration/components/policy_editor/scan_result/editor_component_spec.js
index 6a9faadcfa1ab365fb534e8282f2883f6dafdabb..ace0767f364595ba6aa3c9dffbfb364972e241c5 100644
--- a/ee/spec/frontend/security_orchestration/components/policy_editor/scan_result/editor_component_spec.js
+++ b/ee/spec/frontend/security_orchestration/components/policy_editor/scan_result/editor_component_spec.js
@@ -23,6 +23,8 @@ import {
   mockBlockAndForceSettingsManifest,
   mockDefaultBranchesScanResultManifest,
   mockDefaultBranchesScanResultObject,
+  mockDeprecatedScanResultManifest,
+  mockDeprecatedScanResultObject,
 } from 'ee_jest/security_orchestration/mocks/mock_scan_result_policy_data';
 import { unsupportedManifest } from 'ee_jest/security_orchestration/mocks/mock_data';
 import { visitUrl } from '~/lib/utils/url_utility';
@@ -218,6 +220,28 @@ describe('EditorComponent', () => {
         expect(emptyState.props('svgPath')).toBe(policyEditorEmptyStateSvgPath);
       });
     });
+
+    describe('existing policy', () => {
+      it('displays an approval policy', () => {
+        factoryWithExistingPolicy();
+        expect(findEmptyActionsAlert().exists()).toBe(false);
+        expect(findPolicyEditorLayout().props('yamlEditorValue')).toBe(
+          mockDefaultBranchesScanResultManifest,
+        );
+        expect(findAllRuleSections()).toHaveLength(1);
+        expect(findAllActionSections()).toHaveLength(1);
+      });
+
+      it('displays a scan result policy', () => {
+        factoryWithExistingPolicy({ policy: mockDeprecatedScanResultObject });
+        expect(findPolicyEditorLayout().props('hasParsingError')).toBe(false);
+        expect(findPolicyEditorLayout().props('yamlEditorValue')).toBe(
+          mockDeprecatedScanResultManifest,
+        );
+        expect(findAllRuleSections()).toHaveLength(1);
+        expect(findAllActionSections()).toHaveLength(1);
+      });
+    });
   });
 
   describe('rule mode updates', () => {
diff --git a/ee/spec/frontend/security_orchestration/mocks/mock_scan_result_policy_data.js b/ee/spec/frontend/security_orchestration/mocks/mock_scan_result_policy_data.js
index 35b848afbf5ed38584a1abd2f9efc3f6de48a84d..1622812a1820879fd9d53fdac7b91ff0bdeb18d5 100644
--- a/ee/spec/frontend/security_orchestration/mocks/mock_scan_result_policy_data.js
+++ b/ee/spec/frontend/security_orchestration/mocks/mock_scan_result_policy_data.js
@@ -10,7 +10,7 @@
  */
 import { actionId, ruleId } from './mock_data';
 
-export const mockForcePushSettingsManifest = `type: scan_result_policy
+export const mockForcePushSettingsManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -23,7 +23,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockBlockAndForceSettingsManifest = `type: scan_result_policy
+export const mockBlockAndForceSettingsManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -37,7 +37,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockDefaultBranchesScanResultManifest = `type: scan_result_policy
+export const mockDefaultBranchesScanResultManifest = `type: approval_policy
 name: critical vulnerability CS approvals
 description: This policy enforces critical vulnerability CS approvals
 enabled: true
@@ -59,6 +59,53 @@ actions:
 `;
 
 export const mockDefaultBranchesScanResultObject = {
+  type: 'approval_policy',
+  name: 'critical vulnerability CS approvals',
+  description: 'This policy enforces critical vulnerability CS approvals',
+  enabled: true,
+  rules: [
+    {
+      type: 'scan_finding',
+      branches: [],
+      scanners: ['container_scanning'],
+      vulnerabilities_allowed: 1,
+      severity_levels: ['critical'],
+      vulnerability_states: ['newly_detected'],
+      id: ruleId,
+    },
+  ],
+  actions: [
+    {
+      type: 'require_approval',
+      approvals_required: 1,
+      user_approvers: ['the.one'],
+      id: actionId,
+    },
+  ],
+};
+
+export const mockDeprecatedScanResultManifest = `type: scan_result_policy
+name: critical vulnerability CS approvals
+description: This policy enforces critical vulnerability CS approvals
+enabled: true
+rules:
+  - type: scan_finding
+    branches: []
+    scanners:
+      - container_scanning
+    vulnerabilities_allowed: 1
+    severity_levels:
+      - critical
+    vulnerability_states:
+      - newly_detected
+actions:
+  - type: require_approval
+    approvals_required: 1
+    user_approvers:
+      - the.one
+`;
+
+export const mockDeprecatedScanResultObject = {
   type: 'scan_result_policy',
   name: 'critical vulnerability CS approvals',
   description: 'This policy enforces critical vulnerability CS approvals',
@@ -89,7 +136,7 @@ export const mockProjectScanResultPolicy = {
   name: mockDefaultBranchesScanResultObject.name,
   updatedAt: new Date('2021-06-07T00:00:00.000Z'),
   yaml: mockDefaultBranchesScanResultManifest,
-  editPath: '/policies/policy-name/edit?type="scan_result_policy"',
+  editPath: '/policies/policy-name/edit?type="approval_policy"',
   enabled: false,
   userApprovers: [],
   allGroupApprovers: [],
@@ -107,7 +154,7 @@ export const mockGroupScanResultPolicy = {
   name: mockDefaultBranchesScanResultObject.name,
   updatedAt: new Date('2021-06-07T00:00:00.000Z'),
   yaml: mockDefaultBranchesScanResultManifest,
-  editPath: '/policies/policy-name/edit?type="scan_result_policy"',
+  editPath: '/policies/policy-name/edit?type="approval_policy"',
   enabled: mockDefaultBranchesScanResultObject.enabled,
   userApprovers: [],
   allGroupApprovers: [],
@@ -124,7 +171,7 @@ export const mockGroupScanResultPolicy = {
   },
 };
 
-export const mockApprovalSettingsScanResultManifest = `type: scan_result_policy
+export const mockApprovalSettingsScanResultManifest = `type: approval_policy
 name: critical vulnerability CS approvals
 description: This policy enforces critical vulnerability CS approvals
 enabled: true
@@ -148,7 +195,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockApprovalSettingsPermittedInvalidScanResultManifest = `type: scan_result_policy
+export const mockApprovalSettingsPermittedInvalidScanResultManifest = `type: approval_policy
 name: critical vulnerability CS approvals
 description: This policy enforces critical vulnerability CS approvals
 enabled: true
@@ -172,7 +219,7 @@ approval_settings:
     enabled: true
 `;
 
-export const mockPolicyScopeScanResultManifest = `type: scan_result_policy
+export const mockPolicyScopeScanResultManifest = `type: approval_policy
 name: policy scope
 description: This policy enforces policy scope
 enabled: true
@@ -184,7 +231,7 @@ policy_scope:
 `;
 
 export const mockPolicyScopeScanResultObject = {
-  type: 'scan_result_policy',
+  type: 'approval_policy',
   name: 'policy scope',
   description: 'This policy enforces policy scope',
   enabled: true,
@@ -196,7 +243,7 @@ export const mockPolicyScopeScanResultObject = {
 };
 
 export const mockApprovalSettingsScanResultObject = {
-  type: 'scan_result_policy',
+  type: 'approval_policy',
   name: 'critical vulnerability CS approvals',
   description: 'This policy enforces critical vulnerability CS approvals',
   enabled: true,
@@ -230,7 +277,7 @@ export const mockApprovalSettingsScanResultPolicy = {
   name: 'low vulnerability SAST approvals',
   updatedAt: new Date('2021-06-07T00:00:00.000Z'),
   yaml: mockApprovalSettingsScanResultManifest,
-  editPath: '/policies/policy-name/edit?type="scan_result_policy"',
+  editPath: '/policies/policy-name/edit?type="approval_policy"',
   enabled: true,
   userApprovers: [{ name: 'the.one' }],
   allGroupApprovers: [],
@@ -245,7 +292,7 @@ export const mockApprovalSettingsScanResultPolicy = {
 };
 
 export const mockApprovalSettingsPermittedInvalidScanResultObject = {
-  type: 'scan_result_policy',
+  type: 'approval_policy',
   name: 'critical vulnerability CS approvals',
   description: 'This policy enforces critical vulnerability CS approvals',
   enabled: true,
@@ -292,7 +339,7 @@ actions:
     approvals_required: 1
 `;
 
-export const mockWithBranchesScanResultManifest = `type: scan_result_policy
+export const mockWithBranchesScanResultManifest = `type: approval_policy
 name: low vulnerability SAST approvals
 description: This policy enforces low vulnerability SAST approvals
 enabled: true
@@ -319,7 +366,7 @@ export const mockProjectWithBranchesScanResultPolicy = {
   name: 'low vulnerability SAST approvals',
   updatedAt: new Date('2021-06-07T00:00:00.000Z'),
   yaml: mockWithBranchesScanResultManifest,
-  editPath: '/policies/policy-name/edit?type="scan_result_policy"',
+  editPath: '/policies/policy-name/edit?type="approval_policy"',
   enabled: true,
   userApprovers: [{ name: 'the.one' }],
   allGroupApprovers: [],
@@ -337,7 +384,7 @@ export const mockProjectWithAllApproverTypesScanResultPolicy = {
   name: mockDefaultBranchesScanResultObject.name,
   updatedAt: new Date('2021-06-07T00:00:00.000Z'),
   yaml: mockDefaultBranchesScanResultManifest,
-  editPath: '/policies/policy-name/edit?type="scan_result_policy"',
+  editPath: '/policies/policy-name/edit?type="approval_policy"',
   enabled: false,
   userApprovers: [{ name: 'the.one' }],
   allGroupApprovers: [{ fullPath: 'the.one.group' }],
diff --git a/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/action_mocks.js b/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/action_mocks.js
index 803c6cb62b15650475dde2ee08edcd4f8c4b5071..771ddbf97d3eff7db6e14e28ea69f44b832f15fc 100644
--- a/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/action_mocks.js
+++ b/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/action_mocks.js
@@ -17,7 +17,7 @@ export const GROUP = {
   type: GROUP_TYPE,
 };
 
-export const mockRoleApproversScanResultManifest = `type: scan_result_policy
+export const mockRoleApproversApprovalManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -32,7 +32,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockUserApproversScanResultManifest = `type: scan_result_policy
+export const mockUserApproversApprovalManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -47,7 +47,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockGroupApproversScanResultManifest = `type: scan_result_policy
+export const mockGroupApproversApprovalManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
diff --git a/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/rule_mocks.js b/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/rule_mocks.js
index a726b543f2938ff00cc3b5a0cab109824af66789..f31b7a5892c2ddc327374edb3e71162a2a9f95ff 100644
--- a/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/rule_mocks.js
+++ b/ee/spec/frontend_integration/security_orchestration/policy_editor/mocks/rule_mocks.js
@@ -1,4 +1,4 @@
-export const mockSecurityScanResultManifest = `type: scan_result_policy
+export const mockSecurityApprovalManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -16,7 +16,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockLicenseScanResultManifest = `type: scan_result_policy
+export const mockLicenseApprovalManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
@@ -33,7 +33,7 @@ approval_settings:
   prevent_pushing_and_force_pushing: true
 `;
 
-export const mockAnyMergeRequestScanResultManifest = `type: scan_result_policy
+export const mockAnyMergeRequestApprovalManifest = `type: approval_policy
 name: ''
 description: ''
 enabled: true
diff --git a/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/actions_spec.js b/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/actions_spec.js
index bd82f6d9a6707ad3a1e3c8266f14d5adc9607d24..be81eea36b5bd48279b192409e2445092a43189d 100644
--- a/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/actions_spec.js
+++ b/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/actions_spec.js
@@ -12,9 +12,9 @@ import {
   DEFAULT_ASSIGNED_POLICY_PROJECT,
 } from 'ee/security_orchestration/constants';
 import {
-  mockGroupApproversScanResultManifest,
-  mockRoleApproversScanResultManifest,
-  mockUserApproversScanResultManifest,
+  mockGroupApproversApprovalManifest,
+  mockRoleApproversApprovalManifest,
+  mockUserApproversApprovalManifest,
   USER,
   GROUP,
 } from '../mocks/action_mocks';
@@ -91,7 +91,7 @@ describe('Scan result policy actions', () => {
       await findRoleSelect().vm.$emit('updateSelectedApprovers', [DEVELOPER]);
       await findApprovalsInput().vm.$emit('update', 2);
 
-      await verify({ manifest: mockRoleApproversScanResultManifest, verifyRuleMode, wrapper });
+      await verify({ manifest: mockRoleApproversApprovalManifest, verifyRuleMode, wrapper });
     });
   });
 
@@ -111,7 +111,7 @@ describe('Scan result policy actions', () => {
       await findUserSelect().vm.$emit('updateSelectedApprovers', [USER]);
       await findApprovalsInput().vm.$emit('update', 2);
 
-      await verify({ manifest: mockUserApproversScanResultManifest, verifyRuleMode, wrapper });
+      await verify({ manifest: mockUserApproversApprovalManifest, verifyRuleMode, wrapper });
     });
   });
 
@@ -131,7 +131,7 @@ describe('Scan result policy actions', () => {
       await findGroupSelect().vm.$emit('updateSelectedApprovers', [GROUP]);
       await findApprovalsInput().vm.$emit('update', 2);
 
-      await verify({ manifest: mockGroupApproversScanResultManifest, verifyRuleMode, wrapper });
+      await verify({ manifest: mockGroupApproversApprovalManifest, verifyRuleMode, wrapper });
     });
   });
 });
diff --git a/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/rules_spec.js b/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/rules_spec.js
index 45f8bee4adc815377b3db286c492d43a234db101..b85d21ff1ed6630544123a6da6fa1ec5b73f1521 100644
--- a/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/rules_spec.js
+++ b/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/rules_spec.js
@@ -16,9 +16,9 @@ import {
 } from 'ee/security_orchestration/components/policy_editor/scan_result/lib';
 import { DEFAULT_PROVIDE } from '../mocks/mocks';
 import {
-  mockSecurityScanResultManifest,
-  mockLicenseScanResultManifest,
-  mockAnyMergeRequestScanResultManifest,
+  mockSecurityApprovalManifest,
+  mockLicenseApprovalManifest,
+  mockAnyMergeRequestApprovalManifest,
 } from '../mocks/rule_mocks';
 import { verify } from '../utils';
 
@@ -72,7 +72,7 @@ describe('Scan result policy rules', () => {
 
       await findScanTypeSelect().vm.$emit('select', SCAN_FINDING);
       await verify({
-        manifest: mockSecurityScanResultManifest,
+        manifest: mockSecurityApprovalManifest,
         verifyRuleMode,
         wrapper,
       });
@@ -84,14 +84,14 @@ describe('Scan result policy rules', () => {
       createWrapper();
     });
 
-    it('should select licence rule', async () => {
+    it('should select license rule', async () => {
       const verifyRuleMode = () => {
         expect(findDefaultRuleBuilder().exists()).toBe(false);
         expect(findLicenseScanRuleBuilder().exists()).toBe(true);
         expect(findSettingsSection().exists()).toBe(true);
       };
       await findScanTypeSelect().vm.$emit('select', LICENSE_FINDING);
-      await verify({ manifest: mockLicenseScanResultManifest, verifyRuleMode, wrapper });
+      await verify({ manifest: mockLicenseApprovalManifest, verifyRuleMode, wrapper });
     });
   });
 
@@ -109,7 +109,7 @@ describe('Scan result policy rules', () => {
       };
 
       await findScanTypeSelect().vm.$emit('select', ANY_MERGE_REQUEST);
-      await verify({ manifest: mockAnyMergeRequestScanResultManifest, verifyRuleMode, wrapper });
+      await verify({ manifest: mockAnyMergeRequestApprovalManifest, verifyRuleMode, wrapper });
     });
   });
 });
diff --git a/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/scan_result_spec.js b/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/scan_result_spec.js
index 30c7070d179a269d9ed4d0641ee9d9e93e24d167..dd1e9eb20a8d64f2b544a701e27ae6d1d50e4ecc 100644
--- a/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/scan_result_spec.js
+++ b/ee/spec/frontend_integration/security_orchestration/policy_editor/scan_result/scan_result_spec.js
@@ -25,7 +25,7 @@ describe('Policy Editor', () => {
   };
 
   const findSelectScanResultPolicyButton = () =>
-    wrapper.findByTestId('select-policy-scan_result_policy');
+    wrapper.findByTestId('select-policy-approval_policy');
   const findYamlPreview = () => wrapper.findByTestId('rule-editor-preview');
   const findEmptyState = () => wrapper.findComponent(GlEmptyState);
   const findActionSection = () => wrapper.findComponent(ActionSection);
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index a7d81ee62a53f63696ed0926cf5061b6dc6d691e..01ed6de93c57cb7b8b99088e33513673a2a66d99 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -44363,6 +44363,9 @@ msgstr ""
 msgid "SecurityOrchestration|Don't show the alert anymore"
 msgstr ""
 
+msgid "SecurityOrchestration|Edit merge request approval policy"
+msgstr ""
+
 msgid "SecurityOrchestration|Edit policy"
 msgstr ""
 
@@ -44372,9 +44375,6 @@ msgstr ""
 msgid "SecurityOrchestration|Edit scan execution policy"
 msgstr ""
 
-msgid "SecurityOrchestration|Edit scan result policy"
-msgstr ""
-
 msgid "SecurityOrchestration|Empty policy name"
 msgstr ""
 
@@ -44429,7 +44429,7 @@ msgstr ""
 msgid "SecurityOrchestration|Hide extra projects"
 msgstr ""
 
-msgid "SecurityOrchestration|If any scanner finds a newly detected critical vulnerability in an open merge request targeting the master branch, then require two approvals from any member of App security."
+msgid "SecurityOrchestration|If any scanner finds a newly detected critical vulnerability in an open merge request targeting the main branch, then require two approvals from any two members of the application security team are required."
 msgstr ""
 
 msgid "SecurityOrchestration|Individual users"
@@ -44465,13 +44465,22 @@ msgstr ""
 msgid "SecurityOrchestration|Logic error"
 msgstr ""
 
-msgid "SecurityOrchestration|New policy"
+msgid "SecurityOrchestration|Merge request approval"
 msgstr ""
 
-msgid "SecurityOrchestration|New scan execution policy"
+msgid "SecurityOrchestration|Merge request approval policies can only be created by project owners."
+msgstr ""
+
+msgid "SecurityOrchestration|Merge request approval policy"
+msgstr ""
+
+msgid "SecurityOrchestration|New merge request approval policy"
+msgstr ""
+
+msgid "SecurityOrchestration|New policy"
 msgstr ""
 
-msgid "SecurityOrchestration|New scan result policy"
+msgid "SecurityOrchestration|New scan execution policy"
 msgstr ""
 
 msgid "SecurityOrchestration|No actions defined - policy will not run."
@@ -44587,12 +44596,6 @@ msgstr ""
 msgid "SecurityOrchestration|Save changes"
 msgstr ""
 
-msgid "SecurityOrchestration|Scan Execution"
-msgstr ""
-
-msgid "SecurityOrchestration|Scan Result"
-msgstr ""
-
 msgid "SecurityOrchestration|Scan execution"
 msgstr ""
 
@@ -44602,15 +44605,6 @@ msgstr ""
 msgid "SecurityOrchestration|Scan execution policy"
 msgstr ""
 
-msgid "SecurityOrchestration|Scan result"
-msgstr ""
-
-msgid "SecurityOrchestration|Scan result policies can only be created by project owners."
-msgstr ""
-
-msgid "SecurityOrchestration|Scan result policy"
-msgstr ""
-
 msgid "SecurityOrchestration|Scan will automatically choose a runner to run on because there are no tags exist on runners. You can %{linkStart}create a new tag in settings%{linkEnd}."
 msgstr ""
 
@@ -44746,10 +44740,10 @@ msgstr ""
 msgid "SecurityOrchestration|Update scan policies"
 msgstr ""
 
-msgid "SecurityOrchestration|Use a scan execution policy to create rules which enforce security scans for particular branches at a certain time. Supported types are SAST, SAST IaC, DAST, Secret detection, Container scanning, and Dependency scanning."
+msgid "SecurityOrchestration|Use a merge request approval policy to create rules that check for security vulnerabilities and license compliance before merging a merge request."
 msgstr ""
 
-msgid "SecurityOrchestration|Use a scan result policy to create rules that check for security vulnerabilities and license compliance before merging a merge request."
+msgid "SecurityOrchestration|Use a scan execution policy to create rules which enforce security scans for particular branches at a certain time. Supported types are SAST, SAST IaC, DAST, Secret detection, Container scanning, and Dependency scanning."
 msgstr ""
 
 msgid "SecurityOrchestration|View policy project"