diff --git a/app/assets/javascripts/confirm_danger_modal.js b/app/assets/javascripts/confirm_danger_modal.js
deleted file mode 100644
index ad70d9be16fad2968fbb886d953e11fab0c80682..0000000000000000000000000000000000000000
--- a/app/assets/javascripts/confirm_danger_modal.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import $ from 'jquery';
-import { Rails } from '~/lib/utils/rails_ujs';
-import { rstrip } from './lib/utils/common_utils';
-
-function openConfirmDangerModal($form, $modal, text) {
-  const $input = $('.js-legacy-confirm-danger-input', $modal);
-  $input.val('');
-
-  $('.js-confirm-text', $modal).text(text || '');
-  $modal.modal('show');
-
-  const confirmTextMatch = $('.js-legacy-confirm-danger-match', $modal).text();
-  const $submit = $('.js-legacy-confirm-danger-submit', $modal);
-  $submit.disable();
-  $input.focus();
-
-  // eslint-disable-next-line @gitlab/no-global-event-off
-  $input.off('input').on('input', function handleInput() {
-    const confirmText = rstrip($(this).val());
-    if (confirmText === confirmTextMatch) {
-      $submit.enable();
-    } else {
-      $submit.disable();
-    }
-  });
-
-  // eslint-disable-next-line @gitlab/no-global-event-off
-  $('.js-legacy-confirm-danger-submit', $modal)
-    .off('click')
-    .on('click', () => {
-      if ($form.data('remote')) {
-        Rails.fire($form[0], 'submit');
-      } else {
-        $form.submit();
-      }
-    });
-}
-
-function getModal($btn) {
-  const $modal = $btn.prev('.modal');
-
-  if ($modal.length) {
-    return $modal;
-  }
-
-  return $('#modal-confirm-danger');
-}
-
-export default function initConfirmDangerModal() {
-  $(document).on('click', '.js-legacy-confirm-danger', (e) => {
-    const $btn = $(e.target);
-    const checkFieldName = $btn.data('checkFieldName');
-    const checkFieldCompareValue = $btn.data('checkCompareValue');
-    const checkFieldVal = parseInt($(`[name="${checkFieldName}"]`).val(), 10);
-
-    if (!checkFieldName || checkFieldVal < checkFieldCompareValue) {
-      e.preventDefault();
-      const $form = $btn.closest('form');
-      const $modal = getModal($btn);
-      const text = $btn.data('confirmDangerMessage');
-      openConfirmDangerModal($form, $modal, text);
-    }
-  });
-}
diff --git a/app/assets/javascripts/pages/groups/edit/index.js b/app/assets/javascripts/pages/groups/edit/index.js
index 604da77f60cfaebc73ec9ffa27bba1d96cfeb9f0..69ecd52c6d304566c7957d0c66c98931335a9966 100644
--- a/app/assets/javascripts/pages/groups/edit/index.js
+++ b/app/assets/javascripts/pages/groups/edit/index.js
@@ -1,5 +1,4 @@
 import { GROUP_BADGE } from '~/badges/constants';
-import initConfirmDangerModal from '~/confirm_danger_modal';
 import dirtySubmitFactory from '~/dirty_submit/dirty_submit_factory';
 import initFilePickers from '~/file_pickers';
 import TransferDropdown from '~/groups/transfer_dropdown';
