<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Snipe RMM</title>
    <description>The latest articles on DEV Community by Snipe RMM (snipermm).</description>
    <link>https://dev.to/snipermm</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F14231%2F9ae0a3c2-58b6-45b1-8b53-043400a3e45a.png</url>
      <title>DEV Community: Snipe RMM</title>
      <link>https://dev.to/snipermm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/snipermm"/>
    <language>en</language>
    <item>
      <title>How to Prove Every Company Laptop Is Managed: An Endpoint Audit Evidence Checklist</title>
      <dc:creator>Ian Jasper Sivam</dc:creator>
      <pubDate>Sun, 02 Aug 2026 15:34:12 +0000</pubDate>
      <link>https://dev.to/snipermm/how-to-prove-every-company-laptop-is-managed-an-endpoint-audit-evidence-checklist-383k</link>
      <guid>https://dev.to/snipermm/how-to-prove-every-company-laptop-is-managed-an-endpoint-audit-evidence-checklist-383k</guid>
      <description>&lt;p&gt;A spreadsheet containing laptop serial numbers is not proof that every endpoint is managed. It proves only that someone created a spreadsheet.&lt;/p&gt;

&lt;p&gt;For an audit, customer security review, onboarding check, or incident investigation, the evidence needs to connect four facts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The organisation expects the device to exist.&lt;/li&gt;
&lt;li&gt;The device is assigned to an accountable owner or lifecycle state.&lt;/li&gt;
&lt;li&gt;A management or monitoring control is actively reporting from it.&lt;/li&gt;
&lt;li&gt;The reported evidence is recent enough to support the decision being made.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A device can appear in an asset register while being absent from the management platform. It can also appear in the management platform while belonging to a former employee or reporting data that is months old.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Control objective:&lt;/strong&gt; Maintain a current, reconciled inventory of expected endpoints, managed endpoints, owners, security state, and unresolved exceptions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. Define what "managed" means before counting devices
&lt;/h2&gt;

&lt;p&gt;Teams often use the word &lt;em&gt;managed&lt;/em&gt; without an operational definition. That creates false confidence. An endpoint should not count as managed merely because an agent was installed once.&lt;/p&gt;

&lt;p&gt;For a company-owned laptop, a practical definition normally requires all of the following.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criterion&lt;/th&gt;
&lt;th&gt;Minimum evidence&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Identity&lt;/td&gt;
&lt;td&gt;Hostname, serial number, hardware identifier, operating system, and management record can be tied to one device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ownership&lt;/td&gt;
&lt;td&gt;Named user, department, custodian, stock status, repair status, or retirement state&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Control&lt;/td&gt;
&lt;td&gt;Expected MDM, RMM, EDR, or other endpoint control is enrolled and associated with the correct organisation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Freshness&lt;/td&gt;
&lt;td&gt;Last check-in and evidence timestamps fall within a documented threshold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Posture&lt;/td&gt;
&lt;td&gt;Update, encryption, firewall, antimalware, restart, and other required states are known&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accountability&lt;/td&gt;
&lt;td&gt;Deviations have a reason, owner, approval, target date, and review history&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A device that fails one criterion should not disappear from the report. It should remain visible as an exception.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Reconcile three sources of truth
&lt;/h2&gt;

&lt;p&gt;No single system usually proves complete fleet coverage. Each source answers a different question.&lt;/p&gt;

&lt;h3&gt;
  
  
  HR or identity roster
&lt;/h3&gt;

&lt;p&gt;This shows who currently works for the organisation, which employment state applies, and which users should possess company equipment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Procurement or asset register
&lt;/h3&gt;

&lt;p&gt;This shows which laptops were purchased, received, assigned, stored, repaired, lost, returned, or retired.&lt;/p&gt;

&lt;h3&gt;
  
  
  Endpoint platforms
&lt;/h3&gt;

&lt;p&gt;MDM, RMM, EDR, and similar platforms show which devices are currently enrolled, checking in, reporting posture, and available for approved administration.&lt;/p&gt;

