Liongard Systems — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Liongard Systems (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Systems are the entities discovered during Liongard inspections. When a launchpoint runs an inspection, it discovers systems such as servers, firewalls, cloud services, user accounts, domain controllers, and other infrastructure components. Each system carries detailed configuration data captured at the time of inspection, giving a historical record of the IT environment.
of something an inspection found. Rebooting it, patching it, or running a script needs the RMM that manages it: ncentral-devices, atera-agents, syncro-assets, superops-assets, or immybot-endpoint-management.
Hand-maintained documentation, passwords, and CIs live in hudu-assets or itglue-configurations.
problem; use liongard-inspections.
liongard-detections.A system is identified by ID and always traces back to the InspectorID that found it, the LaunchpointID that produced it, and the parent EnvironmentID. Status is one of Active, Inactive, or Error; LastInspection tells you how fresh the data is. DetailCount and DetectionCount are only returned on the single-system GET, not in list responses.
See references/fields.md for the complete field reference and the entity relationship map.
System details contain the raw configuration data captured during inspections — the actual IT documentation payload: user lists, firewall rules, backup statuses, license counts, security settings. Details are stored as structured JSON under a top-level Data key and can be queried with JMESPath via the dataprints API. Details are versioned: passing ?date=YYYY-MM-DD returns the snapshot as of that date, which is what makes configuration diffing possible.
Dataprints evaluate a JMESPath expression server-side against a system's detail record, so you retrieve exactly the fields you need instead of pulling the whole detail document and parsing it client-side.
Asset Inventory aggregates identities and devices across all inspectors into single profiles. Each profile carries a Sources array showing every inspector that observed that entity — an AD account and its Microsoft 365 counterpart resolve to one identity, a physical host and its vSphere VM record to one device. This is the cross-platform view; per-inspector data stays on the systems themselves. Note that inventory IDs are UUID strings, not the integer IDs used elsewhere in the API.
| Expression | Description | |
|---|---|---|
Data.Field | Direct field access | |
Data.Array[0] | First array element | |
Data.Array[*].Name | All Name values from array | |
Data.Array[?Status=='Active'] | Filter array elements | |
Data.{a: Field1, b: Field2} | Multi-select hash | |
| `Data.Array | length(@)` | Count array elements |
| `Data.Array[*].Name | sort(@)` | Sort values |
Data.Array[?Age > \30\] | Numeric comparison |
The full endpoint catalog with request/response bodies lives in references/api.md. The non-obvious parts:
environmentId, inspectorId, launchpointId — while response bodies are PascalCase (Data, TotalRows, HasMoreRows, CurrentPage, TotalPages, PageSize). Page until HasMoreRows is false.GET /api/v1/systems/{systemId}/detail. Add ?date= for a historical snapshot.POST /api/v2/dataprints-evaluate-systemdetailid with {"SystemDetailID": ..., "Expression": ...}, returning a bare {"Result": ...}. Note it keys on the system detail ID, not the system ID./api/v2/inventory/identities and /api/v2/inventory/devices, each with a /{id} single-fetch.See references/examples.md for worked implementations of paginated system retrieval and dataprint extraction.
pageSize rather than many small requests.LastInspection on the system before treating it as missing.See references/errors.md for the complete API and JMESPath error tables.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.