e-Learning standards

What is a Learning Record Store?

A Learning Record Store, or LRS, is a database purpose-built to receive and store xAPI statements — records of the form "actor, verb, object" describing something a learner did. It is a required part of any xAPI or cmi5 setup, because xAPI defines how activity is described and transmitted but not where it is kept. An LRS is not a learning management system: an LMS enrols people and delivers courses, while an LRS only records what happened, including activity that happened nowhere near the LMS.

LMS and LRS are different jobs

LMSLRS
Primary jobDeliver courses, enrol learnersStore activity statements
Data it holdsEnrolments, completions, scoresxAPI statements from any source
Where data comes fromCourses it launchedAnything that can send xAPI: courses, apps, devices, other systems
Needed for SCORMYesNo
Needed for xAPI / cmi5Not necessarilyYes
Typical question it answersWho is assigned and who finished?What did people actually do, and in what order?

Why xAPI needs a separate store at all

Under SCORM the question never came up: content runs inside the LMS, so the LMS records the result. xAPI removed that assumption on purpose — content might be a mobile app, a simulator, or a piece of equipment on a factory floor, none of which are inside an LMS window.

Once activity can come from anywhere, it needs a destination that is not tied to any one delivery system. That destination is the LRS, and it is reachable over HTTP with a defined API, which is what lets unrelated systems write to the same record.

What an LRS actually stores

One statement is one thing that happened. Beyond the actor, verb and object, a statement can carry a result (score, success, duration) and a context (which course, which registration, which team), and that context is what makes the data queryable later rather than a pile of events.

  • "Mai completed Fire Safety Module 2"
  • "Nam failed the pressure-valve simulation, score 41%, attempt 3"
  • "Linh watched the onboarding video to 80%"
  • "Tuan attended the Thursday workshop" — recorded by an app, with no course involved

Do you need one?

The honest answer for a lot of teams is: not yet. An LRS is required if you export xAPI or cmi5, and pointless if you export SCORM. It earns its place when someone starts asking questions completion data cannot answer — which module people quit at, whether the ones who fail the assessment skipped the same section, whether the training changed anything on the job.

Buying an LRS before anyone is asking those questions produces a store full of statements nobody queries. The useful order is to know the question first, then record what would answer it.

Hosted, bundled, or self-hosted

There are three ways to end up with an LRS, and the choice is usually made by where the data is allowed to live rather than by features.

  • A standalone hosted LRS — most flexible, another vendor and another bill
  • One bundled with an LMS or authoring tool — least setup, and usually enough to start
  • Self-hosted on your own infrastructure — the only option when learner data cannot leave your network, which is a hard requirement in a lot of public-sector and regulated work

Questions

Can an LRS replace my LMS?

No. An LRS records activity; it does not enrol people, deliver courses, or assign training. Some platforms include both, but they remain two jobs.

Do I need an LRS to export SCORM?

No. SCORM reports to the LMS that launched the content and the LMS stores the result. An LRS is only needed for xAPI and cmi5.

Can several systems write to one LRS?

Yes, and that is the point of it. Because xAPI is an HTTP API with its own authorisation, an LMS course, a mobile app and an internal tool can all record to the same store, which is the only way to see one learner's activity across all three.

Where does the data physically live?

Wherever the LRS runs. With a hosted LRS that is the vendor's infrastructure and their region, which is the question a procurement or data-protection review will ask first. A self-hosted LRS keeps it on your own servers.

Where Mosra fits

Mosra ships an LRS as part of the product, so xAPI and cmi5 exports have somewhere to report without a second vendor.

  • A Learning Record Store included — statements from Mosra exports land without extra setup
  • xAPI and cmi5 packages exported from the same deck as SCORM, PPTX and PDF
  • A self-hosted deployment, for data that is not allowed to leave your infrastructure
  • Standard xAPI, so the same packages can report to an LRS you already run

The quickest way to settle this

Build one deck, export a package, and load it into your own LMS. An afternoon answers what a comparison table cannot.