Windows Autopilot Device Preparation
+ + Preview · GA only + +
Important:{" "}
diff --git a/src/Web/autopilot-monitor-web/app/settings/tenant/sections/SectionAutopilotValidation.tsx b/src/Web/autopilot-monitor-web/app/settings/tenant/sections/SectionAutopilotValidation.tsx
index 531a4747..719d8607 100644
--- a/src/Web/autopilot-monitor-web/app/settings/tenant/sections/SectionAutopilotValidation.tsx
+++ b/src/Web/autopilot-monitor-web/app/settings/tenant/sections/SectionAutopilotValidation.tsx
@@ -1,5 +1,6 @@
"use client";
+import { useAuth } from "@/contexts/AuthContext";
import { useTenantConfig } from "../../TenantConfigContext";
import { TenantNotifications } from "../../TenantNotifications";
import AutopilotValidationSection from "../../components/AutopilotValidationSection";
@@ -8,10 +9,21 @@ export function SectionAutopilotValidation() {
const {
validateAutopilotDevice, setValidateAutopilotDevice,
validateCorporateIdentifier, setValidateCorporateIdentifier,
+ validateDeviceAssociation,
+ handleToggleDeviceAssociationValidation,
autopilotConsentInProgress, savingSection,
beginDeviceValidationConsentFlow,
} = useTenantConfig();
+ const { user } = useAuth();
+ // DevPrep "Device association" is in Microsoft Private Preview — surface only to Global Admins
+ // until it ships GA. Backend always rejects writes from non-GA callers regardless of UI.
+ // TODO(devprep-followup): add vitest DOM-render test asserting toggle is hidden for
+ // non-GA users and visible for GA users. Requires adding jsdom + @testing-library/react
+ // to the web test setup (vitest.config.ts currently only matches *.test.ts, no JSX).
+ // Tracked in memory/project_devprep_followups.md.
+ const showDeviceAssociationToggle = user?.isGlobalAdmin === true;
+
return (
<>