Skip to content
SECURITY & GOVERNANCE

Autonomy
you can audit.

The point of AI remediation is trusting it at 3AM. That trust isn’t a promise — it’s enforced, layer by layer, between any actor and your clients’ endpoints.

L1Direct outbound mTLS gRPCWorks behind NAT with no mesh dependency. The Headscale/WireGuard mesh was deliberately retired (ADR 0021).SHIPPED
L2mTLS on gRPCEnrollment-issued client certs; endpoint identity is derived from the verified certificateLIVE
L3Ed25519 signaturesEvery command signed per-request, verifiable end-to-endLIVE
L4Typed operationsThe shipped executor uses an allowlisted set of typed commandsLIVE
L5Decision engineRisk scoring and approval policy govern supported actionsLIVE

Defense in depth, not defense in marketing.

Each layer holds independently. All five are implemented and tested on the command path today — direct outbound mTLS transport, certificate-derived endpoint identity, Ed25519 signing, typed-operation execution, and Decision-Engine risk scoring sit between proposed work and endpoint execution, so a valid signed command still can’t skip the risk gate.

The mesh layer was retired by ADR 0021 rather than deferred. Enrollment-issued endpoint identity, mTLS-only gRPC, credential generations, renewal, and application-layer admission/lifecycle revocation are implemented. This is not a general CRL/OCSP service; production CA cutover, issuer adoption, and field acceptance remain R1 exit gates. We’d rather tell you exactly where the line is than round up.

THE RISK GATE

Low risk runs. Critical risk waits for a senior approver.

The decision engine scores every proposed action across five dimensions — reversibility, blast radius, criticality, change category, confidence — into a single 0–205 score. The score decides the path:

SCORE 0–20 · LOW
Auto-execute
Supported low-risk commands can run immediately through the ACL and signer, with the authorization and result written to the audit trail.
SCORE 21–50 · ELEVATED
Auto-execute, watched
Still runs immediately — but with a lower alerting threshold and closer scrutiny on the outcome.
SCORE 51–80 · HIGH
Requires approval
The approval shows the proposed action, target, risk reasons, and payload before an authorized technician decides. Generic rollback orchestration remains roadmap work.
SCORE 81–205 · CRITICAL
Requires senior approval
Destructive or wide-blast-radius operations escalate specifically to a senior approver — not just any technician.
DEFAULT ALLOW-LIST TODAY: PING · DIAGNOSTIC · BACKUP_CREATE · SOFT_INVENTORY · PATCH_INVENTORY · APP_UPDATE_INVENTORY — EVERYTHING ELSE IS DENIED BEFORE IT REACHES THE RISK SCORE. HIGH-RISK TYPES SUCH AS BACKUP_RESTORE, SERVICE_OP, PACKAGE_OP AND SHELL_EXEC REQUIRE AN EXPLICIT PER-ENDPOINT GRANT. EVERY PAYLOAD IS ALSO SCANNED FOR CREDENTIAL-SHAPED SECRETS BEFORE IT’S EVER SIGNED — A HIT BLOCKS THE COMMAND OUTRIGHT, NO OVERRIDE DRIFT & POLICY PACKS USE THIS SAME GATE →
THE AUDIT CHAIN

Every action. Every actor. Every reason.

The audit trail is hash-chained — every entry’s hash is computed from the previous entry’s hash plus its own payload, so tampering breaks the chain instead of hiding in it.

Real event types, not paraphrases: drift.detected, decision.assessed, approval.requested/approved, command.authorized. When a client asks “what happened at 3AM?”, that’s the actual log you show them.

// audit chain — tenant: northwind-msp
03:12:41 drift.detected policy=guest-account · WS-0147
03:12:42 decision.assessed score 58/205 → require_approval
03:12:42 approval.requested queued for technician review
03:12:58 approval.approved [email protected]
03:12:59 command.authorized ACL: DIAGNOSTIC · agent
03:12:59 chain entry #84117 ⟵ sha256(prev + entry)
TENANT ISOLATION

Enforced by Postgres, not by promises.

