๐ CloudFran LMS โ Theory of Operations
How the compliance pipeline turns "watched a video" into "regulated-industry audit-ready completion evidence."
The lifecycle
Every learner action moves through these five stages. The compliance pipeline runs continuously โ every second of audio a learner actually hears adds to a unique-seconds counter, not a playhead position.
Anti-skip architecture
Set<seconds>. Only seconds that fire a timeupdate event while the audio is actually playing (not scrubbing) get added. Scrubbing forward to second 900 doesn't add seconds 0โ899 โ those have to be played.maxReachedTime. On seeking, if the new time is more than 1 second past max-reached, the player snaps back to max-reached. Forward scrubbing is rate-limited; backward scrubbing is always allowed.listenedSegments.size / audioDuration โฅ 0.80 for the current audio. Lock icon + message updates in real time.Attribution to the Execra ledger
Every module completion emits an event to the Execra attribution ledger: event=ModuleComplete, actor=learner, course_id, module_id, duration_minutes_consumed, 80%_gate_passed=true. Managers see the rollup on the attribution dashboard; regulators can audit the raw event stream back 7 years.
Download / print gating
CanDownload and CanPrint booleans. The Viewer UI hides the download + print buttons when the flags are false.AI Tutor
Every course has a right-rail tutor. When a learner asks a question, the tutor's system prompt is augmented with the current module's title + the first 400 words of the iframe content โ scoping its answers. Tutor responses are logged (opt-out available) for course-improvement feedback.
Course authoring
Start a 14-day pilot with up to 50 learners.