Data lives in silos
Completion records sit in one or more LMS platforms, roster and role data sits in the HRIS, and exceptions live in spreadsheets. No single view answers "who lacks valid evidence for a required item."
Training-compliance evidence usually lives scattered across an LMS, an HRIS, and a pile of spreadsheets. ComplyOS pulls it into one shared audit model and turns it into defensible evidence: gaps, a hashed ledger, privacy and retention workflows, and readiness packets — behind a single authorization engine that every interface has to go through.
When an auditor, a regulator, or a lawyer asks "prove this worker was current on required training," the answer is buried in silos that were never designed to agree with each other.
Completion records sit in one or more LMS platforms, roster and role data sits in the HRIS, and exceptions live in spreadsheets. No single view answers "who lacks valid evidence for a required item."
Screenshots and ad-hoc exports cannot show what the numbers were derived from. When a report is challenged months later, there is no tamper-evident record of the inputs and the transformation.
The tempting fix — auto-enroll, auto-remind, auto-close — is exactly where an over-eager script emails the wrong people or marks the wrong learner done. The guardrails have to come first.
ComplyOS ingests CSV exports and LMS connector data, normalizes it into a shared model, and runs the same audit question across every buyer track: which learners lack valid evidence for a required learning item.
Overview. Live posture pulled from the audit and readiness services — open gaps, high-risk gaps, readiness controls designed, and regulatory signals awaiting human review — not a static snapshot.
The audit service reads normalized learner, learning-item, and record data and surfaces compliance gaps ranked by severity: missing required training, days overdue, and expired renewals, most severe first.
Every audit and import writes an append-only ledger entry that hashes the raw inputs, the transformation, and the output, so a report can be defended long after it was produced.
Data-subject export and deletion are controller-approved cases, not one-click buttons. Legal holds block deletion until released, and a dry-run retention workflow cleans up only eligible, terminal records.
A control-readiness matrix maps controls to artifacts and receipts and produces readiness-only packets for review — it maps evidence, it does not assert a certification.
Gap queue. Worker compliance gaps from the audit service — department, missing courses, days overdue, and severity — the working list a compliance lead actually triages.
Evidence ledger. Append-only entries, each pinning a tamper-evident hash over the audited data and its transformation, with a plain-language summary and timestamp.
The interesting part of ComplyOS is not the dashboard; it is the discipline underneath it. Access rules are enforced once and shared everywhere, the AI can only propose, and the whole thing is held down by a large, adversarial test suite.
Every business workflow routes through an application service that calls require_permission(context, PERM_*). An actor context — tenant, actor, role, permissions, surface, request id — is carried into every service call, and roles map to a 37-permission catalog. Access rules cannot drift between interfaces because there is only one place they live.
An MCP server (38 tools), a versioned FastAPI REST API, a Typer CLI, and an authenticated web console all call the same services. Cross-surface denial parity is enforced by tests, so a permission that is denied in the API is denied in the MCP tool and the CLI too.
The AI layer defaults to a least-privilege service account. It can suggest field mappings, anomaly summaries, gap explanations, and remediation drafts — but it cannot mark a learner compliant, promote an import, execute remediation, or change a rule. PII is redacted before any hashed or stored output, and every proposal carries provenance hashes plus a reject-and-expiry lifecycle.
The suite is not just happy-path coverage. The adversarial set includes tenant-isolation BOLA/IDOR probes, a secrets audit, export formula and XSS neutralization, adversarial import cases, and connector-failure-fails-closed checks — the failure modes that turn an enterprise pilot into an incident.
Proposal-only AI. Regulatory and microlearning signals arrive as human-review proposals. Accepting or rejecting one moves it through review and logs the decision — it never mutates a rule or a training assignment on its own.
Readiness, labeled honestly. The readiness view maps controls, artifacts, and data-governance metadata. The page states plainly that it does not claim SOC 2, FERPA, COPPA, or GDPR status.
ComplyOS is deliberately scoped as readiness and evidence tooling. It surfaces gaps, renewals, and a defensible audit trail, and it maps controls to artifacts. It does not decide that an organization is compliant or certified — those determinations, and the liability that comes with them, stay with the client and their counsel.
That boundary is not a limitation bolted on at the end. It is the reason the AI can only propose, the reason deletion needs recorded approval, and the reason the readiness view refuses to claim a framework it has not been audited against. The product stays in the readiness and control-mapping lane until customers, auditors, and counsel approve stronger claims.
Forward-Deployed / Applied AI Engineer. Typed tool surfaces, service-layer authorization, and the operational discipline of 12+ years running enterprise learning-compliance systems before AI was a job title.