Skip to content

ApplyPolicyOverrides: never override per-device ClientIdentifier/SoftwareRepoURL (orphan guardrail)#73

Merged
rodchristiansen merged 1 commit into
mainfrom
fix/policy-no-override-clientidentifier
Jul 20, 2026
Merged

ApplyPolicyOverrides: never override per-device ClientIdentifier/SoftwareRepoURL (orphan guardrail)#73
rodchristiansen merged 1 commit into
mainfrom
fix/policy-no-override-clientidentifier

Conversation

@rodchristiansen

Copy link
Copy Markdown
Contributor

Incident

v0.1.4's ApplyPolicyOverrides reads HKLM\SOFTWARE\Policies\Cimian and let it win over Config.yaml. It overrode ClientIdentifier (per-device, computed by preflight from serial→Snipe-IT) and SoftwareRepoURL (preflight's runtime Mars/central choice) in addition to InstallerTimeout. A stale placeholder ClientIdentifier=EnrollClient shipped in the CimianPrefs profile therefore forced the whole fleet onto the enrollment manifest → orphaned devices (AB#3709).

Fix

Restrict policy override to genuinely fleet-static settings — InstallerTimeout only. ClientIdentifier and SoftwareRepoURL are per-device/runtime values owned by preflight and are no longer policy-overridable, so no future profile mistake can orphan the fleet through them. Builds clean (dotnet build -c Release, 0 warn/err).

…tifier/SoftwareRepoURL

The MDM policy override (HKLM\SOFTWARE\Policies\Cimian) previously overrode
ClientIdentifier and SoftwareRepoURL in addition to InstallerTimeout. Both are
per-device / runtime values that preflight recomputes every cycle: ClientIdentifier
from the serial via Snipe-IT, SoftwareRepoURL from local-cache (Mars) vs central
availability. Letting a static policy win silently replaced the correct per-device
value — a stale placeholder ClientIdentifier ('EnrollClient') shipped in a profile
forced the whole fleet onto the enrollment manifest and ORPHANED devices (AB#3709).

Restrict policy override to genuinely fleet-static settings (InstallerTimeout only).
Guardrail so no future profile mistake can orphan the fleet via these fields.
@rodchristiansen
rodchristiansen merged commit e5ec777 into main Jul 20, 2026
1 check passed
rodchristiansen added a commit that referenced this pull request Jul 20, 2026
…ientIdentifier/SoftwareRepoURL (#73)" (#74)

This reverts commit e5ec777.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants