ThreatLocker Organizations — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ThreatLocker Organizations (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.
ThreatLocker is built for MSPs and treats each customer as a child organization beneath the partner organization. The API key you authenticate with belongs to a parent (partner) org and can see all of its children. Most fleet-wide reporting and any tenant pivot work runs through this skill.
threatlocker_organizations_list_childrenReturns the full list of child organizations visible to the authenticated key — typically organizationId, organizationName, isPartner, parentOrganizationId, computer counts, and creation timestamp. This is the first call in nearly every multi-tenant workflow.
threatlocker_organizations_get_auth_keyRetrieves the auth key for a specific child organization. Used during agent provisioning and when a per-org integration (e.g. a client-facing dashboard) needs its own scoped credential.
Treat this output like any other secret. Don't paste it into tickets, chat, or unencrypted notes.
threatlocker_organizations_for_move_computersReturns the orgs that are valid destinations when relocating a computer — usually a subset of child orgs filtered by partnership and permission. Not the same as the full child list.
global computer groups, and parents customer orgs.
computers, org-specific groups, approvals, and Action Log entries.
Three ways to scope a call to a specific tenant:
organizationId header on the HTTP call.childOrganizations: true in a GetByParameters body toroll across all children at once.
See api-patterns for header/body details.
The fan-out pattern for any per-client report:
threatlocker_organizations_list_children to enumerate.organizationIdheader and produce per-tenant numbers.
childOrganizations: true onceand bucket results client-side by organizationId.
When a new customer is added in the ThreatLocker portal:
threatlocker_organizations_list_children and confirm the neworg appears.
threatlocker_organizations_get_auth_key for the new org andsecurely transmit the key to the deployment team.
computersskill and confirm at least one Action Log entry per endpoint via audit-log.
This happens when a client splits, merges, or you discover a computer was registered to the wrong tenant:
threatlocker_organizations_for_move_computers to confirm thetarget org is move-eligible.
ThreatLocker portal also exposes this in the UI).
threatlocker_computers_get and confirmthe new organizationId and that the computerGroup reset to the destination org's default.
organizationId header and callthreatlocker_approvals_pending_count.
most queue pressure (often a sign of policy mode mismatch or a newly onboarded client still in baseline).
hidden. The list endpoint may include a flag; ignore those for fleet reports.
work until rotated. Don't assume the key in your records is current; pull fresh when in doubt.
for_move_computers filters bypartner relationship. If an org isn't in the result, the source org's parent doesn't have permission to move into it.
organizationId and organizationName inmulti-tenant reports so a reader knows which client a number refers to.
tickets) and at rest.
confirm post-move state.
organizationId headerand childOrganizations body flag
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.