Everything StoryAudit does
A flat list, not a search box. Use your browser's find (Ctrl/Cmd+F) to jump straight to what you're looking for. If something's here and you can't find it in the app, that's a bug: tell us.
New to .story files? See what's inside one and how to open it without Storyline. Evaluating this for a team? Read how StoryAudit handles your course data.
Compare
Drop two files: an old version and a new version of the same course.
- Slide-by-slide diff: added, removed, changed, unchanged. Matches slides even when Storyline rebuilt the slide's internal ID, as long as the content is the same.
- Question-bank slides are compared too, listed separately at the end since they have no fixed position in a real course.
- Word-level text diff, with a formatting-change indicator (font, size, color, paragraph styling) on hover.
- Trigger diff, scoped to named actions only (jump, submit, mark complete, run JavaScript, etc.), including each trigger's condition when it has one. An adjust-variable action or a show/hide-layer target still isn't parsed. Stated in the on-screen legend every time.
- Quiz answer key changes ("flips") flagged inline on the slide and in the changelog.
- Media added, removed, or replaced, with before/after thumbnails. "Media changes" section
- Layer diff: text, media, web objects, other shapes. Layers only appear when triggered, not during normal playback.
- Web object (embedded URL) and other interactive shape (marker, hotspot, slider, dial, checkbox) diff.
- Auto-generated "What changed" summary, copyable as text. "What changed" banner
- Course and quiz settings changed banner: pass score, time limit, tracking, and more.
- Course-wide trigger logic changed banner: Slide Master / Layout-level triggers, a separate check from the main slide trigger diff.
- Accessibility changed banner: alt text and captions added, removed, or edited, with before/after text.
- Warns if the two files look byte-identical, or look like different courses entirely rather than two versions of one.
- Filter and search the slide list by change type.
- Save a snapshot to compare against later, without keeping the old file around. "save snapshot to compare later"
- Sample comparison, no file needed. drop screen
- Export as text, JSON, self-contained HTML, PDF, or email, with per-section include/exclude toggles.
Health Check
Drop one file, for diagnosis.
- Tracking / completion mismatch: an inference from settings, not a certain break.
- Broken references: broken jump targets, missing image/audio/video files, unresolved variable reads/writes, empty or malformed "Open URL/File" triggers.
- Unused and write-only variables: a variable nothing ever reads, or one that's set but its value is never checked by a condition or trigger.
- Orphaned content: slides nothing can reach, and layers nothing ever triggers.
- Size & bloat: largest files by type, plus duplicate files saved under different names.
- Accessibility: alt text and audio caption coverage. Doesn't check color contrast, focus order, keyboard traps, or video captions.
- Blank or duplicate slide/scene titles, plus whether skip-navigation, playback speed control, and the Play/Pause button are on for learners.
- Dead air: slides where the audio or video ends well before the slide's own timeline, default 5+ seconds, adjustable.
- Placeholder text scan: Lorem ipsum filler, TODO/TBD notes, bracketed placeholders like "[insert client name]".
- Terminology consistency: flags when a course uses the same term two ways ("setup" vs "set-up," "Warning" vs "warning"), and estimates where text may overflow its box at the current font size. The overflow estimate doesn't account for text boxes set to auto-resize.
- Spelling: likely misspellings and repeated words ("the the"), matched against a curated list of common errors.
- Readability: Flesch Reading Ease and Flesch-Kincaid Grade Level for the course's text as a whole. A gauge of density based on sentence and word length, not a judgment of quality.
- Style guide compliance: set allowed fonts, a body-text size range, and allowed colors once, and every off-guide text box is flagged. Saved on your device and reused for every review, including as a Batch Check policy rule.
- Shortest path to completion: can a learner reach "complete" while skipping content?
- Findings rail: a sidebar listing all nine check sections with live finding counts and severity colors, always in view on a long report.
- Waive or restore individual findings, with a reviewer name and timestamp recorded.
- "Review record" PDF export of broken-reference and placeholder findings with waive status.
- Share waived findings and Batch Check's policy rules as one file. No server sync: export a file, someone else imports it. "Team & sharing" (header)
- Save a snapshot to compare against later.
- Export as text, JSON, self-contained HTML, PDF, or email; separate CSV export for accessibility gaps.
Course Docs
Drop one file, for documentation and handoff, not diagnosis.
- Quiz answer key, every question type, correct answers marked. "Review & sign-off"
- Course settings summary: tracking, completion, pass score/time limit. Reflects the saved project, not necessarily what's live in your LMS.
- Estimated seat time: a ballpark, not a certified number.
- Course outline, numbered to match Storyline's own Scene/Slide numbering. "Handoff exports"
- Slide-by-slide contents: every slide's on-screen text, media, web objects, and interactive shapes, in reading order, with a two-column translation-template export (source / translation).
- Glossary terms and the Resources list, whether or not those tabs are turned on in the course.
- Media asset inventory: every used file, its size, and which slide it's on. "Inventory"
- Download the course's actual authored media: images, audio, video, or all of it, correctly named and zipped, not Storyline's opaque internal filenames. Media asset inventory → "Download"
- Caption export to standard .vtt. Media asset inventory → expand a file's transcript
- External web object URLs, and other interactive shapes (markers, hotspots, sliders, dials, checkboxes) that carry no on-screen text of their own.
- Reference, not findings: a map of the file, each its own collapsed section: branch points, every completion trigger, every JavaScript trigger with a syntax check, and the full variable map. "Logic & search" group
- Text search across slides, layers, and quiz answers. "Logic & search" → "Content search" section
- Exact-match image search: find every slide using one specific file (byte-for-byte, not fuzzy). "Logic & search" → "Content search" section
- Export any section, or all of them, as text, PDF, CSV, or email.
Batch Check
Drop a folder (or select multiple files at once).
- Runs Health Check on every course in the folder at once, one sortable results table.
- Click any course row to open its full Health Check or Compare view.
- "Changed vs. snapshot" table, shown when a folder baseline is loaded.
- Flags files that couldn't be read, with the error shown.
- Save a snapshot for the whole folder, for future whole-library diffing without keeping old files.
- Policy rules: set your own pass/fail thresholds once, covering things like quiz scoring, accessibility, media size, broken references, and style guide compliance, and every sweep checks every course against them. "set pass/fail rules"
- Settings consistency: compares completion tracking, quiz defaults, and player settings across the batch and flags any course that doesn't match the majority. "check settings consistency"
- Cross-course media check: media unreferenced inside a course, duplicated inside one course, the same file shared across courses, or a filename reused for different content, with a wasted-bytes total. "check media across courses"
- Content search across every course in the folder at once.
- Per-course changelog export, when a baseline is loaded.
- Export the batch table, settings consistency, or search hits as CSV, PDF, or email.
Translation Check
Drop one XLIFF translation export: the only mode that needs no .story file at all.
- Reads the XLIFF file Storyline itself exports for translators (File → Localization → Export), XLIFF 1.2 or 2.0.
- Flags untranslated segments: anywhere the target is still empty or still matches the source.
- Flags variable-placeholder risk: a segment whose Storyline variable reference (e.g. %variable%) didn't survive translation intact.
- Flags likely text-overflow risk: a translated segment substantially longer than its source, worth a look before it clips on a slide.
- Optional machine-drafted first pass for whatever's left untranslated, using the on-device translation model built into Chrome or Edge: nothing sent to a server. "generate draft translation"
- Every machine-drafted segment is marked in the exported file itself, not just on screen:
state="needs-review-translation"in XLIFF 1.2 output, an equivalent<note category="mt-draft">in XLIFF 2.0 output. Any translation tool that opens the file afterward shows it as an unreviewed draft. - A segment with a variable placeholder it can't confidently preserve is left in the source language rather than guessed at.
- Waive or restore individual findings, with a reviewer name, date, and optional reason recorded, using the same shared mechanism as Health Check and Batch Check, exportable on its own.
Works everywhere
Not owned by any one tab.
- File won't open? When a .story file fails to load in Health Check, Compare, or Batch Check, StoryAudit reads the raw file to say specifically why, verifies which files still pass their own checksum, and repairs truncated or lightly damaged story.xml and slide XML where it safely can. Download includes a rebuilt .story file when the course structure comes back, or the individual recovered files otherwise. No sign-in required, works from a direct link too. "File won't open?"
- "Saved with Storyline [build]": which Storyline build last saved the file. Shown in Compare, Health Check, Course Docs, and Batch's Settings Consistency, wherever a file's identity matters.
- Waivers and review decisions, spanning Health Check, Batch Check, and Translation Check. No automatic sync; export a file, someone else imports it.
- Run history: every Health Check, Batch sweep, Course Docs check, and Compare run on this device, plus a PDF/text export summarizing each course's open and waived findings as of its latest recorded run. Opens from the header, from any tab. Off in the demo. "run history" (header)
- Snapshots: a small .json that stands in for a .story file you no longer have, usable from Compare, Health Check, or Batch Check.
- PDF, CSV, text, and email export, built from the same underlying report every time, no matter which mode you're in.
- Everything runs in your browser. Course files are never uploaded anywhere.