Skip to content
PLATFORM

It watches itself.
Then proves it.

A growing set of connected operational foundations, so the AI story on the rest of this site has something real underneath it — not a demo, a running control plane with explicit endpoint trust, data-plane boundaries, and AI-agent security evidence.

Drift Detection
Alert Center
Policy Packs
Identity Sync
Key Custody
Reporting
Application Intelligence
Model Delivery
Maintenance Packages
Competitor Imports
Queue Health
Quarantine Replay
Agent Threat Rules
Agent Behavior Verification
AI Exposure Inventory
Memory Security
01 — DRIFT DETECTION · SHIPPED

Every heartbeat is a compliance check.

A desired-state policy pairs a telemetry state key with a comparison against tenant-wide or per-endpoint scope. Every daemon heartbeat carries a full state snapshot; the control plane evaluates it for drift the moment it arrives.

Remediable findings still go through the same Decision Engine and command ACL as everything else. Auto-execute verdicts get Ed25519-signed and pushed live; everything else becomes a pending approval.

TRIGGER
Evaluated on every daemon heartbeat — not a polling loop, not a nightly job
COMPARISONS
PRESENT · ABSENT · EQUALS · NOT_EQUALS against a flat telemetry snapshot
SCOPE
Desired-state policies apply tenant-wide or to a single endpoint
REMEDIATION
Routed through the same risk score and command ACL as any other action; generic snapshot, validation, and rollback orchestration remains roadmap work
02 — ALERT CENTER · SHIPPED

One queue, not five dashboards of noise.

Every signal producer — drift today, more sources on the roadmap — raises into the same queue through one entry point. A flapping check bumps an occurrence count instead of spamming duplicate tickets.

One dedup-aware queue your technicians actually watch, instead of five noisy ones they’ve learned to ignore.

DEDUP
A Postgres partial unique constraint on the dedup key — race-safe against concurrent inserts, not an application-level check
LIFECYCLE
open → acknowledged → resolved
WEBHOOKS
alert.raised and alert.resolved only — acknowledging doesn’t spam your PSA integration
ACCESS
Read is open to every tenant role, including viewer and auditor
03 — POLICY PACKS · SHIPPED

Two seeded baselines. Versioned, not one-off.

Applying a pack instantiates versioned desired-state policies across a tenant or a single endpoint. Re-applying reconciles by state key without touching anything you’ve hand-authored.

Bounded Windows and Linux collectors now report the seeded baseline keys and fail closed when a probe cannot produce an explicit result. Broad remediation and macOS coverage remain roadmap work.

WINDOWS BASELINE
10 checks — Defender real-time + signatures, all 3 firewall profiles, RDP NLA, SMBv1 disabled, BitLocker, guest account, pending reboot
LINUX BASELINE
9 checks — SSH root-login/password-auth, host firewall, auto security updates, fail2ban, SELinux/AppArmor, locked root password, NTP, pending reboot
REAPPLY
Reconciles by state key, versioned, admin-only apply/unapply
HONEST STATUS
Windows and Linux baseline collection is shipped; macOS collection, vulnerability ingestion, and verified closed-loop remediation are not
04 — IDENTITY · SHIPPED (PARTIAL)

Directory sync today. SSO login is next.

Three working connectors pull directory users, groups, memberships and MFA state read-only for access review — Graph API, Okta’s management API, and the Admin SDK Directory API.

Worth being precise about: this is visibility into who has access, not a login button. We’d rather ship half the feature honestly labeled than the whole feature vaguely implied.

WORKING TODAY
Entra ID · Okta · Google Workspace — read-only directory, group and MFA-state enumeration
MODELED, NOT BUILT
On-prem Active Directory and generic SCIM/LDAP — designed to sync through the daemon later
OPERATOR SSO
Not shipped. Directory sync for access review and logging into EliteMSP itself are two different, separate pieces of work
WRITE-BACK
Designed, not implemented — today this is read-only visibility
05 — KEY CUSTODY · SHIPPED

One config value between local keys and shared custody.

Every endpoint’s Ed25519 signing key lives in one of two places, selectable per deployment — not a hardcoded assumption baked in at install time.

That’s not a cosmetic option. It’s what moves signing keys out of local disk and into shared, envelope-encrypted storage — one scale-out blocker removed, not a scale-out claim.