@@ -14,7 +13,6 @@ import initConfirmDanger from '~/init_confirm_danger';
 
 document.addEventListener('DOMContentLoaded', () => {
   initFilePickers();
-  initConfirmDangerModal();
   initConfirmDanger();
   initSettingsPanels();
   dirtySubmitFactory(
diff --git a/app/assets/javascripts/pages/projects/edit/index.js b/app/assets/javascripts/pages/projects/edit/index.js
index 100ca5b36d9c893dac7b3422bb31633c7cfed167..c0eb2a8fd779a797db843d2322d969a3780d3cf8 100644
--- a/app/assets/javascripts/pages/projects/edit/index.js
+++ b/app/assets/javascripts/pages/projects/edit/index.js
@@ -1,5 +1,4 @@
 import { PROJECT_BADGE } from '~/badges/constants';
-import initLegacyConfirmDangerModal from '~/confirm_danger_modal';
 import initConfirmDanger from '~/init_confirm_danger';
 import dirtySubmitFactory from '~/dirty_submit/dirty_submit_factory';
 import initFilePickers from '~/file_pickers';
@@ -15,7 +14,6 @@ import initProjectPermissionsSettings from '../shared/permissions';
 import initProjectLoadingSpinner from '../shared/save_project_loader';
 
 initFilePickers();
-initLegacyConfirmDangerModal();
 initConfirmDanger();
 initSettingsPanels();
 initProjectDeleteButton();
diff --git a/app/views/groups/edit.html.haml b/app/views/groups/edit.html.haml
index 420771257c99f349d65b3f90ade36b50c32bda58..79e023e2589cc33781168019dbf5ecb23feb8a5a 100644
--- a/app/views/groups/edit.html.haml
+++ b/app/views/groups/edit.html.haml
@@ -60,4 +60,3 @@
 
 = render_if_exists 'shared/groups/max_pages_size_setting'
 
-= render 'shared/confirm_modal', phrase: @group.path
diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index 3300c627c845953b18cc46f8f22030759c6fbb74..1cb935307afcc2db4eba58385775ab79e82740bf 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -110,5 +110,3 @@
       .gl-spinner.gl-spinner-md.align-text-bottom
       = _('Saving project.')
     %p= _('Please wait a moment, this page will automatically refresh when ready.')
-
-= render 'shared/confirm_modal', phrase: @project.path
diff --git a/app/views/shared/_confirm_modal.html.haml b/app/views/shared/_confirm_modal.html.haml
deleted file mode 100644
index 4cb3f6d1739ac85b3b5d10d1ed31f81dc8364ac5..0000000000000000000000000000000000000000
--- a/app/views/shared/_confirm_modal.html.haml
+++ /dev/null
@@ -1,21 +0,0 @@
-#modal-confirm-danger.modal.qa-confirm-modal{ tabindex: -1 }
-  .modal-dialog
-    .modal-content
-      .modal-header
-        %h3.page-title= _('Confirmation required')
-        %button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
-          %span{ "aria-hidden": "true" } &times;
-
-      .modal-body
-        %p.text-danger.js-confirm-text
-
-        %p
-          %span.js-warning-text= _('This action can lead to data loss. To prevent accidental actions we ask you to confirm your intention.')
-          %br
-            - phrase_code = '<code class="js-legacy-confirm-danger-match">%{phrase_name}</code>'.html_safe % { phrase_name: phrase }
-            = _('Please type %{phrase_code} to proceed or close this modal to cancel.').html_safe % { phrase_code: phrase_code }
-
-        .form-group
-          = text_field_tag 'confirm_name_input', '', class: 'form-control js-legacy-confirm-danger-input qa-confirm-input'
-        .form-actions
-          = submit_tag _('Confirm'), class: "gl-button btn btn-danger js-legacy-confirm-danger-submit qa-confirm-button"
diff --git a/qa/qa/page/component/confirm_modal.rb b/qa/qa/page/component/confirm_modal.rb
index 25eea8e0d939e718aad456909de5991eff11d81b..a90be76c879fbd8ce96ee1fae772a77f23c8d4bd 100644
--- a/qa/qa/page/component/confirm_modal.rb
+++ b/qa/qa/page/component/confirm_modal.rb
@@ -8,12 +8,6 @@ module ConfirmModal
 
         def self.included(base)
           super
-
-          base.view 'app/views/shared/_confirm_modal.html.haml' do
-            element :confirm_modal
-            element :confirm_input
-            element :confirm_button
-          end
         end
 
         def fill_confirmation_text(text)