Back to Intelligence

GM Just Paid $220 Million for a Blind Spot. How Many Do You Have Across Your Clients?

SA
AlertMonitor Team
October 31, 2026
10 min read

GM has agreed to pay roughly $220 million to settle with a multistate coalition of attorneys general over driver tracking — collecting location and driving-behavior data through its connected services, passing it along to data brokers, and doing it without consent that survives scrutiny. The Register's summary tells you how painful it was to write the check: "$220 million? For all of you? Yeah, we can probably dig that up..."

Here's the part that should keep you up at night: nobody hacked GM. Every system did exactly what it was configured to do. The failure was that nobody inside the company had a complete, provable picture of what those systems were collecting and where it was going. When the states started asking questions, the answer cost a quarter of a billion dollars.

Now ask yourself the uncomfortable version of that question: do you actually know what is happening across every client environment you manage — and could you prove it under oath?

If you run an MSP or an internal IT team, you probably can't, and deep down you know it. You're running PRTG or SolarWinds for uptime, NinjaOne or ConnectWise for RMM, HaloPSA or Manage for tickets, WSUS or PDQ for patching, IT Glue for documentation. That's twelve tabs across five tools to support a single client. The alert fires in one tool, the ticket lives in another, the fix happens in a third, and a record of all three exists nowhere.

GM's settlement is the enterprise-scale version of the problem you live with every shift: what you can't see, you can't respond to — and what you can't prove will eventually cost you.

The Problem in Depth: Five Tools, One Truth, Scattered Between Them

Why the blind spots exist

The gaps aren't a people problem. They're architectural:

  • Siloed data models. Your RMM knows the patch state of every endpoint. Your monitoring tool knows disk latency on the file server. Your helpdesk knows the user is furious. Nothing correlates the three, so no single screen ever shows the full story of an incident.
  • Legacy tooling with bolted-on integration. Most "integration" between these platforms is a webhook here, a CSV export there, and a PowerShell sync script someone wrote in 2019 that breaks every time an API version changes.
  • Licensing-driven under-monitoring. Per-device and per-seat pricing turns monitoring coverage into a cost decision. Low-tier clients get thin coverage, thresholds drift out of date, and the devices nobody explicitly assigned to a monitor quietly become invisible.
  • Human-synced records. A tech sees a monitoring email and manually creates a ticket. Another tech manually updates the patch tracker. Every manually transferred fact starts decaying the moment it's typed.

What it actually costs you

Scenario 1: The Saturday night database fill. The DB volume grows 3% a day for three weeks. A disk alert for that server exists — on the wrong volume — in a monitoring tool whose alerts route to a shared inbox nobody watches on weekends. The RMM's own disk check warns at 5% free, which is precisely when there's no room left to warn. Monday, 8:40 AM: ticket flood, six hours of downtime, an angry operations director. The post-mortem is brutal in one specific way: the data needed to prevent this existed in three separate tools. Nobody ever saw it assembled.

Scenario 2: The SLA dispute you lose on a technicality. The client claims you breached the four-hour response commitment. Your helpdesk shows first response at 3h52m — technically a pass. Except the monitoring alert fired 47 minutes before anyone created the ticket, and your contract says the clock starts at detection. Detection lives in a tool that doesn't talk to the helpdesk, so you can't prove when you actually knew. You eat the service credit, and your account manager spends the next week rebuilding trust by hand.

Scenario 3: The insurance renewal. Your cyber insurance carrier and three clients' security questionnaires want 90 days of patch compliance evidence across 40 client environments. Two technicians, three days of exports from three different patch systems, stitched together in Excel — and you're still not confident in row one of the spreadsheet.

Scenario 4: The quiet burnout. Research on task switching consistently shows it takes 15–25 minutes to fully refocus after an interruption. A technician toggling between RMM, monitoring, helpdesk, and remote tools dozens of times per day never gets those minutes back. Meanwhile the NOC drowns in thousands of alerts a month, most of it noise, and the two that mattered are buried under a hundred untuned Disk C: warnings.

The GM lesson, translated for MSPs

When state regulators asked GM to account for what its systems collected, the bill was $220 million. When your client's auditor, insurer, or incoming CIO asks you to account for what happened in their environment, the bill is measured in service credits, lost renewals, or the contract itself. Accountability you can't produce on demand is a liability you're carrying on every account.

How AlertMonitor Closes the Gaps

AlertMonitor was built multi-tenant from day one — not a single-tenant tool wearing an MSP costume. That shows up in the places that matter:

  • One device record, one truth. Monitoring telemetry, RMM actions, patch state, ticket history, and network topology all attach to the same device under the same client. When something breaks, you see the complete history of that machine — including what your team did about it last time.
  • Alert-to-ticket with an honest SLA clock. A critical alert automatically creates a ticket, routed per-client by your rules, and the SLA timer starts at detection, not ticket creation. Scenario 2 stops being a dispute because the timeline is the evidence.
  • Action from the alert, not around it. Remote session, service restart, script execution — launched directly from the alert context. The action writes itself into the device timeline; nobody has to remember to document it.
  • Per-client alert routing and SLA thresholds. Client A gets 24/7 paging on anything critical. Client B gets business-hours escalation with a 15-minute warning. Configure it once per client and the unified NOC view enforces it across all clients simultaneously.
  • Patching wired into monitoring. A failed patch deployment surfaces as an alert on that exact device. Compliance reporting becomes a filter, not an archaeology project.

