Oliver Kieselbach a20ff48ae6 Backend:
- Add JWT-based authentication to all API endpoints
- Implement tenant isolation and access control validation
- Add Galactic Admin role validation for cross-tenant endpoints
- Enhance certificate validation with full X.509 chain checking
- Add certificate validation cache (5-min TTL) and self-signed cert protection
- Implement NDJSON payload size limit protection (configurable per tenant)
- Replace placeholder audit user identifiers with actual JWT user principals
- Add TenantHelper utility for consistent tenant/user extraction from tokens
- Disable PII logging in production (ShowPII = false)

Agent:
- Add automatic tenant ID detection from Windows Registry (AAD Join enrollment)
- Implement tenant ID precedence: CLI argument > Registry > Fallback

SignalR:
- Add authentication checks to all SignalR functions
- Implement tenant-based group access control
- Add user identifier logging for SignalR operations

Frontend:
- Change MSAL cache from localStorage to sessionStorage (XSS protection)
- Add warning status support to health check page
- Add Admin Configuration link in navbar (Galactic Admin only)
- Move maintenance trigger from Settings to Admin Configuration page
- Update tenant context logging for clarity

Configuration:
- Add MaxNdjsonPayloadSizeMB setting to TenantConfiguration model
- Update configuration service to persist new retention/timeout settings
2026-02-05 16:38:16 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 12:03:22 +01:00
2026-02-05 16:38:16 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00
2026-02-05 06:14:41 +01:00

Autopilot Monitor

Advanced monitoring and troubleshooting solution for Windows Autopilot deployments.

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 Windows Service that collects telemetry and evidence
  • Backend API - Azure Functions-based ingestion and processing pipeline
  • Web Dashboard - Next.js application for real-time monitoring and fleet analytics

Architecture

Device Side                     Azure Backend                    Web UI
┌──────────────┐               ┌──────────────┐                ┌──────────┐
│  Bootstrap   │──deploys──▶   │              │                │          │
│  Script      │               │   Azure      │◀───────────▶   │  Next.js │
└──────┬───────┘               │   Functions  │                │  Web App │
       │                       │              │                │          │
       ▼                       │  • Ingest    │                └──────────┘
┌──────────────┐               │  • Store     │
│  Monitoring  │──telemetry──▶ │  • Analyze   │
│  Agent       │    (mTLS)     │              │
└──────────────┘               └──────┬───────┘
                                      │
                                      ▼
                               ┌──────────────┐
                               │ Azure Table  │
                               │ Azure Blob   │
                               │ Azure SQL    │
                               └──────────────┘

Project Structure

Autopilot-Monitor/
├── src/
│   ├── Agent/                          # .NET monitoring agent
│   │   ├── AutopilotMonitor.Agent/              # Windows Service host
│   │   └── AutopilotMonitor.Agent.Core/         # Core monitoring logic
│   ├── Backend/                        # Azure Functions
│   │   └── AutopilotMonitor.Functions/
│   ├── Shared/                         # Shared models/contracts
│   │   └── AutopilotMonitor.Shared/
│   └── Web/                            # Frontend
│       └── autopilot-monitor-web/
├── scripts/
│   ├── Bootstrap/                      # Intune deployment scripts
│   └── Deployment/                     # Azure deployment scripts
├── rules/                              # YAML rule definitions
└── docs/                               # Documentation

Phase 1 Goals (Current)

  • Project structure setup
  • Bootstrap PowerShell script
  • Basic .NET agent with log tailing
  • Azure Functions ingestion API
  • Session registration and event storage
  • Minimal web UI (session list, timeline)

Getting Started

Prerequisites

  • .NET Framework 4.8 SDK (for Agent)
  • .NET 8 SDK (for Azure Functions)
  • Node.js 18+ (for Web UI)
  • Azure subscription
  • Visual Studio 2022 or VS Code

Development Setup

  1. Clone and restore packages

    git clone <your-repo>
    cd Autopilot-Monitor
    dotnet restore
    
  2. Set up local Azure Functions

    cd src/Backend/AutopilotMonitor.Functions
    cp local.settings.json.template local.settings.json
    # Edit local.settings.json with your Azure Storage connection string
    
  3. Set up web frontend

    cd src/Web/autopilot-monitor-web
    npm install
    cp .env.local.template .env.local
    # Edit .env.local with your API endpoint
    
  4. Build the agent

    cd src/Agent/AutopilotMonitor.Agent
    dotnet build
    

Running Locally

  1. Start Azure Functions (in one terminal)

    cd src/Backend/AutopilotMonitor.Functions
    func start
    
  2. Start Web UI (in another terminal)

    cd src/Web/autopilot-monitor-web
    npm run dev
    
  3. Test agent (as Administrator)

    cd src/Agent/AutopilotMonitor.Agent/bin/Debug
    .\AutopilotMonitor.Agent.exe --console
    

Documentation

Contributing

We welcome community contributions! See CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details

Roadmap

Phase 1: Foundation (Current)

  • Bootstrap and basic agent
  • Simple ingestion pipeline
  • Minimal UI

Phase 2: Intelligence

  • Rule engine
  • Diagnosis panel
  • Troubleshooting bundles

Phase 3: Polish

  • Fleet dashboard
  • User-facing portal
  • Multi-tenant support

Phase 4: Advanced

  • Pre-provisioning support
  • Custom rule authoring
  • Integration APIs
S
Description
Windows Autopilot & Intune enrollment monitoring: live session timelines, fleet health, diagnostics, and an MCP server for AI-assisted troubleshooting.
Readme AGPL-3.0 60 MiB
Languages
C# 72.7%
TypeScript 25.7%
PowerShell 1%
JavaScript 0.5%