FILESYSTEM (DEFAULT)
Raw Ed25519 keys on local disk — simple, single-node only
POSTGRES
The same keys, Fernet envelope-encrypted under a 32-byte master key
WHY IT MATTERS
The database-backed store removes one scale-out blocker. The supported topology is still a single active control-plane process: the chart rejects replicaCount > 1 and the daemon connection registry remains process-local.
SWITCH
One environment variable — MSPMANAGER_SIGNING_KEY_STORE — no data migration tool required
06 — REPORTING · SHIPPED

Seventeen reports your MSP already needed.

Built from the platform’s own data, not a separate BI tool bolted on top. Generate on demand, or set a schedule that fans out one report per endpoint group and emails it.

The mailer stays off until you turn it on. No test run has ever opened a real SMTP socket, on purpose.

REPORT TYPES
Executive · Drift-compliance · Fleet-inventory · Audit-digest · Security posture · Agent activity · Remediation summary · Endpoint health · Network events · Compliance audit · Alert trends · Procurement status · CRM summary · Microsoft 365 summary · Revenue ROI · Patch compliance · Application-update compliance
SCHEDULING
Hourly-tick due-checking against a per-schedule cadence, not cron-precise. On-demand generation and a schedule’s “run now” work regardless of whether the scheduler itself is enabled
FAN-OUT
One report artifact per endpoint tag/group — the simplest grouping primitive available today, not a dedicated sites/groups entity yet
MAILER
Off by default, never dials real SMTP under test; multipart text+HTML delivery once an operator sets a host. Honest gap: PDF export is a stub today, HTML-only
07 — APPLICATION INTELLIGENCE · SHIPPED

A real catalog, fed by the fleet.

A global application catalog matches against endpoint software on every heartbeat. Unmatched software drops into a review queue instead of silently vanishing. A newer layer adds per-application CVE tracking on top: matched installs are checked against a real vulnerability feed, and findings can trigger remediation.

Worth being precise about: the matching is exact/substring logic today, not AI. The daemon ships a Windows, Linux and macOS software inventory collector — Get-Package and registry uninstall keys on Windows, dpkg, rpm, and system_profiler — that populates software.installed on every heartbeat, refreshes on a self-schedule, and can be pulled on demand through the read-only SOFT_INVENTORY command. Live CVE-feed syncing has no scheduler wired up yet either; it runs on demand and in tests.

CATALOG
Global vendor/product entries with detection signatures, EOL dates and docs links — msp_admin-authored, no per-tenant duplication
MATCHING
Deterministic normalized substring matching against detection signatures, fires on every heartbeat — not fuzzy, not a model
CVE TRACKING
Matched installs check against an OSV.dev-backed feed with fail-closed version matching — an ambiguous version is treated as affected, not waved through. Findings can trigger remediation through an existing, pre-approved maintenance package: the same Decision Engine, ACL and signed-dispatch path as everything else, no new execution path
HONEST STATUS
Version matching against detected installs is fail-closed, and a finding stays open until a later independent inventory or feed observation confirms the fixed version. Live feed and field acceptance remain open.
08 — MONITORING DATA PLANE · DELIVERED SLICE

Signals now have a durable path.

The control plane now has a bounded canonical monitoring contract, authenticated ingestion routes, an external OpenSearch sink, and an optional JetStream admission path that acknowledges only after persistence.

That is the important difference: overload, malformed payloads, and downstream failures have named places to land — queue health, platform alerts, and quarantine/replay — instead of disappearing into a best-effort log.

ADMISSION
Authenticated operator, OAuth, and endpoint routes accept bounded canonical monitoring events with retry-stable document IDs
DURABLE QUEUE
Optional JetStream path redacts before persistence and ACKs only after OpenSearch accepts the item
QUEUE HEALTH
MSP-admin health routes report retained depth, consumer pending, ACK-pending, redelivery, and serving-replica worker state
BOUNDARY
Broader collectors (site syslog, SNMPv3, network flow, application logs), the raw evidence archive, external notification providers and measured capacity evidence remain R2 work.
EventCANONICAL CONTRACT
AdmissionAUTHENTICATED · BOUNDED
QueueJETSTREAM OPTIONAL
SinkOPENSEARCH DATA STREAM
ReplayQUARANTINE LEDGER
09 — OPERATIONS + AI SECURITY

More of the fleet and AI lifecycle now shares the gate.

Model rollout, application maintenance, migration, customer visibility, action discovery, and AI-agent posture now connect to the same tenant, alert, approval, signing, and audit foundations — with their unfinished edges stated plainly.

