diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc
index 6a5a0639c45cb..50a5918975436 100644
--- a/ash/constants/ash_features.cc
+++ b/ash/constants/ash_features.cc
@@ -1429,6 +1429,11 @@ BASE_FEATURE(kHealthdInternalsTabs,
              "HealthdInternalsTabs",
              base::FEATURE_ENABLED_BY_DEFAULT);
 
+// Enables Kiosk session for the Helium android app.
+BASE_FEATURE(kHeliumArcvmKiosk,
+             "HeliumArcvmKiosk",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+
 // If enabled, the Help app will render the App Detail Page and entry point.
 BASE_FEATURE(kHelpAppAppDetailPage,
              "HelpAppAppDetailPage",
@@ -3928,6 +3933,10 @@ bool AreHealthdInternalsTabsEnabled() {
   return base::FeatureList::IsEnabled(kHealthdInternalsTabs);
 }
 
+bool IsHeliumArcvmKioskEnabled() {
+  return base::FeatureList::IsEnabled(kHeliumArcvmKiosk);
+}
+
 bool IsHibernateEnabled() {
   return base::FeatureList::IsEnabled(kHibernate);
 }
diff --git a/ash/constants/ash_features.h b/ash/constants/ash_features.h
index 15fe4bb4d2319..8e7c59d9ed80d 100644
--- a/ash/constants/ash_features.h
+++ b/ash/constants/ash_features.h
@@ -508,6 +508,8 @@ COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kLauncherItemColorSync);
 COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kHealthdInternalsTabs);
 COMPONENT_EXPORT(ASH_CONSTANTS)
+BASE_DECLARE_FEATURE(kHeliumArcvmKiosk);
+COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kHelpAppAppDetailPage);
 COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kHelpAppAppsList);
@@ -1246,6 +1248,7 @@ bool IsGlanceablesTimeManagementTasksViewAssignedTasksEnabled();
 COMPONENT_EXPORT(ASH_CONSTANTS)
 bool AreAnyGlanceablesTimeManagementViewsEnabled();
 COMPONENT_EXPORT(ASH_CONSTANTS) bool AreHealthdInternalsTabsEnabled();
+COMPONENT_EXPORT(ASH_CONSTANTS) bool IsHeliumArcvmKioskEnabled();
 COMPONENT_EXPORT(ASH_CONSTANTS) bool IsHibernateEnabled();
 COMPONENT_EXPORT(ASH_CONSTANTS) bool IsHideShelfControlsInTabletModeEnabled();
 COMPONENT_EXPORT(ASH_CONSTANTS) bool IsHoldingSpaceSuggestionsEnabled();
diff --git a/chrome/browser/ash/app_mode/BUILD.gn b/chrome/browser/ash/app_mode/BUILD.gn
index 6ee39a134cee9..bd19c9131c5f1 100644
--- a/chrome/browser/ash/app_mode/BUILD.gn
+++ b/chrome/browser/ash/app_mode/BUILD.gn
@@ -81,6 +81,7 @@ static_library("app_mode") {
     "//chromeos/ash/components/kiosk/vision",
     "//chromeos/ash/components/login/auth",
     "//chromeos/ash/components/network",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//chromeos/crosapi/mojom",
     "//chromeos/crosapi/mojom:mojom_shared_cpp_sources",
@@ -191,6 +192,7 @@ static_library("test_support") {
     "//chrome/common:non_code_constants",
     "//chrome/test:test_support_ui",
     "//chrome/test/data/chromeos/app_mode/webstore/itemsnippet",
+    "//chromeos/ash/components/policy/device_local_account",
   ]
   data_deps = [ "//chrome/test/data/chromeos/app_mode/webstore/itemsnippet:generated_protobufs" ]
 }
