Every IME-sourced event now states what the writer wrote, what offset was applied, and how that offset was obtained: sourceLocalTs raw local time, verbatim, NO zone suffix sourceOffsetMinutes the offset subtracted sourceOffsetOrigin bias | calibrated | reader-zone-fallback Why: until now the only record of a conversion was the converted value, so a wrong offset was indistinguishable from a right one. Proving the field defect needed the diagnostics archive — and of the 5,386 sessions that went through a timezone change, essentially none had one, so the analysis had to fall back to median statistics across thousands of sessions to establish what one stored value makes obvious per session. It also makes a stored timestamp recomputable after the fact, without an agent release. No zone suffix on sourceLocalTs on purpose: the value genuinely carries none, and formatting one in would re-introduce the assumption this whole change removes. sourceOffsetMinutes is normalised to one sense (local = UTC + offset) across both origins. The wire bias uses the opposite GetTimeZoneInformation convention (UTC = local + bias), so a "+480" line is reported as -480; without that the field would flip sign depending on where the offset came from and be useless to compare. Added centrally in TagDerivedTimestamp, which all 14 emit sites already call, so this does not scatter through the adapter. DataJson only — no table schema change, so no Store/Map/seed chain and no backend deploy needed to start collecting it. Agent 2393 / backend 4313 green against a verified-clean build. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
AutopilotMonitor
Advanced monitoring and troubleshooting solution for Windows Autopilot deployments. Gain full visibility into every enrollment session with a detailed event timeline, fleet health dashboards, and session reporting. Define custom analysis rules to automatically detect issues and gather rules to collect targeted evidence. Retrieve diagnostics packages on demand, configure agent settings like auto-reboot behavior and automatic timezone adjustment — all managed centrally from the web dashboard.
Availability
Autopilot Monitor is publicly available — the Community plan is free. Sign in with your work account at autopilotmonitor.com; new organizations complete a short activation step after first sign-in.
Overview
Autopilot Monitor provides real-time tracking, intelligent diagnostics, and automated troubleshooting for Windows Autopilot enrollment processes. It consists of:
- Bootstrap Script — PowerShell script deployed via Intune that starts monitoring early in the enrollment process
- Monitoring Agent — Lightweight .NET application that collects telemetry and evidence during enrollment
- Backend API — Azure Functions-based ingestion and processing pipeline
- Web Dashboard — Next.js application for real-time monitoring and fleet analytics
Architecture
For detailed information about the system architecture, components, and data flow, see Architecture Documentation.
Documentation
Full admin documentation is available at docs.autopilotmonitor.com
License
This project uses a split licensing model:
- MIT License — Agent (
src/Agent/) and Shared library (src/Shared/) — unrestricted use on end-user devices - AGPL-3.0 — Backend (
src/Backend/), Web Dashboard (src/Web/), and MCP Server (src/McpServer/) — server-side components remain open source
See LICENSE for full details.