Row-level security is enabled and forced on nearly every tenant-scoped table. The application role carries NOBYPASSRLS — even a bug in our own code can’t cross tenants on the data that matters. A small number of operational-log tables hold pipeline metadata rather than client records and are the current documented exception. Missing tenant context otherwise returns zero rows, not all rows. Above that sits RBAC: two system roles and seven tenant roles, checked against every route. Deployment re-verifies effective privileges on those restricted tables after migrations and never grants table-wide CRUD, so an ACL regression fails the rollout instead of reaching production.

PROVEN BY CROSS-TENANT ISOLATION TESTS + A 1,608-CASE RBAC MATRIX
LOCAL INFERENCE · SHIPPED FOUNDATION

Triage can stay close to the endpoint.

The daemon includes a tiered local-LLM triage engine with signed model delivery and offline fallback. Health-aware provider routing, usage accounting and per-tenant daily and per-request USD cost caps are shipped; token-count ceilings are not claimed.

LOCAL MODEL TRIAGE · SIGNED DELIVERY · OFFLINE FALLBACK
AI-AGENT SECURITY · SHIPPED FOUNDATIONS

The agents get a boundary, too.

The newest control-plane modules treat AI behavior and tool authority as auditable operational state. They store bounded, redacted evidence, deterministic findings, compliance mappings, and governed action receipts under the same tenant isolation model as the rest of EliteMSP; they are foundations, not a claim of a hardened public MCP integration platform.

ATR · PHASE 2A
Threat rules as data.
Agent Threat Rules are mirrored with source ref and SHA-256 provenance, deterministic pattern/signature scans, tenant-scoped findings, alerts, and an endpoint-authenticated AI-runtime batch boundary. Semantic and behavioral evaluation remain future gates.
ABV · FOUNDATION
Behavior against remit.
Worker Remit-style baselines declare allowed tools, channels, destinations, data sources, restricted actions, and never-allowed actions, then observations are assessed for drift.
EXPOSURE · FOUNDATION
AI assets become inventory.
Observed AI endpoints record framework, model, auth posture, TLS, CORS, prompt/model exposure, tools, dangerous combinations, and explainable risk factors.
MEMORY · FOUNDATION
Memory writes are inspectable.
Memory Security inspects read/write operations, records fingerprints instead of raw secrets, redacts suspicious content, and can allow, redact, quarantine, or block.
SPECIALIST AGENTS · SHIPPED
Specialists work inside a ledger.
A governed agent runtime with an orchestrator, persisted plans, a Verifier ledger, lifecycle specialists that cite their sources, and corpus evaluation with circuit breakers.
SECURITY EVIDENCE

The boundary is tested from endpoint to release.

ENDPOINT STATE · SHIPPED
Bounded probes that fail closed.
Windows and Linux baseline collectors use bounded subprocess probes and omit a value when a probe is unavailable, malformed, failed, or timed out. They do not turn uncertainty into a false green check.
CREDENTIAL HEALTH · SHIPPED
Renewal has recovery paths.
The daemon stages replacement credentials, preflights the new mTLS pair, preserves a previous-identity recovery copy, and confirms activation idempotently. The control plane scans expiry and stalled promotions by default.
CA ROTATION · SHIPPED FOUNDATION
Old and new roots can coexist.
Enrollment and renewal can deliver validated old+new endpoint CA trust bundles. Full production cutover evidence, CRL policy, and issuer-adoption tracking remain R1 work.
RELEASE INTEGRITY · SHIPPED
Dependencies are part of the threat model.
Pull requests run locked Python, JavaScript, and Rust dependency audits plus maintained-Python static analysis. Any temporary vulnerability waiver must carry an expiry and cannot silently become permanent policy.
OPT-IN SCREEN EVIDENCE · SHIPPED
Opt-in, bounded, never auto-uploaded.
Recording is opt-in behind an environment flag, encrypted at rest with ChaCha20-Poly1305, capped at 1 fps and 24 hours of retention, and never uploaded without an explicit MCP call.

Trust it at 3AM.
Verify it at 9AM.

Join the waitlist See the architecture