@@ -228,6 +230,7 @@ source_set("unit_tests") {
     "//chrome/test:test_support_ui",
     "//chromeos/ash/components/login/login_state",
     "//chromeos/ash/components/network:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/sync_wifi:test_support",
     "//components/prefs:test_support",
     "//components/webapps/browser",
@@ -291,6 +294,7 @@ source_set("browser_tests") {
     "//chromeos/ash/components/dbus/session_manager",
     "//chromeos/ash/components/dbus/shill",
     "//chromeos/ash/components/dbus/update_engine:update_engine",
+    "//chromeos/ash/components/policy/device_local_account",
     "//components/crx_file",
     "//components/ownership",
     "//content/test:test_support",
diff --git a/chrome/browser/ash/app_mode/consumer_kiosk_test_helper.cc b/chrome/browser/ash/app_mode/consumer_kiosk_test_helper.cc
index d5bb9b9342958..de80e187d0fac 100644
--- a/chrome/browser/ash/app_mode/consumer_kiosk_test_helper.cc
+++ b/chrome/browser/ash/app_mode/consumer_kiosk_test_helper.cc
@@ -16,8 +16,8 @@
 #include "chrome/browser/ash/app_mode/kiosk_chrome_app_manager.h"
 #include "chrome/browser/ash/ownership/owner_settings_service_ash.h"
 #include "chrome/browser/ash/policy/core/device_local_account.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
-#include "components/policy/core/common/device_local_account_type.h"
 
 namespace ash {
 
diff --git a/chrome/browser/ash/app_mode/isolated_web_app/BUILD.gn b/chrome/browser/ash/app_mode/isolated_web_app/BUILD.gn
index 2baf38c304c97..3c8b57759508b 100644
--- a/chrome/browser/ash/app_mode/isolated_web_app/BUILD.gn
+++ b/chrome/browser/ash/app_mode/isolated_web_app/BUILD.gn
@@ -20,6 +20,7 @@ static_library("isolated_web_app") {
     "//chrome/browser/ash/policy/core",
     "//chrome/browser/chromeos/app_mode",
     "//chrome/browser/web_applications",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//components/prefs",
     "//components/web_package",
@@ -38,6 +39,7 @@ static_library("policy_util") {
   deps = [
     "//ash/constants",
     "//chrome/browser/ash/policy/core",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//components/account_id",
     "//components/prefs",
@@ -58,6 +60,7 @@ source_set("unit_tests") {
     "//chrome/browser/ash/settings",
     "//chrome/browser/web_applications",
     "//chrome/test:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//components/policy/core/common",
     "//testing/gtest",
diff --git a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_data_unittest.cc b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_data_unittest.cc
index 7fb32cbcb5bff..4479d6e8b1d60 100644
--- a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_data_unittest.cc
+++ b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_data_unittest.cc
@@ -13,7 +13,7 @@
 #include "chrome/browser/web_applications/web_app_helpers.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/url_constants.h"
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/prefs/testing_pref_service.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "url/gurl.h"
diff --git a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager.cc b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager.cc
index a838f609b33b2..df3f4fed4bc54 100644
--- a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager.cc
+++ b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager.cc
@@ -26,9 +26,9 @@
 #include "chrome/browser/chromeos/app_mode/kiosk_web_app_update_observer.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
 #include "url/origin.h"
diff --git a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager_unittest.cc b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager_unittest.cc
index 6deb0b6de73ef..ea9925d6c4710 100644
--- a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager_unittest.cc
+++ b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_manager_unittest.cc
@@ -21,10 +21,10 @@
 #include "chrome/test/base/scoped_testing_local_state.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chromeos/ash/components/dbus/userdataauth/userdataauth_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "content/public/test/browser_task_environment.h"
 #include "testing/gmock/include/gmock/gmock.h"
diff --git a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_policy_util.cc b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_policy_util.cc
index 25cd2523d6798..c975efb372afa 100644
--- a/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_policy_util.cc
+++ b/chrome/browser/ash/app_mode/isolated_web_app/kiosk_iwa_policy_util.cc
@@ -14,9 +14,9 @@
 #include "base/check_op.h"
 #include "base/notreached.h"
 #include "chrome/browser/ash/policy/core/device_local_account.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "components/web_package/signed_web_bundles/signed_web_bundle_id.h"
diff --git a/chrome/browser/ash/app_mode/kiosk_chrome_app_manager.cc b/chrome/browser/ash/app_mode/kiosk_chrome_app_manager.cc
index 0aed76e1baee6..732217e798f72 100644
--- a/chrome/browser/ash/app_mode/kiosk_chrome_app_manager.cc
+++ b/chrome/browser/ash/app_mode/kiosk_chrome_app_manager.cc
@@ -54,10 +54,10 @@
 #include "chrome/browser/extensions/external_provider_impl.h"
 #include "chrome/browser/net/system_network_context_manager.h"
 #include "chrome/common/chrome_paths.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
diff --git a/chrome/browser/ash/app_mode/kiosk_chrome_app_manager_browsertest.cc b/chrome/browser/ash/app_mode/kiosk_chrome_app_manager_browsertest.cc
index 994cdc57e38ab..eceed3c7d6b34 100644
--- a/chrome/browser/ash/app_mode/kiosk_chrome_app_manager_browsertest.cc
+++ b/chrome/browser/ash/app_mode/kiosk_chrome_app_manager_browsertest.cc
@@ -50,10 +50,10 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/test/base/in_process_browser_test.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/crx_file/crx_verifier.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/scoped_user_pref_update.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/test_utils.h"
diff --git a/chrome/browser/ash/app_mode/kiosk_crash_restore_browsertest.cc b/chrome/browser/ash/app_mode/kiosk_crash_restore_browsertest.cc
index 25c7590394ad4..9522097bb6d3b 100644
--- a/chrome/browser/ash/app_mode/kiosk_crash_restore_browsertest.cc
+++ b/chrome/browser/ash/app_mode/kiosk_crash_restore_browsertest.cc
@@ -29,9 +29,9 @@
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
 #include "chromeos/ash/components/dbus/session_manager/session_manager_client.h"
 #include "chromeos/ash/components/dbus/userdataauth/userdataauth_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/device_settings_cache.h"
 #include "components/ownership/mock_owner_key_util.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/test/browser_test.h"
diff --git a/chrome/browser/ash/app_mode/startup_app_launcher_unittest.cc b/chrome/browser/ash/app_mode/startup_app_launcher_unittest.cc
index 7fce8d3ef5c60..a9df4241e239a 100644
--- a/chrome/browser/ash/app_mode/startup_app_launcher_unittest.cc
+++ b/chrome/browser/ash/app_mode/startup_app_launcher_unittest.cc
@@ -50,9 +50,9 @@
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile_manager.h"
 #include "chromeos/ash/components/login/login_state/login_state.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/sync/model/string_ordinal.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "content/public/browser/browser_context.h"
diff --git a/chrome/browser/ash/app_mode/test/BUILD.gn b/chrome/browser/ash/app_mode/test/BUILD.gn
index 750339d6797f4..63927ef979388 100644
--- a/chrome/browser/ash/app_mode/test/BUILD.gn
+++ b/chrome/browser/ash/app_mode/test/BUILD.gn
@@ -51,6 +51,7 @@ source_set("browser_tests") {
     "//chrome/test:test_support",
     "//chrome/test:test_support_ui",
     "//chromeos/ash/components/disks:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/system",
     "//components/services/app_service/public/cpp:app_types",
     "//components/web_package",
@@ -91,6 +92,7 @@ static_library("test_support") {
     "//chrome/browser/chromeos/app_mode",
     "//chrome/test:test_support_ui",
     "//chromeos/ash/components/network:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//components/web_package",
   ]
 }
diff --git a/chrome/browser/ash/app_mode/test/kiosk_misconfigured_user_browsertest.cc b/chrome/browser/ash/app_mode/test/kiosk_misconfigured_user_browsertest.cc
index 25d34c0d3a474..ce16f6c1cef58 100644
--- a/chrome/browser/ash/app_mode/test/kiosk_misconfigured_user_browsertest.cc
+++ b/chrome/browser/ash/app_mode/test/kiosk_misconfigured_user_browsertest.cc
@@ -11,8 +11,8 @@
 #include "chrome/browser/ash/app_mode/test/kiosk_mixin.h"
 #include "chrome/browser/ash/app_mode/test/kiosk_test_utils.h"
 #include "chrome/test/base/mixin_based_in_process_browser_test.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_service.h"
 #include "components/user_manager/user_directory_integrity_manager.h"
 #include "content/public/test/browser_test.h"
diff --git a/chrome/browser/ash/app_mode/test/kiosk_test_utils.cc b/chrome/browser/ash/app_mode/test/kiosk_test_utils.cc
index 7aba0d70c095b..c70cf926123e1 100644
--- a/chrome/browser/ash/app_mode/test/kiosk_test_utils.cc
+++ b/chrome/browser/ash/app_mode/test/kiosk_test_utils.cc
@@ -41,9 +41,9 @@
 #include "chrome/browser/ui/webui/ash/login/app_launch_splash_screen_handler.h"
 #include "chrome/browser/ui/webui/ash/login/error_screen_handler.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "extensions/browser/app_window/app_window.h"
 #include "extensions/browser/app_window/app_window_registry.h"
 #include "extensions/browser/extension_registry.h"
diff --git a/chrome/browser/ash/app_mode/test/kiosk_test_utils.h b/chrome/browser/ash/app_mode/test/kiosk_test_utils.h
index c2a7311d1d01d..ee6093e4322dd 100644
--- a/chrome/browser/ash/app_mode/test/kiosk_test_utils.h
+++ b/chrome/browser/ash/app_mode/test/kiosk_test_utils.h
@@ -14,9 +14,9 @@
 #include "chrome/browser/ash/app_mode/kiosk_app.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/account_id/account_id.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 
 namespace ash::kiosk::test {
 
diff --git a/chrome/browser/ash/login/BUILD.gn b/chrome/browser/ash/login/BUILD.gn
index 54e2aabc4d4c1..ff84d71802d84 100644
--- a/chrome/browser/ash/login/BUILD.gn
+++ b/chrome/browser/ash/login/BUILD.gn
@@ -474,6 +474,7 @@ source_set("browser_tests") {
     "//chromeos/ash/components/install_attributes:test_support",
     "//chromeos/ash/components/language_preferences",
     "//chromeos/ash/components/network:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/system",
     "//chromeos/ash/components/timezone",
@@ -593,6 +594,7 @@ source_set("unit_tests") {
     "//chromeos/ash/components/login/auth",
     "//chromeos/ash/components/login/auth/public:authpublic",
     "//chromeos/ash/components/network:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/system",
     "//chromeos/ash/services/network_config/public/cpp:test_support",
diff --git a/chrome/browser/ash/login/app_mode/kiosk_launch_controller_unittest.cc b/chrome/browser/ash/login/app_mode/kiosk_launch_controller_unittest.cc
index f4937755da88b..3c78cf9c0489b 100644
--- a/chrome/browser/ash/login/app_mode/kiosk_launch_controller_unittest.cc
+++ b/chrome/browser/ash/login/app_mode/kiosk_launch_controller_unittest.cc
@@ -60,10 +60,10 @@
 #include "chrome/test/base/testing_profile_manager.h"
 #include "chromeos/ash/components/install_attributes/stub_install_attributes.h"
 #include "chromeos/ash/components/network/network_handler.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/account_id/account_id.h"
 #include "components/crash/core/common/crash_key.h"
 #include "components/policy/core/browser/browser_policy_connector_base.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/policy_map.h"
 #include "components/policy/core/common/policy_types.h"
 #include "components/policy/policy_constants.h"
diff --git a/chrome/browser/ash/login/app_mode/test/BUILD.gn b/chrome/browser/ash/login/app_mode/test/BUILD.gn
index 2f5122a96312c..e2202da27d57c 100644
--- a/chrome/browser/ash/login/app_mode/test/BUILD.gn
+++ b/chrome/browser/ash/login/app_mode/test/BUILD.gn
@@ -58,6 +58,7 @@ static_library("test_support") {
     "//chrome/browser/chromeos/app_mode",
     "//chrome/browser/ui",
     "//chrome/browser/ui/ash/login",
+    "//chromeos/ash/components/policy/device_local_account",
     "//components/policy:generated",
     "//components/policy:policy_code_generate",
     "//components/policy/core/common",
diff --git a/chrome/browser/ash/login/app_mode/test/auto_launched_kiosk_browsertest.cc b/chrome/browser/ash/login/app_mode/test/auto_launched_kiosk_browsertest.cc
index 89000d3ad7b08..2a07ff18933d2 100644
--- a/chrome/browser/ash/login/app_mode/test/auto_launched_kiosk_browsertest.cc
+++ b/chrome/browser/ash/login/app_mode/test/auto_launched_kiosk_browsertest.cc
@@ -38,8 +38,8 @@
 #include "chrome/test/base/mixin_based_in_process_browser_test.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
 #include "chromeos/ash/components/dbus/session_manager/session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/crx_file/crx_verifier.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/test_utils.h"
diff --git a/chrome/browser/ash/login/app_mode/test/web_kiosk_base_test.cc b/chrome/browser/ash/login/app_mode/test/web_kiosk_base_test.cc
index ec7ff0239f835..b05188b830b5a 100644
--- a/chrome/browser/ash/login/app_mode/test/web_kiosk_base_test.cc
+++ b/chrome/browser/ash/login/app_mode/test/web_kiosk_base_test.cc
@@ -19,8 +19,8 @@
 #include "chrome/browser/ash/ownership/fake_owner_settings_service.h"  // IWYU pragma: keep
 #include "chrome/browser/ash/policy/core/device_local_account.h"
 #include "chrome/browser/ui/browser_list.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "url/gurl.h"
 
diff --git a/chrome/browser/ash/login/demo_mode/BUILD.gn b/chrome/browser/ash/login/demo_mode/BUILD.gn
index 68abaa0ec2e89..f1a8b1177cd41 100644
--- a/chrome/browser/ash/login/demo_mode/BUILD.gn
+++ b/chrome/browser/ash/login/demo_mode/BUILD.gn
@@ -252,6 +252,7 @@ source_set("unit_tests") {
     "//chromeos/ash/components/demo_mode",
     "//chromeos/ash/components/install_attributes:test_support",
     "//chromeos/ash/components/login/auth",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/system",
     "//chromeos/constants",
     "//components/component_updater/ash:test_support",
diff --git a/chrome/browser/ash/login/demo_mode/demo_login_controller_unittest.cc b/chrome/browser/ash/login/demo_mode/demo_login_controller_unittest.cc
index b18fc950413b3..c6f2338e89ced 100644
--- a/chrome/browser/ash/login/demo_mode/demo_login_controller_unittest.cc
+++ b/chrome/browser/ash/login/demo_mode/demo_login_controller_unittest.cc
@@ -25,6 +25,7 @@
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
 #include "chromeos/ash/components/demo_mode/utils/demo_session_utils.h"
 #include "chromeos/ash/components/install_attributes/stub_install_attributes.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/system/fake_statistics_provider.h"
 #include "chromeos/dbus/power/fake_power_manager_client.h"
@@ -34,7 +35,6 @@
 #include "components/policy/core/common/cloud/mock_cloud_policy_manager.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_service.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/session_manager/core/session_manager.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "content/public/test/browser_task_environment.h"
diff --git a/chrome/browser/ash/login/existing_user_controller_auto_login_unittest.cc b/chrome/browser/ash/login/existing_user_controller_auto_login_unittest.cc
index 3f8b3830a82dd..4fe5cd3fbcc1b 100644
--- a/chrome/browser/ash/login/existing_user_controller_auto_login_unittest.cc
+++ b/chrome/browser/ash/login/existing_user_controller_auto_login_unittest.cc
@@ -16,10 +16,10 @@
 #include "chrome/test/base/testing_browser_process.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
 #include "chromeos/ash/components/login/auth/auth_events_recorder.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/ownership/mock_owner_key_util.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/session_manager/core/session_manager.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "content/public/test/browser_task_environment.h"
diff --git a/chrome/browser/ash/login/existing_user_controller_browsertest.cc b/chrome/browser/ash/login/existing_user_controller_browsertest.cc
index 64618f4ae7b40..f8d48dfe6a95b 100644
--- a/chrome/browser/ash/login/existing_user_controller_browsertest.cc
+++ b/chrome/browser/ash/login/existing_user_controller_browsertest.cc
@@ -68,6 +68,7 @@
 #include "chromeos/ash/components/login/auth/public/user_context.h"
 #include "chromeos/ash/components/login/auth/stub_authenticator_builder.h"
 #include "chromeos/ash/components/network/network_state_test_helper.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/settings/cros_settings_provider.h"
@@ -81,7 +82,6 @@
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/mock_configuration_policy_provider.h"
 #include "components/policy/policy_constants.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
diff --git a/chrome/browser/ash/login/reporting/BUILD.gn b/chrome/browser/ash/login/reporting/BUILD.gn
index 8ea10b6c83aef..fbbd24ca420f8 100644
--- a/chrome/browser/ash/login/reporting/BUILD.gn
+++ b/chrome/browser/ash/login/reporting/BUILD.gn
@@ -30,6 +30,7 @@ static_library("reporting") {
     "//chrome/browser/ash/profiles",
     "//chrome/browser/profiles:profile_util",
     "//chromeos/ash/components/login/auth/public:authpublic",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//components/policy/core/common",
     "//components/prefs",
@@ -128,6 +129,7 @@ source_set("unit_tests") {
     "//chrome/test:test_support",
     "//chromeos/ash/components/login/auth/public:authpublic",
     "//chromeos/ash/components/login/session",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/dbus/power",
     "//components/policy/core/common",
     "//components/reporting/client:test_support",
diff --git a/chrome/browser/ash/login/reporting/login_logout_reporter.cc b/chrome/browser/ash/login/reporting/login_logout_reporter.cc
index 50ad4f05b08bc..ce01dd4dc5ebb 100644
--- a/chrome/browser/ash/login/reporting/login_logout_reporter.cc
+++ b/chrome/browser/ash/login/reporting/login_logout_reporter.cc
@@ -18,8 +18,8 @@
 #include "chrome/browser/policy/messaging_layer/proto/synced/login_logout_event.pb.h"
 #include "chrome/browser/profiles/reporting_util.h"
 #include "chromeos/ash/components/login/auth/public/auth_failure.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
 #include "components/prefs/scoped_user_pref_update.h"
diff --git a/chrome/browser/ash/login/reporting/login_logout_reporter_browsertest.cc b/chrome/browser/ash/login/reporting/login_logout_reporter_browsertest.cc
index 889be611de4ad..d28631ebd4bdf 100644
--- a/chrome/browser/ash/login/reporting/login_logout_reporter_browsertest.cc
+++ b/chrome/browser/ash/login/reporting/login_logout_reporter_browsertest.cc
@@ -44,13 +44,13 @@
 #include "chromeos/ash/components/login/auth/public/user_context.h"
 #include "chromeos/ash/components/login/auth/stub_authenticator_builder.h"
 #include "chromeos/ash/components/login/login_state/login_state.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/dbus/missive/missive_client.h"
 #include "chromeos/dbus/missive/missive_client_test_observer.h"
 #include "components/account_id/account_id.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/reporting/proto/synced/record.pb.h"
diff --git a/chrome/browser/ash/login/reporting/login_logout_reporter_unittest.cc b/chrome/browser/ash/login/reporting/login_logout_reporter_unittest.cc
index ed3efac27d902..ac32d06ed4aaa 100644
--- a/chrome/browser/ash/login/reporting/login_logout_reporter_unittest.cc
+++ b/chrome/browser/ash/login/reporting/login_logout_reporter_unittest.cc
@@ -17,8 +17,8 @@
 #include "chrome/test/base/testing_profile.h"
 #include "chromeos/ash/components/login/auth/public/auth_failure.h"
 #include "chromeos/ash/components/login/session/session_termination_manager.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/dbus/power/fake_power_manager_client.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/reporting/client/mock_report_queue.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "components/user_manager/user_names.h"
diff --git a/chrome/browser/ash/login/screens/BUILD.gn b/chrome/browser/ash/login/screens/BUILD.gn
index 1c4aa45266138..05942b9c6abe6 100644
--- a/chrome/browser/ash/login/screens/BUILD.gn
+++ b/chrome/browser/ash/login/screens/BUILD.gn
@@ -512,6 +512,7 @@ source_set("browser_tests") {
     "//chromeos/ash/components/network",
     "//chromeos/ash/components/network:test_support",
     "//chromeos/ash/components/osauth/public",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/quick_start",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/system",
diff --git a/chrome/browser/ash/login/screens/terms_of_service_screen_browsertest.cc b/chrome/browser/ash/login/screens/terms_of_service_screen_browsertest.cc
index 5c2f54ffee8d5..194ce47e6c320 100644
--- a/chrome/browser/ash/login/screens/terms_of_service_screen_browsertest.cc
+++ b/chrome/browser/ash/login/screens/terms_of_service_screen_browsertest.cc
@@ -39,8 +39,8 @@
 #include "chrome/browser/ui/webui/ash/login/sync_consent_screen_handler.h"
 #include "chrome/browser/ui/webui/ash/login/terms_of_service_screen_handler.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/prefs/pref_service.h"
 #include "components/user_manager/known_user.h"
diff --git a/chrome/browser/ash/login/users/BUILD.gn b/chrome/browser/ash/login/users/BUILD.gn
index 103c771248beb..545076ecc9512 100644
--- a/chrome/browser/ash/login/users/BUILD.gn
+++ b/chrome/browser/ash/login/users/BUILD.gn
@@ -60,6 +60,7 @@ static_library("users") {
     "//chromeos/ash/components/install_attributes",
     "//chromeos/ash/components/login/auth/public:authpublic",
     "//chromeos/ash/components/network",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/timezone",
     "//chromeos/ash/experiences/arc:arc_base_utils",
     "//chromeos/components/onc",
@@ -186,6 +187,7 @@ source_set("unit_tests") {
     "//chromeos/ash/components/cryptohome",
     "//chromeos/ash/components/dbus/concierge",
     "//chromeos/ash/components/dbus/userdataauth",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/system",
     "//components/account_id",
diff --git a/chrome/browser/ash/login/users/chrome_user_manager_util.h b/chrome/browser/ash/login/users/chrome_user_manager_util.h
index 144e6dd44400d..c87c87580f45b 100644
--- a/chrome/browser/ash/login/users/chrome_user_manager_util.h
+++ b/chrome/browser/ash/login/users/chrome_user_manager_util.h
@@ -7,7 +7,7 @@
 
 #include <optional>
 
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_type.h"
diff --git a/chrome/browser/ash/login/users/user_manager_delegate_impl.cc b/chrome/browser/ash/login/users/user_manager_delegate_impl.cc
index fc81208fad49f..c5dcb7caad8cb 100644
--- a/chrome/browser/ash/login/users/user_manager_delegate_impl.cc
+++ b/chrome/browser/ash/login/users/user_manager_delegate_impl.cc
@@ -22,7 +22,7 @@
 #include "chromeos/ash/components/cryptohome/cryptohome_parameters.h"
 #include "chromeos/ash/components/dbus/cryptohome/UserDataAuth.pb.h"
 #include "chromeos/ash/components/dbus/userdataauth/userdataauth_client.h"
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_type.h"
 #include "content/public/common/content_switches.h"
diff --git a/chrome/browser/ash/login/users/user_manager_unittest.cc b/chrome/browser/ash/login/users/user_manager_unittest.cc
index abace542dce64..38ebd9a36d111 100644
--- a/chrome/browser/ash/login/users/user_manager_unittest.cc
+++ b/chrome/browser/ash/login/users/user_manager_unittest.cc
@@ -40,10 +40,10 @@
 #include "chromeos/ash/components/dbus/concierge/concierge_client.h"
 #include "chromeos/ash/components/dbus/userdataauth/fake_userdataauth_client.h"
 #include "chromeos/ash/components/dbus/userdataauth/userdataauth_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/system/fake_statistics_provider.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
 #include "components/user_manager/known_user.h"
diff --git a/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc b/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc
index 4a4e49a29da78..72fe47bf07072 100644
--- a/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc
+++ b/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc
@@ -229,6 +229,7 @@
 #include "chromeos/ash/components/network/system_token_cert_db_storage.h"
 #include "chromeos/ash/components/network/traffic_counters_handler.h"
 #include "chromeos/ash/components/peripheral_notification/peripheral_notification_manager.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/power/dark_resume_controller.h"
 #include "chromeos/ash/components/report/device_metrics/use_case/real_psm_client_manager.h"
 #include "chromeos/ash/components/report/device_metrics/use_case/use_case.h"
@@ -256,7 +257,6 @@
 #include "components/metrics/metrics_service.h"
 #include "components/ownership/owner_key_util.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_service.h"
 #include "components/quirks/quirks_manager.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
diff --git a/chrome/browser/ash/policy/core/BUILD.gn b/chrome/browser/ash/policy/core/BUILD.gn
index d9eac2bb62fdf..1b1215609ee42 100644
--- a/chrome/browser/ash/policy/core/BUILD.gn
+++ b/chrome/browser/ash/policy/core/BUILD.gn
@@ -102,6 +102,7 @@ static_library("core") {
     "//chromeos/ash/components/dbus/userdataauth:userdataauth_proto",
     "//chromeos/ash/components/install_attributes",
     "//chromeos/ash/components/network",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/system",
     "//chromeos/ash/experiences/arc:arc_features",
@@ -257,6 +258,7 @@ source_set("unit_tests") {
     "//chromeos/ash/components/dbus/userdataauth",
     "//chromeos/ash/components/install_attributes",
     "//chromeos/ash/components/install_attributes:test_support",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/policy/weekly_time",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/system",
diff --git a/chrome/browser/ash/policy/core/device_local_account.h b/chrome/browser/ash/policy/core/device_local_account.h
index 72f9408303314..07622d97a2d24 100644
--- a/chrome/browser/ash/policy/core/device_local_account.h
+++ b/chrome/browser/ash/policy/core/device_local_account.h
@@ -8,7 +8,7 @@
 #include <string>
 #include <vector>
 
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 
 namespace ash {
 class CrosSettings;
diff --git a/chrome/browser/ash/policy/core/device_local_account_browsertest.cc b/chrome/browser/ash/policy/core/device_local_account_browsertest.cc
index 08ca7861290d6..80767620b5370 100644
--- a/chrome/browser/ash/policy/core/device_local_account_browsertest.cc
+++ b/chrome/browser/ash/policy/core/device_local_account_browsertest.cc
@@ -120,6 +120,7 @@
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
 #include "chromeos/ash/components/login/auth/public/user_context.h"
 #include "chromeos/ash/components/network/policy_certificate_provider.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/timezone_settings.h"
 #include "chromeos/components/mgs/managed_guest_session_utils.h"
 #include "components/crx_file/crx_verifier.h"
@@ -129,7 +130,6 @@
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/external_data_fetcher.h"
 #include "components/policy/core/common/policy_map.h"
 #include "components/policy/core/common/policy_namespace.h"
diff --git a/chrome/browser/ash/policy/core/device_local_account_policy_provider.h b/chrome/browser/ash/policy/core/device_local_account_policy_provider.h
index 08d31efb857cb..134c8d258acd3 100644
--- a/chrome/browser/ash/policy/core/device_local_account_policy_provider.h
+++ b/chrome/browser/ash/policy/core/device_local_account_policy_provider.h
@@ -14,8 +14,8 @@
 #include "chrome/browser/ash/policy/core/device_local_account.h"
 #include "chrome/browser/ash/policy/core/device_local_account_policy_service.h"
 #include "chrome/browser/ash/policy/external_data/device_local_account_external_data_manager.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/policy/core/common/configuration_policy_provider.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/policy_types.h"
 
 namespace policy {
diff --git a/chrome/browser/ash/policy/core/device_local_account_policy_service_unittest.cc b/chrome/browser/ash/policy/core/device_local_account_policy_service_unittest.cc
index 633757240a085..f85d626aaf763 100644
--- a/chrome/browser/ash/policy/core/device_local_account_policy_service_unittest.cc
+++ b/chrome/browser/ash/policy/core/device_local_account_policy_service_unittest.cc
@@ -34,6 +34,7 @@
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chromeos/ash/components/install_attributes/stub_install_attributes.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/dbus/power/power_policy_controller.h"
 #include "components/invalidation/test_support/fake_invalidation_listener.h"
@@ -42,7 +43,6 @@
 #include "components/policy/core/common/cloud/cloud_policy_service.h"
 #include "components/policy/core/common/cloud/mock_device_management_service.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/external_data_fetcher.h"
 #include "components/policy/core/common/mock_configuration_policy_provider.h"
 #include "components/policy/core/common/policy_bundle.h"
diff --git a/chrome/browser/ash/policy/core/device_local_account_unittest.cc b/chrome/browser/ash/policy/core/device_local_account_unittest.cc
index 1cd1e7f336290..1f2d4d4f5a0f8 100644
--- a/chrome/browser/ash/policy/core/device_local_account_unittest.cc
+++ b/chrome/browser/ash/policy/core/device_local_account_unittest.cc
@@ -9,10 +9,10 @@
 #include "base/values.h"
 #include "chrome/browser/ash/settings/scoped_testing_cros_settings.h"
 #include "chrome/browser/ash/settings/stub_cros_settings_provider.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/settings/cros_settings_provider.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/chrome/browser/ash/policy/core/device_policy_decoder.cc b/chrome/browser/ash/policy/core/device_policy_decoder.cc
index a86cf97ab8dd7..5796a558b5c11 100644
--- a/chrome/browser/ash/policy/core/device_policy_decoder.cc
+++ b/chrome/browser/ash/policy/core/device_policy_decoder.cc
@@ -11,6 +11,7 @@
 #include <string_view>
 #include <utility>
 
+#include "ash/constants/ash_features.h"
 #include "ash/system/privacy_hub/privacy_hub_controller.h"
 #include "base/containers/fixed_flat_map.h"
 #include "base/functional/callback.h"
@@ -26,13 +27,12 @@
 #include "chrome/browser/policy/chrome_browser_policy_connector.h"
 #include "chromeos/ash/components/dbus/dbus_thread_manager.h"
 #include "chromeos/ash/components/dbus/update_engine/update_engine_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/policy/core/browser/policy_error_map.h"
 #include "components/policy/core/common/chrome_schema.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/external_data_fetcher.h"
 #include "components/policy/core/common/external_data_manager.h"
-#include "components/policy/core/common/features.h"
 #include "components/policy/core/common/policy_map.h"
 #include "components/policy/core/common/policy_types.h"
 #include "components/policy/core/common/schema.h"
@@ -753,7 +753,7 @@ base::Value::Dict DecodeDeviceLocalAccountInfoProto(
           entry.isolated_kiosk_app().allow_downgrades());
     }
   }
-  if (policy::features::IsHeliumArcvmKioskEnabled()) {
+  if (ash::features::IsHeliumArcvmKioskEnabled()) {
     if (entry.arcvm_kiosk_app().has_package_name()) {
       entry_dict.Set(ash::kAccountsPrefDeviceLocalAccountsKeyArcvmKioskPackage,
                      entry.arcvm_kiosk_app().package_name());
diff --git a/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc b/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc
index e1aab4f69340f..0f18bc91954ce 100644
--- a/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc
+++ b/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc
@@ -13,10 +13,10 @@
 #include "base/time/time.h"
 #include "base/values.h"
 #include "chrome/browser/ash/policy/core/device_local_account.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/policy/weekly_time/weekly_time.h"
 #include "chromeos/ash/components/policy/weekly_time/weekly_time_interval.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/policy_bundle.h"
 #include "components/policy/policy_constants.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
diff --git a/chrome/browser/ash/policy/external_data/BUILD.gn b/chrome/browser/ash/policy/external_data/BUILD.gn
index 4c21a38708c7c..d40ff452d6637 100644
--- a/chrome/browser/ash/policy/external_data/BUILD.gn
+++ b/chrome/browser/ash/policy/external_data/BUILD.gn
@@ -34,6 +34,7 @@ static_library("external_data") {
     "//chrome/browser/ash/policy/handlers",
     "//chrome/browser/ash/profiles",
     "//chrome/browser/profiles:profile",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//components/policy:generated",
     "//components/policy/core/browser",
diff --git a/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer.cc b/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer.cc
index 8ceef4a240574..0beb6d40864b6 100644
--- a/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer.cc
+++ b/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer.cc
@@ -20,12 +20,12 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/policy/profile_policy_connector.h"
 #include "chrome/browser/profiles/profile.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/settings/cros_settings_provider.h"
 #include "components/policy/core/browser/policy_error_map.h"
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/external_data_fetcher.h"
 #include "components/policy/core/common/policy_namespace.h"
 #include "components/policy/core/common/policy_service.h"
diff --git a/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer_unittest.cc b/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer_unittest.cc
index 1316168a9af77..69352ebda6a7c 100644
--- a/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer_unittest.cc
+++ b/chrome/browser/ash/policy/external_data/cloud_external_data_policy_observer_unittest.cc
@@ -33,12 +33,12 @@
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/base/testing_profile_manager.h"
 #include "chromeos/ash/components/install_attributes/stub_install_attributes.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
 #include "components/policy/core/common/cloud/mock_cloud_external_data_manager.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/external_data_fetcher.h"
 #include "components/policy/core/common/mock_configuration_policy_provider.h"
 #include "components/policy/core/common/policy_map.h"
diff --git a/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc b/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc
index 306769bee9a6e..ea23dca160ceb 100644
--- a/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc
+++ b/chrome/browser/ash/policy/networking/policy_certs_browsertest.cc
@@ -49,12 +49,12 @@
 #include "chromeos/ash/components/network/onc/onc_certificate_importer.h"
 #include "chromeos/ash/components/network/onc/onc_certificate_importer_impl.h"
 #include "chromeos/ash/components/network/policy_certificate_provider.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/components/onc/onc_test_utils.h"
 #include "chromeos/test/chromeos_test_utils.h"
 #include "components/onc/onc_constants.h"
 #include "components/policy/core/browser/browser_policy_connector.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/mock_configuration_policy_provider.h"
 #include "components/policy/core/common/policy_switches.h"
 #include "components/policy/policy_constants.h"
diff --git a/chrome/browser/ash/policy/reporting/user_added_removed/user_added_removed_reporter_browsertest.cc b/chrome/browser/ash/policy/reporting/user_added_removed/user_added_removed_reporter_browsertest.cc
index dd60753d4db98..aeb47359f836f 100644
--- a/chrome/browser/ash/policy/reporting/user_added_removed/user_added_removed_reporter_browsertest.cc
+++ b/chrome/browser/ash/policy/reporting/user_added_removed/user_added_removed_reporter_browsertest.cc
@@ -34,12 +34,12 @@
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
 #include "chromeos/ash/components/login/auth/public/user_context.h"
 #include "chromeos/ash/components/login/login_state/login_state.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/dbus/missive/missive_client.h"
 #include "chromeos/dbus/missive/missive_client_test_observer.h"
 #include "components/account_id/account_id.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/reporting/proto/synced/record.pb.h"
diff --git a/chrome/browser/ash/policy/reporting/user_session_activity/BUILD.gn b/chrome/browser/ash/policy/reporting/user_session_activity/BUILD.gn
index 5bb3fb076fe34..08217661b1dde 100644
--- a/chrome/browser/ash/policy/reporting/user_session_activity/BUILD.gn
+++ b/chrome/browser/ash/policy/reporting/user_session_activity/BUILD.gn
@@ -23,6 +23,7 @@ static_library("user_session_activity") {
     "//chrome/browser/ash/power/ml",
     "//chrome/browser/ash/profiles",
     "//chrome/browser/policy/messaging_layer/proto:user_session_activity_proto",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//components/viz/host",
   ]
diff --git a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter.cc b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter.cc
index da6d7d63b2143..5edab83f504ad 100644
--- a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter.cc
+++ b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter.cc
@@ -20,9 +20,9 @@
 #include "chrome/browser/ash/policy/reporting/user_event_reporter_helper.h"
 #include "chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate.h"
 #include "chrome/browser/policy/messaging_layer/proto/synced/user_session_activity.pb.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/reporting/proto/synced/record_constants.pb.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
diff --git a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate.cc b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate.cc
index 938ea67848eed..5215ed8fbd203 100644
--- a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate.cc
+++ b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate.cc
@@ -19,8 +19,8 @@
 #include "chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter.h"
 #include "chrome/browser/ash/power/ml/idle_event_notifier.h"
 #include "chrome/browser/policy/messaging_layer/proto/synced/user_session_activity.pb.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "components/user_manager/user_names.h"
diff --git a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate_unittest.cc b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate_unittest.cc
index d65e1a10af2a6..30a8b7188ca86 100644
--- a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate_unittest.cc
+++ b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_delegate_unittest.cc
@@ -18,8 +18,8 @@
 #include "chrome/browser/ash/policy/reporting/user_event_reporter_helper_testing.h"
 #include "chrome/browser/ash/power/ml/idle_event_notifier.h"
 #include "chrome/browser/policy/messaging_layer/proto/synced/user_session_activity.pb.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/reporting/client/mock_report_queue.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "components/user_manager/user.h"
diff --git a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_unittest.cc b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_unittest.cc
index 2c1453504f104..69b8c0558ab80 100644
--- a/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_unittest.cc
+++ b/chrome/browser/ash/policy/reporting/user_session_activity/user_session_activity_reporter_unittest.cc
@@ -25,8 +25,8 @@
 #include "chrome/test/base/scoped_testing_local_state.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/dbus/power/fake_power_manager_client.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/reporting/client/mock_report_queue.h"
 #include "components/reporting/proto/synced/record_constants.pb.h"
 #include "components/session_manager/core/session_manager.h"
diff --git a/chrome/browser/ash/policy/status_collector/device_status_collector.cc b/chrome/browser/ash/policy/status_collector/device_status_collector.cc
index 3524c1cd02a50..0ca8db2870f14 100644
--- a/chrome/browser/ash/policy/status_collector/device_status_collector.cc
+++ b/chrome/browser/ash/policy/status_collector/device_status_collector.cc
@@ -25,6 +25,7 @@
 #include <string_view>
 #include <utility>
 
+#include "ash/constants/ash_features.h"
 #include "base/check.h"
 #include "base/check_op.h"
 #include "base/files/file_enumerator.h"
@@ -78,6 +79,7 @@
 #include "chromeos/ash/components/network/network_handler.h"
 #include "chromeos/ash/components/network/network_state.h"
 #include "chromeos/ash/components/network/network_state_handler.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/settings/timezone_settings.h"
@@ -93,8 +95,6 @@
 #include "components/policy/core/browser/browser_policy_connector.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/cloud_policy_util.h"
-#include "components/policy/core/common/device_local_account_type.h"
-#include "components/policy/core/common/features.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/prefs/pref_change_registrar.h"
 #include "components/prefs/pref_registry_simple.h"
@@ -662,7 +662,7 @@ em::ActiveTimePeriod::SessionType GetSessionType(
       return em::ActiveTimePeriod::SESSION_IWA_KIOSK;
 
     case DeviceLocalAccountType::kArcvmKioskApp:
-      if (policy::features::IsHeliumArcvmKioskEnabled()) {
+      if (ash::features::IsHeliumArcvmKioskEnabled()) {
         return em::ActiveTimePeriod::SESSION_ARC_KIOSK;
       }
       break;
@@ -2725,7 +2725,7 @@ bool DeviceStatusCollector::GetRunningKioskApp(
       running_kiosk_app->set_app_id(account->kiosk_iwa_info.web_bundle_id());
       break;
     case DeviceLocalAccountType::kArcvmKioskApp:
-      if (policy::features::IsHeliumArcvmKioskEnabled()) {
+      if (ash::features::IsHeliumArcvmKioskEnabled()) {
         // Use package name as app ID for ARC Kiosks.
         running_kiosk_app->set_app_id(
             account->arcvm_kiosk_app_info.package_name());
@@ -3024,7 +3024,7 @@ bool DeviceStatusCollector::GetKioskSessionStatus(
       app_status->set_app_id(account->kiosk_iwa_info.web_bundle_id());
       break;
     case DeviceLocalAccountType::kArcvmKioskApp:
-      if (policy::features::IsHeliumArcvmKioskEnabled()) {
+      if (ash::features::IsHeliumArcvmKioskEnabled()) {
         // Use package name as app ID for ARC Kiosks.
         app_status->set_app_id(account->arcvm_kiosk_app_info.package_name());
       }
diff --git a/chrome/browser/ash/policy/status_collector/device_status_collector_browsertest.cc b/chrome/browser/ash/policy/status_collector/device_status_collector_browsertest.cc
index 8b45518015716..9f09d5511c72b 100644
--- a/chrome/browser/ash/policy/status_collector/device_status_collector_browsertest.cc
+++ b/chrome/browser/ash/policy/status_collector/device_status_collector_browsertest.cc
@@ -100,6 +100,7 @@
 #include "chromeos/ash/components/network/network_handler_test_helper.h"
 #include "chromeos/ash/components/network/network_state.h"
 #include "chromeos/ash/components/network/network_state_handler.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/settings/timezone_settings.h"
 #include "chromeos/ash/components/system/fake_statistics_provider.h"
@@ -110,7 +111,6 @@
 #include "chromeos/dbus/tpm_manager/tpm_manager_client.h"
 #include "components/account_id/account_id.h"
 #include "components/ownership/mock_owner_key_util.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "components/prefs/pref_service.h"
diff --git a/chrome/browser/ash/policy/uploading/status_uploader_unittest.cc b/chrome/browser/ash/policy/uploading/status_uploader_unittest.cc
index c309f111d98b3..9b802ec691aab 100644
--- a/chrome/browser/ash/policy/uploading/status_uploader_unittest.cc
+++ b/chrome/browser/ash/policy/uploading/status_uploader_unittest.cc
@@ -21,12 +21,12 @@
 #include "chrome/browser/ash/policy/status_collector/device_status_collector.h"
 #include "chrome/browser/ash/settings/scoped_testing_cros_settings.h"
 #include "chrome/browser/ash/settings/stub_cros_settings_provider.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/dbus/power/power_manager_client.h"
 #include "chromeos/dbus/tpm_manager/tpm_manager_client.h"
 #include "components/policy/core/common/cloud/cloud_policy_client.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/testing_pref_service.h"
 #include "components/session_manager/core/session_manager.h"
 #include "content/public/test/browser_task_environment.h"
diff --git a/chrome/browser/ash/settings/device_settings_provider.cc b/chrome/browser/ash/settings/device_settings_provider.cc
index add301c5b7df4..b03703b773c79 100644
--- a/chrome/browser/ash/settings/device_settings_provider.cc
+++ b/chrome/browser/ash/settings/device_settings_provider.cc
@@ -433,7 +433,7 @@ void DecodeLoginPolicies(const em::ChromeDeviceSettingsProto& policy,
         entry_dict.Set(kAccountsPrefDeviceLocalAccountsKeyKioskAppUpdateURL,
                        entry.kiosk_app().update_url());
       }
-      if (policy::features::IsHeliumArcvmKioskEnabled()) {
+      if (ash::features::IsHeliumArcvmKioskEnabled()) {
         if (entry.arcvm_kiosk_app().has_package_name()) {
           entry_dict.Set(kAccountsPrefDeviceLocalAccountsKeyArcvmKioskPackage,
                          entry.arcvm_kiosk_app().package_name());
diff --git a/chrome/browser/ash/settings/device_settings_provider_unittest.cc b/chrome/browser/ash/settings/device_settings_provider_unittest.cc
index f708b95d39a1a..1d6903de35681 100644
--- a/chrome/browser/ash/settings/device_settings_provider_unittest.cc
+++ b/chrome/browser/ash/settings/device_settings_provider_unittest.cc
@@ -22,9 +22,9 @@
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chromeos/ash/components/install_attributes/stub_install_attributes.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "testing/gmock/include/gmock/gmock.h"
diff --git a/chrome/browser/ash/test/BUILD.gn b/chrome/browser/ash/test/BUILD.gn
index 9cea7957a1041..bf987a3bf839d 100644
--- a/chrome/browser/ash/test/BUILD.gn
+++ b/chrome/browser/ash/test/BUILD.gn
@@ -26,6 +26,7 @@ static_library("test_support") {
     "//ash/constants",
     "//base",
     "//chrome/test:test_support_ui",
+    "//chromeos/ash/components/policy/device_local_account",
     "//chromeos/ash/components/settings",
     "//chromeos/ash/components/settings:test_support",
     "//components/account_id",
diff --git a/chrome/browser/ash/test/kiosk_app_logged_in_browser_test_mixin.cc b/chrome/browser/ash/test/kiosk_app_logged_in_browser_test_mixin.cc
index daa5d1f25373f..95e43a5f410b9 100644
--- a/chrome/browser/ash/test/kiosk_app_logged_in_browser_test_mixin.cc
+++ b/chrome/browser/ash/test/kiosk_app_logged_in_browser_test_mixin.cc
@@ -9,9 +9,9 @@
 #include "ash/constants/ash_switches.h"
 #include "base/check.h"
 #include "base/values.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/device_settings_cache_test_support.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/prefs/pref_service.h"
diff --git a/chrome/browser/ash/test/public_account_logged_in_browser_test_mixin.cc b/chrome/browser/ash/test/public_account_logged_in_browser_test_mixin.cc
index 2dcf5e2185e4d..5abbb4376fbd5 100644
--- a/chrome/browser/ash/test/public_account_logged_in_browser_test_mixin.cc
+++ b/chrome/browser/ash/test/public_account_logged_in_browser_test_mixin.cc
@@ -9,10 +9,10 @@
 #include "ash/constants/ash_switches.h"
 #include "base/check.h"
 #include "base/values.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ash/components/settings/device_settings_cache_test_support.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/prefs/pref_service.h"
diff --git a/chrome/browser/ash/test/web_kiosk_app_logged_in_browser_test_mixin.cc b/chrome/browser/ash/test/web_kiosk_app_logged_in_browser_test_mixin.cc
index b848b9981befd..03fd3fd8d4526 100644
--- a/chrome/browser/ash/test/web_kiosk_app_logged_in_browser_test_mixin.cc
+++ b/chrome/browser/ash/test/web_kiosk_app_logged_in_browser_test_mixin.cc
@@ -9,9 +9,9 @@
 #include "ash/constants/ash_switches.h"
 #include "base/check.h"
 #include "base/values.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/device_settings_cache_test_support.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "components/prefs/pref_service.h"
diff --git a/chrome/browser/chromeos/app_mode/kiosk_browser_session_unittest.cc b/chrome/browser/chromeos/app_mode/kiosk_browser_session_unittest.cc
index d30694e829105..bf3a198ada0ea 100644
--- a/chrome/browser/chromeos/app_mode/kiosk_browser_session_unittest.cc
+++ b/chrome/browser/chromeos/app_mode/kiosk_browser_session_unittest.cc
@@ -55,9 +55,9 @@
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/base/testing_profile_manager.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/experiences/system_web_apps/types/system_web_app_delegate_map.h"
 #include "chromeos/dbus/power/fake_power_manager_client.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/user_manager/scoped_user_manager.h"
 #include "components/user_manager/user.h"
 #include "content/public/common/webplugininfo.h"
diff --git a/chrome/browser/extensions/external_provider_impl.cc b/chrome/browser/extensions/external_provider_impl.cc
index e0b22939d954d..70682c0aa6713 100644
--- a/chrome/browser/extensions/external_provider_impl.cc
+++ b/chrome/browser/extensions/external_provider_impl.cc
@@ -74,7 +74,7 @@
 #include "chromeos/components/kiosk/kiosk_utils.h"
 #include "chromeos/components/mgs/managed_guest_session_utils.h"
 #else
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #endif
 
 #if BUILDFLAG(IS_WIN)
diff --git a/chrome/browser/metrics/k12_age_classification_metrics_provider_browsertest.cc b/chrome/browser/metrics/k12_age_classification_metrics_provider_browsertest.cc
index 56adac5f3b359..462ebeab57c23 100644
--- a/chrome/browser/metrics/k12_age_classification_metrics_provider_browsertest.cc
+++ b/chrome/browser/metrics/k12_age_classification_metrics_provider_browsertest.cc
@@ -22,11 +22,11 @@
 #include "chrome/common/chrome_features.h"
 #include "chrome/test/base/fake_gaia_mixin.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/metrics/metrics_service.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "content/public/test/browser_test.h"
 
diff --git a/chrome/browser/metrics/structured/metadata_processor_ash_browsertest.cc b/chrome/browser/metrics/structured/metadata_processor_ash_browsertest.cc
index eb03ffcf6170a..81c2074432ecc 100644
--- a/chrome/browser/metrics/structured/metadata_processor_ash_browsertest.cc
+++ b/chrome/browser/metrics/structured/metadata_processor_ash_browsertest.cc
@@ -34,6 +34,7 @@
 #include "chrome/browser/metrics/structured/test/structured_metrics_mixin.h"
 #include "chrome/test/base/fake_gaia_mixin.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/metrics/metrics_service.h"
 #include "components/metrics/structured/structured_events.h"
 #include "components/metrics/structured/structured_metrics_client.h"
@@ -42,7 +43,6 @@
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/browser_test_utils.h"
diff --git a/chrome/browser/metrics/usertype_by_devicetype_metrics_provider_browsertest.cc b/chrome/browser/metrics/usertype_by_devicetype_metrics_provider_browsertest.cc
index f9dde2e98002a..1e863915c9b20 100644
--- a/chrome/browser/metrics/usertype_by_devicetype_metrics_provider_browsertest.cc
+++ b/chrome/browser/metrics/usertype_by_devicetype_metrics_provider_browsertest.cc
@@ -31,11 +31,11 @@
 #include "chrome/browser/browser_process_platform_part_ash.h"
 #include "chrome/test/base/fake_gaia_mixin.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/metrics/metrics_service.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 #include "content/public/test/browser_test.h"
 
diff --git a/chrome/browser/ui/ash/wallpaper/wallpaper_controller_client_impl.cc b/chrome/browser/ui/ash/wallpaper/wallpaper_controller_client_impl.cc
index bf8ac9e2628b9..06b88412841d3 100644
--- a/chrome/browser/ui/ash/wallpaper/wallpaper_controller_client_impl.cc
+++ b/chrome/browser/ui/ash/wallpaper/wallpaper_controller_client_impl.cc
@@ -53,10 +53,10 @@
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/pref_names.h"
 #include "chromeos/ash/components/cryptohome/system_salt_getter.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings_names.h"
 #include "chromeos/ui/base/window_properties.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/pref_service.h"
 #include "components/services/app_service/public/cpp/app_launch_util.h"
 #include "components/session_manager/core/session_manager.h"
diff --git a/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_cache_browsertest.cc b/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_cache_browsertest.cc
index f96a27cf2e813..85060e108334f 100644
--- a/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_cache_browsertest.cc
+++ b/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_cache_browsertest.cc
@@ -45,7 +45,7 @@
 #include "chrome/common/chrome_features.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/policy/proto/chrome_device_policy.pb.h"
 #include "components/web_package/signed_web_bundles/signed_web_bundle_id.h"
 #include "components/web_package/test_support/signed_web_bundles/ed25519_key_pair.h"
diff --git a/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager_ash_browsertest.cc b/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager_ash_browsertest.cc
index eb8bbb18e6384..a0b8b756098de 100644
--- a/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager_ash_browsertest.cc
+++ b/chrome/browser/web_applications/isolated_web_apps/policy/isolated_web_app_policy_manager_ash_browsertest.cc
@@ -59,8 +59,8 @@
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
 #include "chromeos/ash/components/dbus/session_manager/fake_session_manager_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/policy/core/common/cloud/test/policy_builder.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/mock_configuration_policy_provider.h"
 #include "components/policy/core/common/policy_namespace.h"
 #include "components/policy/policy_constants.h"
diff --git a/chromeos/ash/components/policy/device_local_account/BUILD.gn b/chromeos/ash/components/policy/device_local_account/BUILD.gn
new file mode 100644
index 0000000000000..c75baca3005c7
--- /dev/null
+++ b/chromeos/ash/components/policy/device_local_account/BUILD.gn
@@ -0,0 +1,23 @@
+# Copyright 2025 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+assert(is_chromeos, "Non-Chrome-OS builds must not depend on //chromeos")
+
+component("device_local_account") {
+  defines = [ "IS_CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT_IMPL" ]
+
+  sources = [
+    "device_local_account_type.cc",
+    "device_local_account_type.h",
+  ]
+
+  deps = [
+    "//base",
+    "//google_apis",
+
+    # TODO(crbug.com/408460168): Only for a feature flag.
+    # Remove after the feature is released.
+    "//ash/constants",
+  ]
+}
diff --git a/chromeos/ash/components/policy/device_local_account/DEPS b/chromeos/ash/components/policy/device_local_account/DEPS
new file mode 100644
index 0000000000000..c1a9d2570397a
--- /dev/null
+++ b/chromeos/ash/components/policy/device_local_account/DEPS
@@ -0,0 +1,6 @@
+include_rules = [
+  # This package must not depend on policy to avoid circular deps.
+  # We expect some of the policy implementation uses device local account
+  # concepts, instead. (i.e., dependency from other policy code to here).
+  "-components/policy",
+]
diff --git a/components/policy/core/common/device_local_account_type.cc b/chromeos/ash/components/policy/device_local_account/device_local_account_type.cc
similarity index 94%
rename from components/policy/core/common/device_local_account_type.cc
rename to chromeos/ash/components/policy/device_local_account/device_local_account_type.cc
index 1146819d17aa9..be2c024373435 100644
--- a/components/policy/core/common/device_local_account_type.cc
+++ b/chromeos/ash/components/policy/device_local_account/device_local_account_type.cc
@@ -2,16 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/policy/core/common/device_local_account_type.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 
 #include <string_view>
 
+#include "ash/constants/ash_features.h"
 #include "base/containers/fixed_flat_map.h"
 #include "base/notreached.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
-#include "components/policy/core/common/features.h"
 #include "google_apis/gaia/gaia_auth_util.h"
 
 namespace policy {
@@ -25,7 +25,6 @@ constexpr auto kDomainPrefixMap =
         {DeviceLocalAccountType::kSamlPublicSession, "saml-public-accounts"},
         {DeviceLocalAccountType::kWebKioskApp, "web-kiosk-apps"},
         {DeviceLocalAccountType::kKioskIsolatedWebApp, "isolated-kiosk-apps"},
-
     });
 
 constexpr char kDeviceLocalAccountDomainSuffix[] = ".device-local.localhost";
@@ -41,7 +40,7 @@ bool IsValidDeviceLocalAccountType(int value) {
     case DeviceLocalAccountType::kKioskIsolatedWebApp:
       return true;
     case DeviceLocalAccountType::kArcvmKioskApp:
-      return policy::features::IsHeliumArcvmKioskEnabled();
+      return ash::features::IsHeliumArcvmKioskEnabled();
   }
   return false;
 }
diff --git a/components/policy/core/common/device_local_account_type.h b/chromeos/ash/components/policy/device_local_account/device_local_account_type.h
similarity index 65%
rename from components/policy/core/common/device_local_account_type.h
rename to chromeos/ash/components/policy/device_local_account/device_local_account_type.h
index a62c153f280f5..c8e3052f407cf 100644
--- a/components/policy/core/common/device_local_account_type.h
+++ b/chromeos/ash/components/policy/device_local_account/device_local_account_type.h
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_POLICY_CORE_COMMON_DEVICE_LOCAL_ACCOUNT_TYPE_H_
-#define COMPONENTS_POLICY_CORE_COMMON_DEVICE_LOCAL_ACCOUNT_TYPE_H_
+#ifndef CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT_DEVICE_LOCAL_ACCOUNT_TYPE_H_
+#define CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT_DEVICE_LOCAL_ACCOUNT_TYPE_H_
 
 #include <string>
 #include <string_view>
 
+#include "base/component_export.h"
 #include "base/types/expected.h"
-#include "components/policy/policy_export.h"
 
 namespace policy {
 
@@ -42,11 +42,12 @@ enum class DeviceLocalAccountType {
 };
 
 // Returns whether the given value is valid DeviceLocalAccountType.
-POLICY_EXPORT bool IsValidDeviceLocalAccountType(int value);
+COMPONENT_EXPORT(CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT)
+bool IsValidDeviceLocalAccountType(int value);
 
-POLICY_EXPORT std::string GenerateDeviceLocalAccountUserId(
-    std::string_view account_id,
-    DeviceLocalAccountType type);
+COMPONENT_EXPORT(CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT)
+std::string GenerateDeviceLocalAccountUserId(std::string_view account_id,
+                                             DeviceLocalAccountType type);
 
 enum class GetDeviceLocalAccountTypeError {
   kNoDeviceLocalAccountUser,
@@ -54,15 +55,16 @@ enum class GetDeviceLocalAccountTypeError {
 };
 
 // Returns the type of device-local account.
-POLICY_EXPORT
+COMPONENT_EXPORT(CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT)
 base::expected<DeviceLocalAccountType, GetDeviceLocalAccountTypeError>
 GetDeviceLocalAccountType(std::string_view user_id);
 
 // Returns whether |user_id| belongs to a device-local account.
 // This is equivalent to that GetDeviceLocalAccountType does not return
 // kNoDeviceLocalAccountUser error.
-POLICY_EXPORT bool IsDeviceLocalAccountUser(std::string_view user_id);
+COMPONENT_EXPORT(CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT)
+bool IsDeviceLocalAccountUser(std::string_view user_id);
 
 }  // namespace policy
 
-#endif  // COMPONENTS_POLICY_CORE_COMMON_DEVICE_LOCAL_ACCOUNT_TYPE_H_
+#endif  // CHROMEOS_ASH_COMPONENTS_POLICY_DEVICE_LOCAL_ACCOUNT_DEVICE_LOCAL_ACCOUNT_TYPE_H_
diff --git a/chromeos/ash/components/policy/system_features_disable_list/system_features_disable_list_policy_utils_unittest.cc b/chromeos/ash/components/policy/system_features_disable_list/system_features_disable_list_policy_utils_unittest.cc
index b92277e7274c6..979cbfdc31c59 100644
--- a/chromeos/ash/components/policy/system_features_disable_list/system_features_disable_list_policy_utils_unittest.cc
+++ b/chromeos/ash/components/policy/system_features_disable_list/system_features_disable_list_policy_utils_unittest.cc
@@ -8,11 +8,11 @@
 
 #include "base/functional/callback_helpers.h"
 #include "base/test/scoped_feature_list.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "chromeos/ash/components/settings/cros_settings.h"
 #include "chromeos/ash/components/settings/fake_cros_settings_provider.h"
 #include "chromeos/constants/chromeos_features.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/core/common/policy_pref_names.h"
 #include "components/policy/core/common/system_features_disable_list_constants.h"
 #include "components/prefs/pref_registry_simple.h"
diff --git a/components/policy/core/common/BUILD.gn b/components/policy/core/common/BUILD.gn
index e7c873aea63c9..dba951de34a9e 100644
--- a/components/policy/core/common/BUILD.gn
+++ b/components/policy/core/common/BUILD.gn
@@ -149,8 +149,6 @@ source_set("internal") {
     "config_dir_policy_loader.h",
     "configuration_policy_provider.cc",
     "configuration_policy_provider.h",
-    "device_local_account_type.cc",
-    "device_local_account_type.h",
     "external_data_fetcher.cc",
     "external_data_fetcher.h",
     "external_data_manager.h",
@@ -338,7 +336,10 @@ source_set("internal") {
     deps += [ "//components/policy/android:jni_headers" ]
   }
   if (is_chromeos) {
-    deps += [ "//chromeos/ash/components/system" ]
+    deps += [
+      "//chromeos/ash/components/policy/device_local_account",
+      "//chromeos/ash/components/system",
+    ]
     sources += [
       "default_chrome_apps_migrator.cc",
       "default_chrome_apps_migrator.h",
diff --git a/components/policy/core/common/DEPS b/components/policy/core/common/DEPS
index cc017e733c8da..fb00f0d16b89b 100644
--- a/components/policy/core/common/DEPS
+++ b/components/policy/core/common/DEPS
@@ -1,5 +1,6 @@
 include_rules = [
   "+absl/types/variant.h",
+  "+chromeos/ash/components/policy/device_local_account",
   "+chromeos/ash/components/system",
   "+chromeos/crosapi",
   "+chromeos/startup",
diff --git a/components/policy/core/common/cloud/affiliation.cc b/components/policy/core/common/cloud/affiliation.cc
index 36cdb587ebceb..97edbcb3d30e2 100644
--- a/components/policy/core/common/cloud/affiliation.cc
+++ b/components/policy/core/common/cloud/affiliation.cc
@@ -7,9 +7,12 @@
 #include "components/policy/core/common/cloud/cloud_policy_client.h"
 #include "components/policy/core/common/cloud/cloud_policy_core.h"
 #include "components/policy/core/common/cloud/cloud_policy_store.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/policy/proto/device_management_backend.pb.h"
 
+#if BUILDFLAG(IS_CHROMEOS)
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
+#endif
+
 namespace policy {
 
 bool IsAffiliated(const base::flat_set<std::string>& user_ids,
@@ -31,9 +34,11 @@ bool IsUserAffiliated(const base::flat_set<std::string>& user_affiliation_ids,
     return false;
   }
 
+#if BUILDFLAG(IS_CHROMEOS)
   if (IsDeviceLocalAccountUser(email)) {
     return true;
   }
+#endif
 
   return IsAffiliated(user_affiliation_ids, device_affiliation_ids);
 }
diff --git a/components/policy/core/common/features.cc b/components/policy/core/common/features.cc
index bfb26599de213..3d22f424aa288 100644
--- a/components/policy/core/common/features.cc
+++ b/components/policy/core/common/features.cc
@@ -18,12 +18,4 @@ BASE_FEATURE(kEnhancedSecurityEventFields,
              "EnhancedSecurityEventFields",
              base::FEATURE_DISABLED_BY_DEFAULT);
 
-// Enables Kiosk session for the Helium android app.
-BASE_FEATURE(kHeliumArcvmKiosk,
-             "HeliumArcvmKiosk",
-             base::FEATURE_DISABLED_BY_DEFAULT);
-bool IsHeliumArcvmKioskEnabled() {
-  return base::FeatureList::IsEnabled(kHeliumArcvmKiosk);
-}
-
 }  // namespace policy::features
diff --git a/components/policy/core/common/features.h b/components/policy/core/common/features.h
index 94016d28b8e6d..969677d26ad98 100644
--- a/components/policy/core/common/features.h
+++ b/components/policy/core/common/features.h
@@ -23,10 +23,6 @@ POLICY_EXPORT BASE_DECLARE_FEATURE(
 // Enables the addition of new security fields for SecOps.
 POLICY_EXPORT BASE_DECLARE_FEATURE(kEnhancedSecurityEventFields);
 
-// Enables Kiosk session for the Helium android app.
-POLICY_EXPORT BASE_DECLARE_FEATURE(kHeliumArcvmKiosk);
-POLICY_EXPORT bool IsHeliumArcvmKioskEnabled();
-
 }  // namespace policy::features
 
 #endif  // COMPONENTS_POLICY_CORE_COMMON_FEATURES_H_
diff --git a/components/user_manager/BUILD.gn b/components/user_manager/BUILD.gn
index c6fadcd7a288d..9c7ddf9c958e3 100644
--- a/components/user_manager/BUILD.gn
+++ b/components/user_manager/BUILD.gn
@@ -106,6 +106,7 @@ if (is_chromeos) {
       "//chromeos/ash/components/dbus/cryptohome",
       "//chromeos/ash/components/dbus/cryptohome:cryptohome_proto",
       "//chromeos/ash/components/dbus/userdataauth",
+      "//chromeos/ash/components/policy/device_local_account",
       "//chromeos/ash/components/settings",
       "//components/policy/core/common",
       "//components/prefs",
diff --git a/components/user_manager/DEPS b/components/user_manager/DEPS
index 0bad503d65a0b..553868cf6a0e3 100644
--- a/components/user_manager/DEPS
+++ b/components/user_manager/DEPS
@@ -1,6 +1,7 @@
 include_rules = [
   "+ash/constants",
   "+chromeos/ash/components/install_attributes",
+  "+chromeos/ash/components/policy/device_local_account",
   "+chromeos/ash/components/settings",
   "+components/account_id/account_id.h",
   "+components/pref_registry",
diff --git a/components/user_manager/test_helper.cc b/components/user_manager/test_helper.cc
index 1411c9744e844..f024d24686856 100644
--- a/components/user_manager/test_helper.cc
+++ b/components/user_manager/test_helper.cc
@@ -7,8 +7,8 @@
 #include "base/check_deref.h"
 #include "chromeos/ash/components/cryptohome/cryptohome_parameters.h"
 #include "chromeos/ash/components/dbus/userdataauth/userdataauth_client.h"
+#include "chromeos/ash/components/policy/device_local_account/device_local_account_type.h"
 #include "components/account_id/account_id.h"
-#include "components/policy/core/common/device_local_account_type.h"
 #include "components/prefs/scoped_user_pref_update.h"
 #include "components/user_manager/known_user.h"
 #include "components/user_manager/user_manager.h"