diff --git a/app/components/key_pair_generator_component.html.erb b/app/components/key_pair_generator_component.html.erb
deleted file mode 100644
index aa020b71599..00000000000
--- a/app/components/key_pair_generator_component.html.erb
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/components/key_pair_generator_component.js b/app/components/key_pair_generator_component.js
deleted file mode 100644
index 640d8159c72..00000000000
--- a/app/components/key_pair_generator_component.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import { trackEvent } from '@18f/identity-analytics';
-
-class KeyPairGeneratorElement extends HTMLElement {
- connectedCallback() {
- this.logDuration();
- }
-
- async logDuration() {
- const duration = await this.generateKeyPairDuration();
- trackEvent('IdV: key pair generation', {
- duration: Math.round(duration),
- location: this.dataset.location,
- });
- }
-
- async generateKeyPairDuration() {
- const t0 = performance.now();
-
- const keypair = await crypto.subtle.generateKey(
- {
- name: 'RSA-OAEP',
- modulusLength: 4096,
- publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
- hash: 'SHA-256',
- },
- true,
- ['encrypt', 'decrypt'],
- );
- const encodedPrivateKey = await crypto.subtle.exportKey('pkcs8', keypair.privateKey);
- this.privateB64key = btoa(String.fromCharCode.apply(null, new Uint8Array(encodedPrivateKey)));
-
- const encodedPublicKey = await crypto.subtle.exportKey('spki', keypair.publicKey);
- this.publicB64key = btoa(String.fromCharCode.apply(null, new Uint8Array(encodedPublicKey)));
-
- const t1 = performance.now();
- return t1 - t0; // milliseconds
- }
-}
-
-customElements.define('lg-key-pair-generator', KeyPairGeneratorElement);
diff --git a/app/components/key_pair_generator_component.rb b/app/components/key_pair_generator_component.rb
deleted file mode 100644
index 97d0c9ab1f9..00000000000
--- a/app/components/key_pair_generator_component.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-class KeyPairGeneratorComponent < BaseComponent
- attr_reader :location
-
- def initialize(location:)
- @location = location
- end
-
- def render?
- AbTests::KEY_PAIR_GENERATION.bucket(SecureRandom.uuid) == :key_pair_group
- end
-end
diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb
index 156b94e5597..63248e1193f 100644
--- a/app/views/devise/sessions/new.html.erb
+++ b/app/views/devise/sessions/new.html.erb
@@ -32,7 +32,6 @@
required: true,
wrapper_html: { class: 'margin-top-6' },
) %>
- <%= render KeyPairGeneratorComponent.new(location: 'sign_in') %>
<%= f.input :request_id, as: :hidden, input_html: { value: @request_id } %>
<%= f.submit t('links.next'), full_width: true, wide: false %>
diff --git a/config/application.yml.default b/config/application.yml.default
index 19a526b4c9f..b94ed07e23f 100644
--- a/config/application.yml.default
+++ b/config/application.yml.default
@@ -134,7 +134,6 @@ irs_attempt_api_payload_size_logging_enabled: true
kantara_2fa_phone_restricted: false
kantara_2fa_phone_existing_user_restriction: false
kantara_restriction_enforcement_date: '2022-07-19'
-key_pair_generation_percent: 0
liveness_checking_enabled: false
logins_per_ip_track_only_mode: false
# LexisNexis #####################################################
diff --git a/config/initializers/ab_tests.rb b/config/initializers/ab_tests.rb
index e961b520cdc..b57d5a84526 100644
--- a/config/initializers/ab_tests.rb
+++ b/config/initializers/ab_tests.rb
@@ -18,11 +18,4 @@ module AbTests
nil,
}.compact,
)
-
- KEY_PAIR_GENERATION = AbTestBucket.new(
- experiment_name: 'Key Pair Generation',
- buckets: {
- key_pair_group: IdentityConfig.store.key_pair_generation_percent,
- },
- )
end
diff --git a/lib/identity_config.rb b/lib/identity_config.rb
index cf347e2b792..fcce823e90d 100644
--- a/lib/identity_config.rb
+++ b/lib/identity_config.rb
@@ -215,7 +215,6 @@ def self.build_store(config_map)
config.add(:kantara_2fa_phone_restricted, type: :boolean)
config.add(:kantara_2fa_phone_existing_user_restriction, type: :boolean)
config.add(:kantara_restriction_enforcement_date, type: :timestamp)
- config.add(:key_pair_generation_percent, type: :integer)
config.add(:lexisnexis_base_url, type: :string)
config.add(:lexisnexis_request_mode, type: :string)
config.add(:lexisnexis_account_id, type: :string)
diff --git a/spec/features/users/key_pair_generation_spec.rb b/spec/features/users/key_pair_generation_spec.rb
deleted file mode 100644
index eac30a00e54..00000000000
--- a/spec/features/users/key_pair_generation_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-require 'rails_helper'
-
-feature 'Generate key pair on Sign in' do
- before do
- stub_const('AbTests::KEY_PAIR_GENERATION', FakeAbTestBucket.new)
- end
-
- context 'key pair generation disabled' do
- before do
- AbTests::KEY_PAIR_GENERATION.assign_all(:default)
- end
-
- it 'does not include a key pair generator on the page' do
- visit '/'
- expect(page).not_to have_css('lg-key-pair-generator')
- end
- end
-
- context 'key pair generation enabled' do
- before do
- AbTests::KEY_PAIR_GENERATION.assign_all(:key_pair_group)
- end
-
- it 'includes a key pair generator on the page' do
- visit '/'
- expect(page).to have_css('lg-key-pair-generator')
- end
- end
-end