&lt;p&gt;Use stable identifiers wherever possible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manufacturer serial number&lt;/li&gt;
&lt;li&gt;Hardware UUID or platform identifier&lt;/li&gt;
&lt;li&gt;Agent or enrolment identifier&lt;/li&gt;
&lt;li&gt;Asset tag&lt;/li&gt;
&lt;li&gt;Primary user or custodian&lt;/li&gt;
&lt;li&gt;Hostname and tenant or domain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Names and email addresses change. Hostnames can be reused. A stable identifier reduces false matches.&lt;/p&gt;

&lt;h3&gt;
  
  
  Classify every mismatch
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mismatch&lt;/th&gt;
&lt;th&gt;Likely meaning&lt;/th&gt;
&lt;th&gt;Required action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Employee exists, no assigned endpoint&lt;/td&gt;
&lt;td&gt;New starter, shared device, incomplete onboarding, or no device required&lt;/td&gt;
&lt;td&gt;Confirm the expected state and record the decision&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Asset exists, no endpoint record&lt;/td&gt;
&lt;td&gt;Agent missing, device offline, stored equipment, repair, or registration failure&lt;/td&gt;
&lt;td&gt;Locate the asset and restore reporting or classify its lifecycle state&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Endpoint exists, no asset record&lt;/td&gt;
&lt;td&gt;Unrecorded purchase, duplicate, personal device, test system, or unauthorised asset&lt;/td&gt;
&lt;td&gt;Identify ownership and approve, register, isolate, or remove it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Former user remains assigned&lt;/td&gt;
&lt;td&gt;Incomplete offboarding or stale ownership data&lt;/td&gt;
&lt;td&gt;Recover, wipe, reassign, store, or retire the device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Device has not checked in&lt;/td&gt;
&lt;td&gt;Travel, leave, failure, reimage, disposal, or control removal&lt;/td&gt;
&lt;td&gt;Investigate according to the evidence-age threshold&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  3. Collect the minimum evidence needed
&lt;/h2&gt;

&lt;p&gt;More fields do not automatically produce better evidence. Collect fields that answer identity, ownership, control, posture, history, and accountability questions.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Evidence group&lt;/th&gt;
&lt;th&gt;Minimum fields&lt;/th&gt;
&lt;th&gt;What it supports&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Device identity&lt;/td&gt;
&lt;td&gt;Hostname, serial number, manufacturer, model, hardware identifier&lt;/td&gt;
&lt;td&gt;The record refers to a specific endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ownership&lt;/td&gt;
&lt;td&gt;Assigned user, department, custodian, asset tag, lifecycle state&lt;/td&gt;
&lt;td&gt;The organisation knows who is accountable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Management state&lt;/td&gt;
&lt;td&gt;Agent or enrolment ID, profile, first seen, last seen, agent version&lt;/td&gt;
&lt;td&gt;The device is connected to the intended control plane&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Operating system&lt;/td&gt;
&lt;td&gt;Edition, version, build, architecture, install date, last boot&lt;/td&gt;
&lt;td&gt;Platform and support context are known&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Update evidence&lt;/td&gt;
&lt;td&gt;Last scan, last successful install, pending updates, failures, restart state&lt;/td&gt;
&lt;td&gt;Patch conclusions are based on current evidence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security posture&lt;/td&gt;
&lt;td&gt;Disk encryption, firewall, antimalware or EDR, Secure Boot, TPM where applicable&lt;/td&gt;
&lt;td&gt;Required endpoint controls have known states&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Software&lt;/td&gt;
&lt;td&gt;Application name, version, publisher, install scope, detection time&lt;/td&gt;
&lt;td&gt;Installed software can be reviewed and investigated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change history&lt;/td&gt;
&lt;td&gt;Ownership, software, update, posture, enrolment, and administrator events&lt;/td&gt;
&lt;td&gt;Current state can be distinguished from historical changes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The &lt;a href="https://www.nist.gov/cyberframework" rel="noopener noreferrer"&gt;NIST Cybersecurity Framework 2.0&lt;/a&gt; includes asset-management outcomes for maintaining inventories of managed hardware and managed software, services, and systems.&lt;/p&gt;

