diff --git a/ee/app/models/concerns/identity_verifiable.rb b/ee/app/models/concerns/identity_verifiable.rb
index 0dfe87dd0b3fbb91811be5c4b7f91c86bf60cef4..6f563d54a7844582dbfa76ad3f07d738aed702d9 100644
--- a/ee/app/models/concerns/identity_verifiable.rb
+++ b/ee/app/models/concerns/identity_verifiable.rb
@@ -87,10 +87,14 @@ def email_verified?
   end
 
   def credit_card_verification_enabled?
-    Feature.enabled?(:identity_verification_credit_card)
+    return false unless is_a?(User)
+
+    Feature.enabled?(:identity_verification_credit_card, self)
   end
 
   def phone_number_verification_enabled?
-    Feature.enabled?(:identity_verification_phone_number)
+    return false unless is_a?(User)
+
+    Feature.enabled?(:identity_verification_phone_number, self)
   end
 end
diff --git a/ee/spec/features/users/identity_verification_spec.rb b/ee/spec/features/users/identity_verification_spec.rb
index 87c73f2f59d9f1d48a853b7e7ef99bfa96dd2690..73149ca26bc91809171b7a83e791bcfe91705c7d 100644
--- a/ee/spec/features/users/identity_verification_spec.rb
+++ b/ee/spec/features/users/identity_verification_spec.rb
@@ -139,7 +139,7 @@
 
       expect(page).to have_current_path(success_identity_verification_path)
 
-      stub_feature_flags(identity_verification_credit_card: true)
+      stub_feature_flags(identity_verification_credit_card: user)
 
       sign_out(user)
 
diff --git a/ee/spec/models/concerns/identity_verifiable_spec.rb b/ee/spec/models/concerns/identity_verifiable_spec.rb
index 8979c82ead198db33e2640bb5aad6e32b43d1fe5..4d805dab4bdf9b0d16ff0de1014ce5f7f3515ffd 100644
--- a/ee/spec/models/concerns/identity_verifiable_spec.rb
+++ b/ee/spec/models/concerns/identity_verifiable_spec.rb
@@ -92,6 +92,35 @@ def add_user_risk_band(value)
 
       it { is_expected.to eq(result) }
     end
+
+    context 'when flag is enabled for a specific user' do
+      let_it_be(:another_user) { create(:user) }
+
+      where(:risk_band, :credit_card, :phone_number, :result) do
+        'High'   | true  | false | %w[credit_card email]
+        'Medium' | false | true  | %w[phone email]
+      end
+
+      with_them do
+        before do
+          stub_feature_flags(
+            identity_verification_phone_number: false,
+            identity_verification_credit_card: false
+          )
+
+          add_user_risk_band(risk_band)
+          create(:user_custom_attribute, key: 'arkose_risk_band', value: risk_band, user: another_user)
+
+          stub_feature_flags(identity_verification_phone_number: user) if phone_number
+          stub_feature_flags(identity_verification_credit_card: user) if credit_card
+        end
+
+        it 'only affects that user' do
+          expect(user.required_identity_verification_methods).to eq(result)
+          expect(another_user.required_identity_verification_methods).to eq(%w[email])
+        end
+      end
+    end
   end
 
   describe('#identity_verification_state') do