Published run · 16 August 2026
The course looked right. The quiz worked. The pass mark was 80%.
The LMS got none of it.
The instruction is competent, the accessibility work is genuinely above average, and someone wrote a real five-question assessment and set the pass mark at 80%. Then the course was exported to report completion only, and the quiz stopped counting for anything.
5
Quiz questions written
80%
Pass mark set by the author
0
Of that reported to the LMS
FAIL
Hard gate, completion without answering
What was tested, and how
| Course | Case B: a staff cyber-security awareness module · 16,845,501 bytes · SCORM 1.2 |
| Publisher | A national body with a security remit. Identity, filename and SHA-256 are held on file and will be provided to that publisher on request. |
| Built with | Articulate Rise · packaged April 2025 |
| Structure | Seven lessons: Introduction, Creating strong passwords, Keeping your devices secure, Defending yourself against phishing, Reporting incidents, a five-item quiz, and a wrap-up. One 11 MB video with captions. |
| Relationship | None. Actyra did not author this course and was not engaged by its publisher. |
The publisher states the intent plainly in the course itself: "This is your chance to get confident with what cyber security means for you… There will be a short quiz at the end to put what you've learnt to the test."
The quiz exists. It is the reporting that does not.
Critical issue 01. The quiz is real, and the LMS never hears about it
The published package carries its runtime configuration in plain sight at the top of its entry file. Three lines decide what the organization can ever know about this training.
From the package entry point, verbatim:
var quizId = null;
var storylineId = null;
var completionPercentage = 100;
var reporting = 'completed-incomplete';No quiz is registered for reporting. Completion is 100% of content viewed. The status vocabulary is completed/incomplete. There is no pass, no fail, no score.
And the quiz's own settings, decoded from the course data, show an author who intended something quite different:
| Setting | Value | What it means |
|---|---|---|
passingScore | 80 | The author set a pass mark of 80%. |
passToContinue | false | You do not have to pass, or attempt, the quiz to move on. |
retryCount | -1 | Unlimited attempts. |
revealAnswers | "all" | Correct answers are shown after submission. |
quizId (package level) | null | Nothing above is transmitted anywhere. |
An 80% pass mark that is never applied to anything is not a pass mark. It is a number in a settings panel. The organization deploying this course receives completed or incomplete, and nothing else, for every member of staff.
The hard gate. A learner gets credit without answering a single question
Our minimum-effort learner does not need to defeat anything here. The configuration hands them the outcome:
- Completion is 100% of content viewed, not passed. Scrolling reaches it.
passToContinue: falsemeans the quiz can be skipped entirely and the course still completes.- Even a 0% quiz score changes nothing, because with
quizIdnull the score is never transmitted. Answering everything wrong and answering nothing at all produce an identical LMS record.
Verdict
Not Ready for Deployment
The hard gate is absolute in our protocol: if a learner can get credit without demonstrating the capability, the course fails regardless of every other number. Here they can, so it does.
We want to be careful about what that verdict means, because this course does not deserve the same sentence as one that was neglected.
The instruction is fine.
The failure is in one export screen.
This is among the cheapest critical issues we have ever found to fix, and among the easiest to ship without noticing, because everything on the authoring side looks correct.
Why this one matters
Nothing looked broken. The course previewed correctly. The quiz worked. The feedback was there. The author had set an 80% pass mark.
The failure only appeared in the packaged artifact, which is the one thing nobody reviews. That is exactly the kind of problem a preflight exists to find, and it is why we run against the package a learner will actually receive rather than the course as its author sees it.
What this course does better than most commercial training
Screen reader and keyboard guidance is written into the questions themselves
Every quiz item carries its own operating instructions in the stem: "This is a single response question. Select your response from the three options, or if using a screen reader and keyboard, use space or enter to make your selection, then use space or enter again to submit." The introduction carries a dedicated screen-reader section with the keyboard controls for the whole module.
Our keyboard-only and second-language profiles both completed this course without obstruction. That is not the usual outcome, and it is worth naming.
The video is captioned
An 11 MB MP4 ships with a matching WebVTT caption file. Captions are present, not assumed.
One minor defect worth fixing while you are in there
The entry file opens with window.resizeTo(screen.width, screen.height), labeled in the source
as a "Resize Hack". Browsers have blocked scripts resizing windows they did not open for years,
so the call is inert. It is harmless, and it is the kind of thing that ages into a console error
nobody can explain.
What this run cannot tell you
We tested the package, not the deployment. An LMS can layer its own completion rules on top of a SCO that reports completion only. If the organizations running this course require something more before they record a pass, their records may mean more than the package supports. What we can say is that the quiz result is not among the things the package gives them to work with.
Why publish this
Not every critical issue starts with bad instruction. Sometimes good instruction stops counting somewhere between the authoring tool and the LMS.
Somebody here wrote five decent scenario questions, set a pass mark at 80%, and wrote accessibility guidance better than most vendors ship. Then a checkbox on an export screen turned all of it into a completion tick.
Nothing about previewing the course would have exposed it. The course previews correctly, the quiz works, the feedback is well written. The defect exists only in the packaged artifact, and a package is not something anyone opens on the way out of the authoring tool.
Your course can look right and still ship wrong.
Preflight checks the package your learners actually receive, not the course as it previews.
If you think this might be your course
Email hello@actyra.com with the subject “Is this our course?” and we will tell you, privately, within two business days. If it is yours you get the identity, the package hash and the complete working notes at no charge, and no follow-up unless you ask for one.
That offer stands for any public-sector publisher whether or not one of these runs is theirs. If you want your own course checked against the same three critical-issue conditions, ask and we will do one free, for a course of up to 3 hours.
Read the full Learning Readiness Report for this run → · All published runs · For LMS administrators