MODEL DELIVERY · SHIPPED
Canary before fleet.
Signed, resumable model delivery supports explicit pins, tag-scoped rollout policy, canary and percentage cohorts, and automatic expansion halt after repeated failure — which now also triggers a signed rollback that the affected endpoint applies on its next poll (every 30 minutes by default), not just a manual CLI action. Shared object storage remains planned; rollback today restores one prior generation, not full history.
MAINTENANCE PACKAGES · SHIPPED
Application work stays governed.
Versioned, review-gated application bundles reconcile policy items into desired state and route command items through the Decision Engine, approval queue, ACL, signer, and audit path.
COMPETITOR IMPORTS · FOUNDATION
Stage. Preview. Commit once.
Atera, Syncro, and generic mappings stage clients, contacts, and assets, show a dry-run diff, and commit idempotently with audit records and cross-tenant move protection. Live provider extractors are planned.
COMMERCIAL SURFACES · SHIPPED
Built, with the connectors still planned.
The customer portal ships 14 destinations — Dashboard, Devices, Alerts, AI Monitoring, Remediations, Procurement, Users, CRM, Applications, Service Requests, Relationships, Compliance, Invoices and Knowledge. Live social connectors and third-party provider OAuth remain planned.
AGENT THREAT RULES · PHASE 2A
Threat intel becomes tenant evidence.
The control plane mirrors the upstream Agent Threat Rules catalog with path/ref/checksum provenance, evaluates deterministic pattern and signature rules against bounded artifacts, and raises tenant-isolated findings and alerts. Semantic, behavioral, and trace evaluators remain gated behind future telemetry and judge pipelines.
AI EXPOSURE + MEMORY · FOUNDATION
Shadow AI gets a ledger.
AI exposure records model endpoints, frameworks, auth posture, TLS/CORS state, prompt/model exposure, tools, dangerous combinations, and risk factors. Memory Security inspects read/write events, redacts secret-like content, fingerprints evidence, and can allow, redact, quarantine, or block.
ACTION REGISTRY + MCP · FOUNDATION
A governed vocabulary for automation.
Typed actions can be discovered through the control-plane MCP proxy with tenant authorization, risk gates, approvals where required, and audit receipts. Managed external integrations and production rollout controls remain planned.
R3 REMEDIATION · PARTIAL
Durable pending work, bounded scope.
SERVICE_OP, REGISTRY_OP, CONFIG_OP, FIREWALL_OP, PACKAGE_OP, REBOOT, DAEMON_UPDATE and FILE_OP all run through the same typed, signed, risk-gated pipeline, with typed cancellation, batch fan-out, a SOAR playbook execution ledger and bounded two-step compensation. Field acceptance on physical fleets continues.
MICROSOFT 365 REPORTING · FOUNDATION
Tenant evidence has a ledger.
Tenant-scoped connections, reports, artifacts, schedules, exports, deltas, and dashboard surfaces are implemented. Live Graph/GDAP, throttling, schedule/email, and customer acceptance are still exit gates.
SPECIALIST AGENTS & SUPERVISED MODE · SHIPPED
Governed agents, supervised sessions.
A governed agent runtime with an orchestrator, persisted plans, a Verifier ledger and lifecycle specialists that cite their sources, plus supervised Help Desk sessions that run behind pinned gates with full credential redaction.
10 — COMMERCIAL & SERVICE CORE · SHIPPED

The business layer, on the same data plane.

PSA SPINE
Incidents, queues and SLAs.
Incidents, MSP queues, a priority-based SLA clock, service requests, tickets, comments, attachments, and typed notification events that fan out as signed webhooks.
SERVICE CATALOG & CONTRACTS
Catalog to billing handoff.
A global service catalog, tenant contracts with snapshot-priced lines, usage counts and a billing handoff.
PROCUREMENT, END TO END
Request to reconciled invoice.
Vendor directory to costed request, deterministic approval routing with quorum voting and delegation, quote comparison, purchase orders, receive-and-reconcile, returns, licensed-quantity reconciliation, distributor connectors, provisioning handoff and invoice export.
CRM & PROVIDER WORKSPACES
Native CRM, tenant-bound.
A provider-workspace tenancy boundary with accounts, opportunities, lead intake with duplicate detection, forecasts, saved pipeline views and a unified activity timeline. Live third-party CRM providers remain planned.
REVENUE & KNOWLEDGE
Revenue signals and a knowledge store.
Revenue signals, price book, estimates, ROI reporting and SmartCVE, alongside a scoped tenant-isolated document store and a pgvector-backed RAG knowledge base.

There’s a secrets vault and a mobile app, too.

See the vault See the mobile app