The workflow, before and after

The old way: 2:13 AM disk alert → email to a shared inbox → seen at 6:40 AM → tech manually opens a ticket in the PSA → RDP through the RMM → checks patch status in a different module → documents the fix in two more places. Total detection-to-action: 4.5 hours, documented in fragments.

The AlertMonitor way: 2:13 AM alert → auto-ticket created with the SLA clock already running → push notification to on-call per that client's routing rules → tech opens the device from the alert and runs the cleanup script or expands the volume from the same pane → timeline auto-records everything. Detection-to-action: minutes, documented completely by default.

What consolidation actually pays back

Consolidating monitoring, RMM, helpdesk, patching, and network mapping into one platform eliminates duplicate per-seat licensing, three competing agents fighting over the same endpoints, and the pile of integration scripts you maintain as unpaid side work. The licensing savings fund the switch; the recovered technician hours are the real product.

Practical Steps You Can Take This Week

1. Map your blind spots honestly

Make a grid: every device class you manage (servers, switches, firewalls, printers, workstations) against every tool you own. Anything with no active monitor is a blind spot, and disk volumes and critical services are where blind spots bite hardest.

2. Sweep patch compliance with a script — then make it continuous

Until compliance reporting is native to your stack, a sweep across a client's servers takes two minutes:

PowerShell
# Check which servers in a client environment are missing a specific KB
$servers = Get-Content 'C:\Reports\ClientA_servers.txt'
$kb = 'KB5034441'

$results = foreach ($srv in $servers) {
    $hotfix = Get-HotFix -ComputerName $srv -ErrorAction SilentlyContinue |
        Where-Object HotFixID -eq $kb
    [PSCustomObject]@{
        Server      = $srv
        KB          = $kb
        Patched     = [bool]$hotfix
        InstalledOn = $(if ($hotfix) { $hotfix.InstalledOn } else { $null })
    }
}

$results | Export-Csv 'C:\Reports\ClientA_patch_compliance.csv' -NoTypeInformation
$results | Where-Object { -not $_.Patched } | Format-Table Server -AutoSize

In AlertMonitor, patch compliance is per-client out of the box — this script is the stopgap for the environments still stranded on the old tooling.

3. Find the disks that will ruin someone's Monday

PowerShell
# Low-disk sweep across a client's servers — anything under 15% free surfaces here
$results = foreach ($srv in (Get-Content 'C:\Reports\ClientA_servers.txt')) {
    Get-CimInstance -ComputerName $srv -ClassName Win32_LogicalDisk -Filter 'DriveType=3' |
        ForEach-Object {
            [PSCustomObject]@{
                Server  = $srv
                Drive   = $_.DeviceID
                FreeGB  = [math]::Round($_.FreeSpace / 1GB, 1)
                TotalGB = [math]::Round($_.Size / 1GB, 1)
                PctFree = [math]::Round(($_.FreeSpace / $_.Size) * 100, 1)
            }
        }
}

$results | Where-Object { $_.PctFree -lt 15 } | Sort-Object PctFree | Format-Table -AutoSize

Then turn the recurring offenders into monitored thresholds with trend alerting, so you're notified at 20% free — not when the transaction log hits the wall.

4. Kill the shared-inbox failure point

Audit where your critical alerts route today. If a shared mailbox is anywhere in the path, that is your 2 AM failure. In AlertMonitor, per-client routing sends critical alerts straight to the on-call technician's mobile with auto-escalation — and the ticket already exists before anyone opens a screen.

5. Put a watchdog on the legacy systems you can't replace yet

Bash / Shell
# Restart a critical service if it dies, and log the action for the audit trail
systemctl is-active --quiet nginx || { systemctl restart nginx; echo "$(date '+%F %T') nginx restarted on $(hostname)" >> /var/log/service_watchdog.log; }

The log line matters as much as the restart: an action that isn't recorded is indistinguishable from an action that never happened.

6. Build your first evidence pack

Pull a 90-day timeline for your highest-risk client — every alert, action, patch deployment, and ticket in one export. Attach it to the QBR folder, the insurance file, and the compliance binder. If your current tooling can't produce that in one click, that tool is a liability, not a platform.

The Bottom Line

GM could absorb a $220 million settlement. Most MSPs cannot absorb their version of it: the lost client, the failed attestation, the renewals that quietly don't renew, or the senior technician who resigns because the tooling made every shift a scramble.

The states didn't fine GM for malicious behavior. They fined it for systems doing things nobody could see, control, or account for. That is the exact gap between an MSP that fires alerts into inboxes and one that runs a unified platform with a provable record of everything. Close the gap before someone else charges you for it.

Related Resources

AlertMonitor MSP Operations & Team Efficiency AlertMonitor Platform Overview Book a Demo MSP Operations & Team Efficiency Resources

msp-operationsmanaged-servicesmulti-tenantmsp-efficiencyalertmonitorrmmpatch-managementsla-reporting

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.

GM Just Paid $220 Million for a Blind Spot. How Many Do You Have Across Your Clients? | AlertMonitor | AlertMonitor