&lt;p&gt;The Australian Signals Directorate's &lt;a href="https://www.cyber.gov.au/business-government/asds-cyber-security-frameworks/ism/cyber-security-guidelines/guidelines-for-system-management" rel="noopener noreferrer"&gt;Guidelines for system management&lt;/a&gt; state that software registers should contain versions and patch histories for applications, drivers, operating systems, and firmware.&lt;/p&gt;

&lt;p&gt;Microsoft's current Intune documentation shows the same practical pattern at the device level: identity, ownership, hardware, installed applications, compliance, and configuration status are separate pieces of evidence rather than one generic health score.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Do not infer evidence that was not collected.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An empty encryption field is not the same as "not encrypted". It may mean collection failed, the platform is unsupported, or the device has not reported recently. Use explicit states such as compliant, non-compliant, unknown, unsupported, and stale.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  4. Set evidence freshness rules
&lt;/h2&gt;

&lt;p&gt;A correct inventory snapshot eventually becomes stale. The acceptable age depends on how often devices are expected to connect and how quickly the underlying state can change.&lt;/p&gt;

&lt;p&gt;A simple operating model is:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;State&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Current&lt;/td&gt;
&lt;td&gt;Evidence is recent enough for normal operational and audit use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Review&lt;/td&gt;
&lt;td&gt;The device is approaching the threshold and needs context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stale&lt;/td&gt;
&lt;td&gt;The reported state can no longer support a current conclusion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exception&lt;/td&gt;
&lt;td&gt;A documented reason, owner, compensating control, and review date exist&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Do not use one threshold for every field.&lt;/p&gt;

&lt;p&gt;A serial number changes rarely. Installed software, update state, restart requirements, and security posture can change quickly. Store collection timestamps at the evidence level where possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Treat exceptions as controlled work
&lt;/h2&gt;

&lt;p&gt;The objective is not to produce a perfect green dashboard. It is to expose gaps and show that each gap is understood and controlled.&lt;/p&gt;

&lt;p&gt;Each exception should include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Affected device and control&lt;/li&gt;
&lt;li&gt;Evidence that triggered the exception&lt;/li&gt;
&lt;li&gt;Severity or operational priority&lt;/li&gt;
&lt;li&gt;Assigned owner&lt;/li&gt;
&lt;li&gt;Business or technical reason&lt;/li&gt;
&lt;li&gt;Approved compensating control, where relevant&lt;/li&gt;
&lt;li&gt;Target resolution or review date&lt;/li&gt;
&lt;li&gt;Status and activity history&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples include a laptop held in evidence, a travelling employee with limited connectivity, a known update block, an approved legacy application, or a device awaiting replacement.&lt;/p&gt;

&lt;p&gt;The exception should remain visible until it is resolved or formally retired.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Build an audit package that can be reproduced
&lt;/h2&gt;

&lt;p&gt;A useful audit package lets another reviewer understand the scope, collection time, population, exceptions, and responsible owners without reconstructing the process from screenshots.&lt;/p&gt;

&lt;p&gt;Include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scope statement&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Organisation, business unit, device types, operating systems, locations, and exclusions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expected population&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Current employees, contractors, shared devices, stock, loan units, repair units, and other lifecycle states.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reconciled inventory&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
One row per device with stable identifiers, owner, management state, and last evidence time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security and update exceptions&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Unknown, failed, stale, unsupported, or non-compliant states with accountable owners.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Change and action history&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Material inventory changes and approved administrative actions during the review period.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Method and limitations&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Collection tools, refresh intervals, unsupported fields, known blind spots, and export timestamp.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Preserve the original export or report, its generation time, and any filtering criteria.&lt;/p&gt;

