Audit-ready evidence, signed and immutable.
When an auditor asks “prove this person was trained,” a screenshot won’t do. Compliance turns every completion into a signed evidence packet — a tamper-evident learner timeline, chained with SHA-256 — formatted for the regulations your customers actually face.
Why a completion checkbox isn't evidence.
A “complete” flag in an LMS can be edited, lost in a migration, or disputed. Compliance evidence is different: a packet records exactly what happened, when, and proves it hasn’t been altered since. Because each record is signed and chained to the one before it, you can hand an auditor a file that stands on its own — no “trust our database” required.
Everything an auditor asks for, in one export.
Completion evidence exports
Per-learner, per-course completion records with timestamps, scores, and the originating dispatch — ready to file.
Learning event timeline
The full sequence of a learner’s activity — launches, progress, completion — reconstructed from xAPI statements.
Signed & hash-chained
Each record is cryptographically signed and SHA-256 chained to the previous one — alteration is detectable.
Compliance-friendly formats
Packets structured for OSHA, GDPR, SOX, and HIPAA reporting — not a raw dump you have to reshape.
Audit logs
Operator and tenant actions and security events are logged, so the chain of custody around the evidence is itself auditable.
Tenant isolation
Evidence is scoped and isolated per workspace — one customer’s records are never visible to another.
Provable, not just stored.
Every completion writes an immutable record signed with your workspace key and linked by SHA-256 to the prior record, forming a verifiable chain. Export sessions, packages, dispatches, or webhook history on demand; audit events capture who touched what. Verification needs only the packet and the public key — not access to Connect.
- SHA-256 chained, signed completion records
- Session / package / dispatch / webhook exports
- Audit events for operator & tenant actions
- Offline-verifiable — packet + public key is enough
GET /v1/reports/evidence ?course=OSHA-30&from=2026-01-01 ← 200 · signed packet { "records": 312, "framework": "OSHA", "chain_head": "a3f9…c21b", "signature": "MEUCIQ…" }See the LRS it’s built on →
Where the evidence comes from.
Hand auditors proof, not promises.
Get a sandbox key and export your first signed evidence packet.