Skip to content
Story Checker

For Articulate Storyline 360 courses

Automated QA for e-learning.Privacy as a feature.

Upload a published course or the .story file. Story Checker walks it like a learner, slide by slide, and tells you what will stop someone from reaching the end. The first line of the report is the verdict.

Free plan: 5 scans a month. No card.

  • 53 checks, each proven by a planted bug
  • Findings numbered by scene and slide, as in Storyline
  • The course is blocked from calling out while it is scanned
Phishing Awareness · v4

Scanned today, 6 min

3 findings will affect the learner

  • 1Critical
  • 2High
  • 0Medium
  • 1Low
  • 0To verify
  • P.1

    The completion threshold is 84 slides; the course has 80. Completion will never be reported.

  • 2.3

    "Continue" lights up on hover and does nothing.

    Object: Continue

  • 3.1

    The gate to scene 3 opens only after all 4 tabs are visited, and tab 4 cannot be reached.

  • 1.7

    Body text in Arial; the other 23 slides use Assistant.

0 requests left the browser. 2 attempts to fonts.example.com were blocked.

Three steps. No questions.

The report never asks you anything. It says what it found, how sure it is, and where to look.

  1. 1

    Upload

    A published ZIP, the .story file, or both. Add the script (pptx, docx, txt) to compare the text against it.

  2. 2

    The scan

    Every slide, layer and button is opened in an isolated browser. A learner pass goes from start to finish, the way a learner in an LMS would.

  3. 3

    The report

    Grouped by severity, numbered as 1.4 or 3.12, with the text on the object. Mark what is intentional and it will not come back.

53

What gets checked

53 checks across 11 areas. Each one is proven against a course with a planted bug before it ships, and a check that crashed is shown as failed, never as clean.

Navigation4 checks

Buttons that light up and do nothing, layers that open to nothing.

  • nav/hover-no-effect
  • nav/broken-layer-ref
  • nav/empty-open-layer
  • nav/slide-level-onrelease
Navigation (.story)7 checks

Triggers to targets that do not exist, gates that never open.

  • nav/reference-integrity
  • nav/gate-cannot-open
  • nav/wrong-target-copy
  • nav/layer-never-opened
  • nav/hover-on-locked
  • nav/return-path-geometry
  • state/detached
The learner, live4 checks

A full pass from first slide to last; drag, hover, covered targets.

  • runtime/learner-pass
  • runtime/drag-matrix
  • runtime/hover-roundtrip
  • runtime/occluded-target
Logic4 checks

Conditions nobody can meet, media that pauses and never resumes.

  • logic/odd-condition
  • logic/unsatisfiable-condition
  • logic/media-never-resumes
  • logic/cue-point-unreachable
Quiz1 checks

Matching questions with no correct pair.

  • quiz/matching-no-correct-pair
Platform and LMS13 checks

Completion threshold, SCORM, player direction, links, attachments.

  • platform/completion-threshold
  • platform/completion-unreachable
  • platform/player-direction
  • platform/malformed-link
  • platform/wrapped-url
  • platform/missing-attachment
  • platform/external-call
  • platform/dead-link
  • platform/js-error
  • platform/load-time
  • platform/heavy-asset
  • platform/course-not-loaded
  • platform/embedded-content
Media and layout8 checks

Broken or pixelated media, overflowing video, odd button fills.

  • media/broken
  • media/low-res-image
  • media/upscaled-story
  • media/state-image-ratio
  • media/recolor-washout
  • media/state-shift
  • layout/video-overflow
  • layout/button-fill-outlier
Typography3 checks

Fonts per script, missing hover states, style drift across slides.

  • typo/font-outlier
  • typo/missing-hover-state
  • typo/cross-slide-style
Course norm2 checks

The one sibling that differs from all the others.

  • norm/sibling-outlier
  • norm/answer-selected
Text against the script6 checks

Missing or changed text, text on the wrong slide, spelling.

  • content/source-slide-missing
  • content/source-text-missing
  • content/source-text-changed
  • content/text-from-wrong-slide
  • content/text-added
  • content/spelling-norm
Text against itself1 checks

Duplicate slide names in a numbered series.

  • content/duplicate-slide-name

The report reads like a colleague, not a log

One line of verdict. Then what will hurt the learner, then what deviates from the course's own norm. Nothing in percentages: "1 of 24" is clearer than "4%".

  1. CriticalThe learner gets stuck, or completion is never reported
  2. HighThe learner continues but meets something broken
  3. MediumVisible, does not block
  4. LowA deviation from the course's own norm
  5. To verifyNeeds a human look before it counts
Phishing Awareness · v4

Scanned today, 6 min

3 findings will affect the learner

  • 1Critical
  • 2High
  • 0Medium
  • 1Low
  • 0To verify
  • P.1

    The completion threshold is 84 slides; the course has 80. Completion will never be reported.

  • 2.3

    "Continue" lights up on hover and does nothing.

    Object: Continue

  • 3.1

    The gate to scene 3 opens only after all 4 tabs are visited, and tab 4 cannot be reached.

  • 1.7

    Body text in Arial; the other 23 slides use Assistant.

0 requests left the browser. 2 attempts to fonts.example.com were blocked.

Your course stays yours

Clients' courses are not ours to share. So the scan is built around that.

The course cannot call out

During the scan the browser blocks every request from the course to the internet. The report ends with an evidence line: what was attempted and blocked.

The upload is deleted

The files you upload are deleted when the scan ends. Screenshots are kept for the report and expire with your retention setting (30 days by default).

What is not promised

The isolation is at the browser level: the scanning machine itself has internet access. We say this plainly instead of claiming an air gap we do not have.

Plans

Payment is not open yet. Every plan starts free while we are in early access.

Free

For trying it on one course.

5 scans a month

1 seat

  • All 53 checks
  • Report in 8 languages
  • Course memory and "intentional" marks
Choose Free
Most chosen

Pro

For a freelancer shipping courses every week.

100 scans a month

3 seats

  • All 53 checks
  • Report in 8 languages
  • Course memory and "intentional" marks
  • Roles and shared workspace
Choose Pro

Team

For an L&D team with shared course memory.

500 scans a month

15 seats

  • All 53 checks
  • Report in 8 languages
  • Course memory and "intentional" marks
  • Roles and shared workspace
Choose Team

Questions

Do I need the .story file?

No. A published course is enough. The .story file adds checks that only the source can answer (triggers that point nowhere, layers never opened), and a script adds text comparison.

Does it change my course?

Never. It reads and reports. Fixes stay in your hands, in Storyline.

What if it flags something I did on purpose?

Mark it as intentional. It will not come back on that course, and a check that is dismissed across three courses lowers its own weight.

Which languages?

The report comes in Hebrew, English, Arabic, Russian, French, Italian, Spanish and German. Courses in any language can be scanned.

Is it affiliated with Articulate?

No. It is an independent tool that works with courses made in Articulate Storyline 360.