&lt;p&gt;A screenshot can support a finding, but it should not be the only evidence when structured records are available.&lt;/p&gt;

&lt;h2&gt;
  
  
  Endpoint audit evidence checklist
&lt;/h2&gt;

&lt;p&gt;Use this as a working review list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Define the criteria an endpoint must meet to count as managed&lt;/li&gt;
&lt;li&gt;[ ] Export the current HR or identity roster&lt;/li&gt;
&lt;li&gt;[ ] Export the current procurement or asset register&lt;/li&gt;
&lt;li&gt;[ ] Export all endpoint records from the relevant management platforms&lt;/li&gt;
&lt;li&gt;[ ] Match records using serial numbers and other stable identifiers&lt;/li&gt;
&lt;li&gt;[ ] Identify employees without expected devices&lt;/li&gt;
&lt;li&gt;[ ] Identify assets without current endpoint records&lt;/li&gt;
&lt;li&gt;[ ] Identify endpoint records without approved assets or owners&lt;/li&gt;
&lt;li&gt;[ ] Identify stale devices using documented evidence-age thresholds&lt;/li&gt;
&lt;li&gt;[ ] Review unknown, unsupported, failed, and non-compliant states separately&lt;/li&gt;
&lt;li&gt;[ ] Assign owners and target dates to every unresolved exception&lt;/li&gt;
&lt;li&gt;[ ] Preserve the export time, scope, filters, and collection limitations&lt;/li&gt;
&lt;li&gt;[ ] Retain the reconciled inventory and exception history for the audit period&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where Snipe RMM fits
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://snipermm.com/" rel="noopener noreferrer"&gt;Snipe RMM&lt;/a&gt; is being developed around the evidence lifecycle used in this guide:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Collect endpoint state&lt;/li&gt;
&lt;li&gt;Identify the exception&lt;/li&gt;
&lt;li&gt;Permit controlled action&lt;/li&gt;
&lt;li&gt;Preserve administrative history&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The platform is intended to help lean IT and security teams inspect Windows and Linux endpoint records, review posture evidence, triage alerts, and use approved operational actions from one tenant-scoped interface.&lt;/p&gt;

&lt;p&gt;It can support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Endpoint identity and inventory evidence&lt;/li&gt;
&lt;li&gt;Last-seen and evidence-age review&lt;/li&gt;
&lt;li&gt;Security posture and operational exceptions&lt;/li&gt;
&lt;li&gt;Controlled jobs and auditable activity&lt;/li&gt;
&lt;li&gt;Fleet-level and device-level investigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does &lt;strong&gt;not&lt;/strong&gt; claim to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatically certify an organisation against a framework&lt;/li&gt;
&lt;li&gt;Replace organisational policies and procedures&lt;/li&gt;
&lt;li&gt;Prove data that the agent or integration did not collect&lt;/li&gt;
&lt;li&gt;Remove the need for human exception review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can inspect the current workflow in the &lt;a href="https://snipermm.com/demo/" rel="noopener noreferrer"&gt;interactive Snipe RMM demo&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Authoritative references
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.nist.gov/cyberframework" rel="noopener noreferrer"&gt;NIST Cybersecurity Framework 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cyber.gov.au/business-government/asds-cyber-security-frameworks/ism/cyber-security-guidelines/guidelines-for-system-management" rel="noopener noreferrer"&gt;Australian Signals Directorate: Guidelines for system management&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/intune/device-management/inventory-and-status/device-details" rel="noopener noreferrer"&gt;Microsoft Learn: See device details in Intune&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/intune/app-management/deployment/enhanced-app-inventory" rel="noopener noreferrer"&gt;Microsoft Learn: App inventory for Windows devices&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This article describes an operational evidence workflow. It is not legal advice, audit certification, or a guarantee that any specific framework requirement has been met.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published by &lt;a href="https://snipermm.com/blog/prove-every-company-laptop-is-managed/" rel="noopener noreferrer"&gt;Snipe RMM&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>sysadmin</category>
      <category>security</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
