30-Day Free Trial
Try before you buy — no credit card, no obligation. Free updates included.

The complete Staff Training platform you build yourself.

ScriptLMS is a full-featured Learning Management System for staff training — built for any business that trains its people. Interactive pages, videos, custom tests, certificates, compliance tracking, and detailed admin reporting, with an optional rewards system if you want one.
Fully customizable, self-hosted, and yours to shape.
Download it, install it, make it yours.
Build an interactive training page
in about 5 minutes.

Try it free for 30 days.

🔒 Secure checkout by Stripe — ScriptLMS never sees or stores your card details.

💪 Stress-tested with 10,000 staff and over 110,000 training assignments — on ordinary web hosting, with no database.
🎁 Free bonus: Maintenance — work orders, Life Safety & PM sign-offs, equipment, and air filters.
🎁

Try ScriptLMS free for 30 days

Full access to every feature — no credit card required. Staff accounts are capped at 15 during the trial, plenty to build out and test a real setup (a paid license lifts that to whatever you actually need). And you're not starting from a blank slate: the trial comes pre-loaded with real, working demo content — sample Info Pages, all 10 interactive page types, and a demo test — so you can see exactly how everything works before building anything yourself.

No camera or photographer needed. Every picture in the demo modules was made with AI. Just describe the image you want to any AI image tool (many are free), save it, and upload it right from the page you're building. ScriptLMS stores it in your images folder for you.

The trial and paid licenses are covered by the ScriptLMS License Agreement.

⬇ Download Now — Free 30 Day Trial
🚀
New — Easiest way to install

Install ScriptLMS with one file

Skip unzipping and uploading the whole program. Upload one small file to your website, open it in your browser, and the ScriptLMS Easy Installer does the rest: it gets the latest version, checks that it's genuine, sets everything up in the folder you choose, and gives you your login. It takes about a minute.

How it works

  1. Download the installer below and unzip it on your computer.
  2. Upload scriptlms-install.php to your website's main folder (public_html on Hostinger and most hosts), using your host's File Manager or FTP.
  3. Open it in your browser at yoursite.com/scriptlms-install.php.
  4. Choose a folder name, such as training for yoursite.com/training/, or leave it blank for your main folder. The installer creates the folder for you.
  5. Click Install. Your ScriptLMS address and first login appear on screen.

What it does for you

  • Checks your server first and tells you plainly if anything is missing, before anything is installed.
  • Gets ScriptLMS for you. It downloads the latest version from ScriptLMS.com. If your server can't reach it, you can upload the program zip instead.
  • Verifies every file. It confirms the program really came from ScriptLMS and that nothing was changed. If anything doesn't match, nothing is installed.
  • Protects what's already there. If the folder you pick already has files in it, it tells you what's there and asks before going any further.
  • Cleans up after itself. Once the install succeeds, the installer deletes itself from your website.
⬇ Download the Easy Installer

Same free 30-day trial, same program. The installer is for new installs only; updates are one click from the program's License page. Prefer to upload the files yourself? The regular Free 30 Day Trial download works exactly as before.

Everything you need to train your staff

ScriptLMS ships with all the tools to build, deliver, track, and reward staff training — all in one system, all available during your free trial.

💪

Built for Big Teams

Stress-tested with 10,000 staff and over 110,000 training assignments across 11 modules, on ordinary shared web hosting. Nothing was lost, staff search stayed instant, and every page scrolled smoothly.

📝

Info Page Editor

Build and edit informational pages right from the admin panel — no coding required. Give any page optional audio, and it's read aloud as staff open it.

🧩

10 Interactive Pages

Fully customizable interactive learning pages you can tailor to any topic or department, each with optional audio that reads the page aloud and speaks each answer — plus add-on components, starting with the Audio Story.

🎧

Audio Story

A short story read aloud, page by page, with pictures — it stops to ask questions, plays feedback for each answer, and shows every word on screen like captions.

📦

Add-On Components

New activity types install from a single file, right inside the program — no update needed. Remove any you don't want just as easily.

📤

Share & Reuse Pages

Export any page or test as one file, pictures and audio included, then import it into another ScriptLMS — like between your own facilities. Nothing already on the server is ever overwritten.

🎥

Videos

Add videos to any module — mix them with info pages, interactive pages, and tests in whatever order you choose.

✅

Custom Tests

Build customizable tests to verify comprehension and completion for each module.

📊

Progress Tracking

Track completion, past-due modules, credits, and learning status for every staff member.

🗂️

Compliance Matrix

A grid view of every staff member against every module, so you can see who's covered and who isn't at a glance.

📋

Bulk Assignments

Assign any number of modules to any number of staff at once, instead of setting up training one person at a time.

🔄

CE Credit Tracking

Credits renew on a schedule you configure — with a year of history always available to look back on.

📈

Admin Reports

Detailed reports for any single staff member or across every category at a glance.

🎓

Certificates

Staff can print a certificate the moment they complete a module — instant recognition.

🔐

Audit Log

Full audit log tracks who did what and when, for compliance and peace of mind.

👥

Staff & Admin Portals

Separate front-end for staff and back-end for admins — clean, secure, and organized.

📚

Built-in Help Pages

Included help documentation so staff and admins always know what to do next.

🔄

Free Updates Included

New features and fixes at no extra cost. The program tells you when an update is ready, and installs it with one click — checked, backed up first, and never touching your staff, modules, training records, pictures, audio, or add-on components.

📅

Due Dates Report

See who has training coming due in the next 14, 30, 60, or 90 days — and who's already past due — so you can remind people before they fall behind.

📱

Works on Phones

Staff can take their training on a phone held sideways, as well as on any computer or tablet — handy for staff who don't sit at a desk.

✉️

Email Reminders

Staff are emailed automatically when training is coming due or past due — sent through your own email account, set up in minutes, then it runs by itself.

📥

Bulk Staff Import

Add your whole staff at once by pasting a list. Review it before anything is saved, then print or copy everyone's temporary password.

🏠

Your Data, Your Server

ScriptLMS runs on your own website, so your staff records stay in your hands — no outside company holding your data.

💾

Automatic Backups

Your records, images, audio, and add-on components are backed up automatically every week, on the day and time you choose — already turned on from day one, with nothing to remember.

🩺

System Check

One page that tests your server and confirms your staff's information is protected — and tells you exactly how to fix anything it finds.

👥

Supervisors

Give a staff member a team to look after. They see only their own team's training, due dates, and completions — and only the extra tasks you allow, like printing certificates or resetting passwords.

🏫

Outside Classes

Staff went to a class somewhere else? Record it once, tick who attended, and each person gets the CE credits and a certificate made by the program.

📝

Ready for CE Providers

Approved to give continuing education credit? Ask for a course evaluation at the end of any module, see every answer in one printable report, and print your approval statement on its certificates.

🕒

Sign-In Log

See when each person signed in and out, and how much of that time was actually spent learning. The clock pauses when they step away, and videos and audio pause when they switch to another tab or program.

An optional rewards system, if you want one

ScriptLMS includes an optional points & rewards system you can turn on as an incentive for staff. It's off by default — if you never enable it, staff never see it and never know it exists. Nothing changes for a company that doesn't want it.

  • Off by defaultCompletely invisible to staff until an admin turns it on
  • You set the point valuesDifferent amounts for finishing early, on time, or past due
  • Build your own rewards storeYour own items, images, and point costs, not a fixed catalog
  • Staff collect & redeemPoints bank into their balance as they earn them, ready to spend on whatever you've stocked the store with
  • Admin-controlledTurn the rewards system on or off at any time
🎁 FREE BONUS

Maintenance, built right in

Every ScriptLMS license includes a complete maintenance program at no extra cost. Staff report problems from the same page they train on, and your maintenance team works them, signs off Life Safety and preventive maintenance on schedule, and keeps the records an inspector asks for. It's off until you turn it on — if you don't need it, nobody ever sees it.

See the Maintenance pages in action

  • Work ordersStaff send them in seconds, with a picture if it helps, and follow each one from Open to Fixed
  • Life Safety & PMDaily, weekly, monthly, and yearly tasks with step-by-step sign-offs that are locked once signed
  • Your own formsBuild a fire drill record or generator log once — it's filled in and signed on screen, and prints exactly as you laid it out
  • Equipment & air filtersSerial numbers, vendors, warranties, repair history, filter sizes, what's due, and what to order
  • Inspector-ready reportsMissed & Late, quarter-by-quarter grids, and every sign-off printed one per page

Full setup walkthrough included

A detailed, written walkthrough covers every step and every part of the program — from installation to full customization — explaining what each screen does and how to set it up, so you're never stuck.

1
Installation & server requirements

ScriptLMS runs on a standard PHP web server — the same kind of hosting used by most small business websites (Hostinger, Bluehost, GoDaddy, and similar hosts all work fine). Here's what's actually needed, and why:

  • PHP 7.4 or newer. This is the programming language ScriptLMS is built in. Nearly all hosting plans already include this — if you're not sure, your host's control panel usually shows the PHP version, or you can ask their support.
  • Two standard PHP extensions, already on almost everywhere. openssl (for checking license codes) and zip (for backups, sharing pages, and installing add-on components). Both are turned on by default on nearly every host, and the program tells you plainly if either is ever missing.
  • No database required. Unlike most software like this, ScriptLMS doesn't use MySQL or any other database — it stores everything in plain files instead. That's one less thing to set up, and one less thing that can break.
  • File write access (rarely something you'll need to touch). Because ScriptLMS saves its data to files instead of a database, the server needs to allow creating and updating files in a few folders (mainly the data folder). On virtually every host, including Hostinger, this already works correctly with no setup at all — if you ever run into a save error, this is the one thing to mention to your host, but most people never see it come up.
  • An SSL certificate (HTTPS). Not strictly required to run, but strongly recommended — staff will be logging in with real usernames and passwords, and most hosts include a free SSL certificate already.

That's genuinely it. No servers to manage, no command line, no database credentials to keep track of — just upload the files (see the next step) and go.

2
No database required — just upload the files

The easiest way: the Easy Installer. Download the Easy Installer, unzip it, and upload the one file inside, scriptlms-install.php, to your website's main folder. Open it in your browser (for example yoursite.com/scriptlms-install.php), choose the folder ScriptLMS should live in, and click Install. It gets the program, checks every file is genuine, sets everything up, shows you your login, and then deletes itself. If you'd rather do it by hand, here's how:

Your download comes as a single zip file containing the entire program, already organized exactly the way it needs to be. Unzip it, then upload the whole thing to your web server — into your site's main folder, or into a subfolder if you want it at its own address. However you place it, keep every file and folder exactly as it was extracted — don't move, rename, or reorganize anything inside.

Once it's uploaded, open a web browser and go to wherever you placed it. The program automatically loads its index.php file first, so there's no need to type a specific filename — just the folder address is enough.

Log in for the first time with:

  • Username: admin
  • Password: 12345678

Your very first step after logging in should be changing this username and password. This default login is the same for every copy of ScriptLMS until it's changed, so leaving it as-is is a real security risk — treat it as the very first thing you do, before setting up anything else.

3
Admin panel overview

Once you're logged in as an admin, everything lives in the sidebar on the left. Here's the shape of it:

  • Dashboard — a quick snapshot of your program (staff, modules, active assignments), shortcuts to common tasks, and two program-wide settings: your CE credit renewal schedule and time zone.
  • Staff Accounts — where you create logins, reset passwords, and manage who's active. Its 👥 Supervisors button is where you set up supervisors and their teams.
  • Training Modules — where you build your actual training content, from simple info pages to interactive activities, videos, and tests.
  • Assignments — where you hand that training out to staff, in bulk if needed.
  • Test Results, Completion Report, Due Dates Report, Compliance Matrix — several different reporting views, each built to answer a different question ("what has this one person finished," "who's behind," "is everyone covered").
  • Rewards — the optional points & rewards system, if you choose to turn it on.
  • Backup & Restore — protects everything the program tracks, with automatic backups already turned on.
  • Certificate Setup — where certificate appearance is configured.
  • Audit Log — a running record of manual actions taken by admins, for accountability.
  • License — where you enter your license code and check its status.
  • System Check — at the bottom of the sidebar, confirms your staff's information is protected on your server.

Nothing here requires touching a single file on the server again after installation — from this point on, everything is managed through the browser.

4
Creating staff accounts

Staff Accounts is where every login gets created, staff and admins alike. Every account needs a first name, last name, username, and email — staff are listed by name (Last, First) throughout the program, and their name is what appears on their certificates. Two ways to add someone:

Adding Administrators

  • Edit Role - There is no limit to the number of Admin accounts you can create. The first Admin is always included at no cost as a complimentary seat. Every additional Admin account counts as one seat against your license, just as a staff account does.
  • + Add Staff Account — for one person at a time. You enter their name, username, email, and password yourself, plus optional details like hire date, position, and phone number.
  • Bulk Import Staff — paste a list of people at once, one per line, and ScriptLMS generates a secure temporary password for each account automatically. Big lists are no problem: a progress bar shows it working, and it has been tested importing 1,000 staff at a time.

For Bulk Import, each line starts with the person's name:

  • Required: first_name,last_name,username,email
  • To make someone an admin instead of staff, add admin after the email: first_name,last_name,username,email,admin
  • To also fill in the optional details, keep going in this exact order (leave the admin spot empty if this person isn't one): company_id,hire_date,position,phone,birthdate — dates as MM/DD/YYYY, phone as (999) 999-9999. Leave any of these blank and it's stored as "N/A".
John,Smith,jsmith,jsmith@company.com
Mary,Jones,mjones,mjones@company.com
Karen,White,kwhite,kwhite@company.com,admin
Taylor,Long,tlong,tlong@company.com,,87654321,03/01/2025,Warehouse Associate,(555) 999-8888,01/20/1995

That last line shows the full picture: Taylor's admin spot was left empty (two commas in a row, ,,) since they're staff, followed by every optional detail filled in.

Nothing is saved right away. After you click Import Staff, a Review window lists everyone who will be created and any lines that will be skipped, with the reason. Click Import to create the accounts, or Cancel to go back to your list, exactly as you typed it, and fix a mistake first.

One important detail: the list of generated passwords is shown to you only once, right after the import finishes. Click Print, or Copy to paste the whole list into a document or spreadsheet, before closing it — you'll be asked to confirm if you try to close it without doing either. If a password gets lost before it reaches someone, Reset Password on their account generates a fresh one.

Want someone to keep an eye on a group of staff without making them an admin? Make them a supervisor — see Supervisors & teams below.

When someone leaves the company, use Deactivate rather than Delete — it blocks their login but keeps their full training history intact for your records. Delete permanently erases the account and everything tied to it, and can't be undone, so it's really only for a genuine mistake like a duplicate account.

5
Building & editing pages

Training Modules is where the actual content gets built — and nothing here requires writing a line of code. Each module is made up of any number of steps, and you can mix and match freely:

  • Info Pages — more than just rich text. Add images, place free-standing text anywhere on the page (not confined to a box), build your own custom boxes, and customize the full page background color along with the font and color of each individual box. Each page can also have its own optional audio, such as someone reading it aloud: it plays on its own when staff open the page, with nothing extra on the screen, so your layout stays exactly as you made it.
  • Interactive Pages — ten different activity types (multiple choice, matching, drag-to-rank, scenario-based decision making, and more), each fully customizable — your own text, your own images, your own colors and layout. Every one of them can also use audio if you want it: the page's title and instructions read aloud as staff open it, the answers or items read aloud, and spoken feedback for right and wrong answers and for finishing. It plays on its own with nothing extra on the screen, and a page without audio works exactly the same.
  • Audio Story — comes installed as an add-on component. A short story read aloud page by page, with pictures and your own words on screen like captions. Any page can stop to ask a question; each answer plays its own feedback clip, and the story moves on once staff pick the right one. Record the clips yourself, or make them with any text-to-speech tool.
  • Video and Test steps — covered in the next two sections.

Where the audio comes from. Audio is uploaded as an MP3 file. Record your own voice, or let AI do it: many AI text-to-speech tools, a lot of them free, turn the text you've already typed into a natural-sounding MP3 in seconds. Speech saved at 64 kbps mono sounds clear and keeps files small.

Every page you can build — Info Pages, all ten interactive activities, and the Audio Story — has its own dedicated font and style toolbar, so nothing about how a page looks is locked in. File names are kept exactly as you made them, spaces and apostrophes included.

Add-on components. New activity types can be added at any time without updating the program: click 📦 Install Component at the bottom of the template list and choose the component's file. 🗑️ Remove Component takes one off again — it shows you which modules use it first, and pages already built with it keep working for staff.

Sharing and reusing pages. Any Info Page, Interactive Page, or Test can be saved as a single file with 📤 Export, with every picture and audio file it uses packed inside. 📥 Import Library Item adds it to My Library, and 📚 From Library puts a copy into any module, ready to use as-is or edit. Pictures and audio are never overwritten — a file already on the server is reused, and a different one with the same name is kept under a new name. Exporting comes with a licensed copy; importing works in every copy, the free trial included.

There's no limit on how many of each you use, or what order they come in — a single module can have several Info Pages, several Interactive Pages, several Videos, and several Tests, mixed in whatever order makes sense for that training. There's no limit on the number of modules you build either. Staff move through a module's steps in order — each one has to be completed before the next one unlocks.

Each module can also have a due date and a credit value — both entirely optional. A due date isn't a one-time deadline: once set, it rolls around again every year, so staff need to complete that module again each new cycle, not just once. Credit values are tracked over time as well, giving you a running CEU record ready for a state audit.

Because everything is point-and-click, building a module feels more like formatting a document than developing software — pick a content type, fill it in, and it's ready to assign.

6
Adding videos

Video is one of the step types available inside a module — upload a video once, and it's available to reuse across as many different modules as you need, without uploading it again each time. Each video can be set to Self-Paced (staff can skip ahead and rewind freely) or Non-Self-Paced (staff must watch straight through — rewinding is still allowed, but skipping ahead is blocked). Staff watch it as part of their assigned training, right alongside whatever other steps (info pages, tests, interactive activities) make up that module.

7
Creating custom tests

A Test step lets you build a real comprehension check into any module. Rather than a fixed list of questions, you build a question bank — add as many questions and answers as you like — and set how many of them get pulled for each attempt. Questions are shuffled every time, so if someone fails, they can retake it immediately and get a different set of questions (as long as the bank has more in it than what gets pulled per attempt) — the bigger the bank, the more variety.

Each test has its own passing score - 80% unless you change it, anywhere from 50% to 100%. A failed attempt is never reported to you — only passing results ever show up, on the Test Results report, so nobody's shown as having struggled while they were still learning the material. A single module can include more than one test if you want a quick check partway through plus a final exam at the end; each one is tracked separately.

8
Assigning modules to staff

Creating a module doesn't automatically give it to anyone — Assignments is where you actually hand out training. Check any number of staff and any number of modules, and assign them all at once. A few things that make this easier at scale:

  • A search box on both the staff and module lists, for narrowing a long list down fast.
  • Checking exactly one staff member highlights everything they're already assigned, so you can see at a glance what they have before adding more.
  • A running count ("3 staff × 2 modules = 6 pairings") shows you exactly what you're about to affect before you click anything.

Due dates live on the module itself, not on each individual assignment — so everyone assigned to a module shares the same due date until they complete it. Unassigning a module from someone also clears their progress on it, so it asks you to confirm first.

9
Setting your CE credit renewal period

Credits reset automatically on an annual schedule. The default is January 1st at 12:01 AM, but it doesn't have to stay that way — change it to whatever fits your organization right on the Dashboard, and every report in the program automatically reflects periods built around that date instead of a plain calendar year. A full year of history is always available to look back on, no matter when your reset date falls. Classes staff attend somewhere else count too — see Outside classes in Reports below. This entire setting is optional — if your company doesn't use CEs, there's nothing to configure here at all.

10
Certificates & completion

The moment a staff member finishes a module, a certificate becomes available to them immediately — no waiting, no admin approval needed. Certificates are generated on demand, so they're always accurate as of that person's most recent completion, and staff can print their own directly from their portal.

Admins can also customize how the certificate looks. You can add a background image to the certificate, and you can add additional images placed anywhere on the certificate — positioned exactly where you want them. Every image you add has a transparency slider, so you can fade it into the background as much or as little as you like, letting you build a custom certificate look that matches your organization without any design software.

Outside classes (see Reports below) get a certificate too, made by the program in the same design — it says the person completed the class, with the date they attended and the credits. There's nothing to upload.

For approved CE providers: each module can have its own approval statement, printed on its certificates under the credits, worded the way your approving body requires — for example, "This activity has been approved for 1.5 contact hours by the North Carolina Board of Nursing." Type {credits} where the number goes, and the module's own credits are filled in, so the two always match. A module can also ask for a course evaluation when staff finish it: the module isn't complete, and its certificate isn't issued, until they've submitted it.

11
Reports, compliance matrix & audit logs

ScriptLMS doesn't try to cram every report into one screen — instead there are a few focused views, each answering a different question:

  • Completion Report — everything one staff member (or everyone at once) has finished within a given period, with credits earned. Choose All years (full history) to see every completion a person has ever had, across every year.
  • Outside classes — staff went to a class, conference, or in-service somewhere else? Click 🏫 Outside Classes on the Completion Report, enter the class name, date, and credits (plus the provider and a note if you like), and tick everyone who attended. Each person gets the credits toward their CE total, the class on their reports and on their own My Certificates page, and a certificate the program makes for them. An outside class is extra credit on top of assigned training — it never takes the place of a module that's due.
  • Sign-In Log — click 🕒 Sign-In Log on the Completion Report to see when each staff member signed in and out, and how much of that time was actually spent learning, for any dates you choose. Learning time only counts while they're engaged on the training page — a video or audio is playing, or they've moved the mouse or touched the screen within the last few minutes. When they step away, the clock pauses at their last movement, and switching to another tab, window, or program pauses their video and audio too. Nobody is ever signed out for being idle. Each sign-in shows whether they logged off or just left, and the whole log prints for an audit. History is kept for 24 months and then removed automatically, a month at a time — or choose 12, 36, or 60 months, or keep it forever.
  • Evaluations — click 📝 Evaluations on the Completion Report to see how staff rated any module that asks for a course evaluation, for any dates you choose: the average for each question, how many people picked each answer, every comment, and who responded — ready to print for your approving body. The questions are set once, for every module, with 📝 Evaluation Questions on Training Modules, starting from a ready-made set you can reword.
  • Test Results — the most recent passing score for every staff member and test. Only passing scores are ever shown here — failed attempts stay private to the staff member.
  • Due Dates Report — two lists in one: Coming Due shows who has training due in the next 14, 30, 60, or 90 days that they haven't finished yet (so you can remind them before they fall behind), and Past Due shows everyone already behind, most overdue first. Its ✉️ Email Reminders button sets up automatic reminder emails to staff (see Email reminders below).
  • Compliance Matrix — a grid of every staff member against every module, so you can see at a glance who's covered and who isn't.
  • Audit Log — a permanent record of manual admin actions (like marking something complete by hand), each with a reason attached, for accountability. Anything a supervisor changes is recorded here too, under their own name.

Between these views, you can check any staff member's status at any time — completion, past-due, credits earned, and more — not just when it's time for a renewal or an audit.

Every list-based report includes a search box once it grows past a handful of rows, and printing respects whatever you've searched for — so you can pull a report for one person, or one department, without printing everyone else's data too.

12
Turning on points & rewards (optional)

Points & rewards is entirely optional, and off by default. Until you turn it on from the Rewards page, staff see no trace of it anywhere — no balance, no store, nothing.

Once enabled, staff earn points every time they complete a module, with the point value depending on the timing of that completion — you set different amounts for finishing early, on time, or after the due date had already passed. Points don't land in a staff member's balance automatically; they show up as a Collect Rewards button in their portal, which banks everything they've earned since they last clicked it.

You build the rewards store yourself — your own items, your own images, your own point costs, with an optional quantity limit on anything in limited supply. When a staff member redeems something, their points are deducted immediately and the request lands on your end waiting to be fulfilled — you just check it off once you've actually handed it over.

13
Branding & the white-label option

There's no full visual theme editor in ScriptLMS — no color-scheme changes throughout the program. What you can change is the program's own display name, and (with white-labeling) the header itself. Every install shows ScriptLMS by default, everywhere throughout the program.

If you'd rather your own company name appear instead, that's available as a paid white-label option — get in touch, and once you're issued a license that includes it, paste the new code into the License page and click Save License. Your company's name takes the place of ScriptLMS automatically from that point on, everywhere in the program.

White-labeled accounts also get a small header customization option: upload your own logo, then choose whether the header shows your logo only, your company name only, or both together — with a live preview next to each choice so you can see exactly how it'll look before picking one.

14
Backup & maintenance

Backup & Restore protects everything the program tracks — staff accounts, modules, assignments, progress, test results, settings, completions, and the audit log — plus all of the program's images (training pictures, certificate signature and background, rewards pictures, and your logo), your audio, My Library, your add-on components, and every Maintenance record (work orders, sign-offs, forms, equipment, and their pictures and files), bundled into one downloadable zip file. Video files are the one thing left out, since they're usually far larger than everything else combined — so always keep your own copies of your training videos somewhere safe.

Automatic backups are already turned on the moment you install — every Monday at 2:00 AM. You can change the day and time, switch to monthly, or turn them off, right on the Backup & Restore page. You can also click Create Backup Now anytime, like before a big change.

The program keeps the 3 most recent backups of each kind (automatic ones, ones you make yourself, and the safety copies described below), removing the oldest as new ones are made, so backups never fill up your server. For longer-term history, download a backup now and then and keep it somewhere off the server entirely, like a cloud drive.

Restoring replaces all current records with whatever's in that backup — a full replacement, not a merge, so anything created since that backup was made will be gone afterward. Because of that, a safety copy of your current data is always saved automatically the moment before any restore happens, so even a mistaken restore is never more than one more restore away from being undone. Images, audio, My Library, and add-on components are handled more gently: a restore only adds back what's missing, and never removes or overwrites anything you've added since.

15
System Check — keeping staff information safe

ScriptLMS protects its own data folders automatically — it places small protection files in them so their contents can't be opened by typing an address into a web browser, and puts them back if they're ever deleted. System Check, at the very bottom of the admin sidebar, confirms that protection is actually working on your server.

There's nothing to set up and nothing to click — just open the page and every check runs on its own. It tests your data and backup folders for real, the same way an outsider would, and checks a few other security basics:

  • That the data and backup folders can't be opened in a web browser.
  • That the protection files are in place.
  • That the starting admin password has been changed.
  • That your site uses a secure (HTTPS) connection.
  • That the program can save its files, and that automatic backups are working.

Everything that's fine shows a green check. Anything that needs attention comes with plain instructions for fixing it — including a ready-to-copy message to send your web host, when it's something only they can change. It's worth opening once after installing, and again if you ever move the program to a different server.

16
Email reminders (optional)

ScriptLMS can email staff automatically when their training is coming due or past due. It sends through your own organization's email account — there's no outside service to sign up for. If you've ever set up email on a phone, you already know how: it asks for the same outgoing mail details.

Open the Due Dates Report and click ✉️ Email Reminders. Everything is set up in one window:

  • Email Account — the address to send from, its outgoing mail server, port, and password. Choose your provider from Common providers (Hostinger, GoDaddy, Microsoft 365, Gmail, and others) to fill in the server and port for you, or type them in. Click Send Test Email to make sure it works.
  • Reminders — switch reminders on, pick the time of day, how many days before a due date to remind staff (for example 14 and 3 days), whether to remind them when training becomes past due and weekly after that, and an optional weekly summary for an admin.
  • Message Wording — the reminder emails, ready to use as written or changed however you like.

Once it's saved and switched on, there's nothing more to do — it runs by itself every day. Each person gets one email listing all of their training that's due, never the same reminder twice, and reminders stop as soon as the training is finished. The password is stored securely and never shown again after saving.

Tip: Gmail and Microsoft 365 accounts usually need an app password (created in the account's security settings) instead of the regular password.

17
Supervisors & teams (optional)

A supervisor is a staff member who looks after a team — a charge nurse, a department lead, a shift manager. They see their own team's training without ever seeing the admin side of the program, or anyone outside their team.

On Staff Accounts, click 👥 Supervisors. The page works like Assignments:

  • Left column — your supervisors. Click + Add Supervisor and pick a staff member to make them one, then click a supervisor to select them.
  • Right column — every active staff member, with a search box. Tick the people on the selected supervisor's team and click Save. Each person has one supervisor; ticking someone who's already on another team moves them, after you confirm.
  • Permissions — viewing their team is always on. Anything more is off until you tick it: print certificates, reset passwords, mark training complete (a reason is required and saved in the Audit Log), assign training from your existing modules, and record outside classes their team attended.

The supervisor gets a 👥 My Team link at the top of their portal. It shows everyone on their team with how much of their training is complete, in progress, not started, and overdue — click a person to see each of their modules — plus Coming Due, Past Due, and Completions lists, each with its own Print Report. Everything a supervisor can do is checked by the program on every request, not just hidden on screen, and anything they change is recorded in the Audit Log under their name.

A supervisor is still a regular staff member: they do their own training and use one seat, just like any other staff account — being a supervisor doesn't cost anything extra. If a supervisor leaves and is deactivated, their team stays in place so you can move those people to someone else.

18
🎁 Maintenance — the free bonus (optional)

Maintenance is a complete work order and Life Safety program that comes free with ScriptLMS. It's off until you turn it on — open 🛠️ Maintenance in the admin sidebar, go to Settings, and click Turn On. Turning it off later keeps every record.

  • Settings — add your maintenance team as Directors, Assistants, or Techs; add your rooms (a whole run at once, like Room 101 to 172 with 2 beds each) and areas like the Kitchen; choose who can create work orders (all staff, or only the people you pick); and set the Problem Types staff tap first, like Call Light or Plumbing.
  • Schedules — add each recurring task: Life Safety or Preventive, how often (daily, weekly, monthly, quarterly, and more), and its steps. 📋 Add Common Tasks gives you a starter list of typical care-facility tasks to pick from and edit.
  • Forms — build your own forms, like a fire drill record, and attach one to a task. It's filled in and signed on screen at sign-off, and prints exactly as you laid it out.
  • Equipment and Air Filters — add your generator, boilers, and other equipment with their vendors and warranties, and every place a filter goes, with its size and how often it's changed.

Once it's on, staff see a 🔧 Create Work Order button on their training page, and your maintenance team sees a 🛠️ Maintenance button with a red count of what's waiting. Directors sign off everything, Assistants sign off Preventive tasks, and Techs work the work orders. Every sign-off is saved with a name, date, and time, and locked — a correction is added underneath, never over it.

History and Reports print what an inspector or fire marshal asks for: every sign-off for any task and any dates, a Missed & Late report, a quarter-by-quarter grid, and a Work Order Summary. Records older than two years move to yearly archive files by themselves, so the pages stay quick and nothing is ever lost. Everything is included in your backups. The built-in Maintenance help page covers every screen in detail.

See the Staff Portal in action

Staff Frontend Portal

A preview of the main screens included in ScriptLMS. Click any image for a full view.

Login to the Staff Portal
ScriptLMS staff training portal right after signing in
Login to the Staff Portal
ScriptLMS staff training portal right after signing in
Click Module to Open
ScriptLMS staff portal with a training module opened and later steps locked until earlier ones are done
Staff Info Page
Staff reading an Info Page in ScriptLMS
Click the Correct Image
Staff choosing the fire alarm pull station from four pictures: a nurse call button, a fire alarm pull station, a thermostat and a light switch
Click Items in Order
Staff putting the four R.A.C.E. fire response steps in order: Rescue, Alarm, Contain and Evacuate
Multiple Choice Question
Staff checking every choice that counts as Protected Health Information under HIPAA, such as a patient's name, medical record number, diagnosis and date of birth
True / False Check
Resident Privacy: staff answering three true or false statements, with a green check mark on each correct answer
Sort Into Categories
Sharps or Trash: staff sorting needles, a razor, a lancet, a mask and gloves into the sharps container or the trash
🎧 Audio Story
ScriptLMS Audio Story as staff see it: a narrated story page with pictures, on-screen words, and answer choices
Match The Pairs
Staff working through a Match the Pairs training activity in ScriptLMS
Scenario / What Would You Do
Staff answering a Scenario / What Would You Do training activity in ScriptLMS
Hotspots / Hazards / Find
Staff finding safety hazards in a Hotspots training activity in ScriptLMS
Story / Scenario Walkthrough
Staff reading a Story / Scenario Walkthrough training activity in ScriptLMS
Rank Your Priority
Staff ranking items in a Rank Your Priority training activity in ScriptLMS
Test Page
Staff taking a training test in ScriptLMS
Test Score Page
ScriptLMS test score with pass or fail and every answer marked right or wrong
Course Evaluation
ScriptLMS Course Evaluation where staff rate a training module from Strongly Disagree to Strongly Agree and add comments
Completed Modules Go Away
ScriptLMS staff portal after a completed training module is removed automatically
Module(s) Left Not Completed
ScriptLMS staff portal with a training module ready to start
My Certificate(s) Completed Page
ScriptLMS My Certificates page where staff view and print their training certificates
Save or Print Certificate
ScriptLMS training completion certificate ready to save or print
If Available Start New Modules Early
ScriptLMS staff portal with upcoming training moved over to be done early
Login to the Supervisors/Staff Portal
ScriptLMS supervisor's portal with their own training and the My Team button
Supervisors My Team
ScriptLMS My Team overview showing each team member's complete, in-progress, and overdue training
Supervisor My Team Overview
ScriptLMS My Team with staff members opened to show each of their training modules
Supervisor My Team Coming Due
ScriptLMS My Team Coming Due tab listing team members with training due soon
Supervisor My Team Past Due
ScriptLMS My Team Past Due tab listing team members with overdue training
Supervisor My Team Completions
ScriptLMS My Team Completions tab listing every training the team has completed, with certificates

See the Admin Pages in action

Admin Backend Dashboard

A preview of the main screens included in ScriptLMS. Click any image for a full view.

Admin Dashboard
ScriptLMS admin dashboard showing staff, modules, and assignments at a glance, with shortcuts and CE credit settings
Admin Staff Accounts
ScriptLMS Staff Accounts page for adding, importing, and managing staff logins
Admin Add Staff Account
ScriptLMS Add Staff Account form for adding one staff member at a time
Admin Bulk Import Staff Accounts
ScriptLMS Bulk Import Staff window for adding a whole staff list at once
Admin Supervisors/Staff Accounts
ScriptLMS Supervisors page for giving a staff member a team to look after, with permissions
Admin Training Modules
ScriptLMS Training Modules page listing every training course
Training Modules, Import Library Item
ScriptLMS Import Library Item window for adding a shared training page to My Library
Training Modules, Evaluation Questions
ScriptLMS Evaluation Questions page listing the course evaluation questions staff answer at the end of a module
Admin Training Modules Opened
ScriptLMS training module opened, showing its info pages, interactive pages, videos, and tests in order
Training Modules, My Library
ScriptLMS My Library window listing imported training pages, each with an Add button to put a copy into a module
Training Modules, Edit Module
ScriptLMS Edit Module window with the module's title, category, due date, credits, description, and the optional course evaluation and certificate approval statement
Admin Add or Edit Videos
ScriptLMS Add or Edit Video screen with Self-Paced and Non-Self-Paced playback options
Admin Assignments
ScriptLMS Assignments page for assigning training modules to staff in bulk or by position
Admin Test Results
ScriptLMS Test Results report showing staff test scores
Admin Completion Report
ScriptLMS Completion Report showing completed training and CE credits for each staff member
Admin Completion Report Sign-In Log
ScriptLMS Sign-In Log showing when staff signed in and out, and how much of that time was spent learning
Completion Report, Course Evaluations
ScriptLMS Course Evaluations report showing how staff rated a training module, with averages, comments, and who responded
Completion Report, Outside Classes
ScriptLMS Outside Classes list for recording classes staff attended elsewhere, with CE credits
Completion, Add Outside Classes
Adding an outside class in ScriptLMS: class name, date, CE credits, and the staff who attended
Admin Due Dates Report
ScriptLMS Due Dates Report showing training coming due and past due
Admin Email Reminders Walkthrough
ScriptLMS Email Reminders settings for automatic training due-date reminder emails
Admin Compliance Matrix
ScriptLMS Compliance Matrix grid of every staff member against every training module
Admin Rewards
ScriptLMS optional points and rewards system for staff training
Admin Backup & Restore
ScriptLMS Backup and Restore page with automatic scheduled backups
Admin Certificate Setup
ScriptLMS Certificate Setup for designing training completion certificates
Admin Audit Log
ScriptLMS Audit Log recording every admin action for compliance
Admin License
ScriptLMS License page with license status and one-click program updates
Admin My Staff Portal Walkthrough
ScriptLMS My Staff Portal, where admins take their own training
Admin System Check
ScriptLMS System Check confirming staff information is protected on the server

The Interactive Page Builder in Action

Admin Build Module Components

A preview of the main screens included in ScriptLMS. Click any image for a full view.

Admin Interactive Page Builder
ScriptLMS Interactive Page Builder with ten activity templates for staff training
Builder Info Page
Building an Info Page in ScriptLMS with text boxes and pictures placed anywhere
Builder Click the Correct Image
Building a Click the Correct Image training activity in ScriptLMS
Builder Click Items in Order
Building a Click Items in Order training activity in ScriptLMS
Builder Multiple Choice Question
Building a Multiple Choice Question training activity in ScriptLMS
Builder True / False Check
Building a True / False Check training activity in ScriptLMS
Builder Sort Into Categories
Building a Sort Into Categories training activity in ScriptLMS
Builder Match the Pairs
Building a Match the Pairs training activity in ScriptLMS
Builder Scenario / What Would You Do
Building a Scenario / What Would You Do training activity in ScriptLMS
Builder Hotspots / Hazards / Find
Building a Hotspots / Hazards / Find training activity in ScriptLMS, with hazards marked on a photo
Builder Story / Scenario
Building a multi-page Story / Scenario Walkthrough training activity in ScriptLMS
Builder Rank Your Priority
Building a Rank Your Priority training activity in ScriptLMS
Builder Audio Story
ScriptLMS narrated Audio Story on fall safety, with pictures and on-screen words
Builder Test
Building a training test with a random question bank in ScriptLMS
🎁 FREE BONUS

See the Maintenance Pages in action

Admin, Maintenance Team & Staff

Work orders, Life Safety & PM sign-offs, equipment, air filters, your own forms, and inspector-ready reports — included free with every ScriptLMS license. Click any image for a full view.

Work Orders Not Completed
ScriptLMS Maintenance Work Orders tab listing five unfinished work orders, three marked urgent at the top - one In Progress, one Waiting on Parts, and one Open - followed by two regular open work orders
Work Orders Completed
ScriptLMS Maintenance Work Orders tab with the Completed filter selected, listing three completed work orders
Work Orders All
ScriptLMS Maintenance Work Orders tab with the All filter selected, listing all eight work orders - urgent ones still being worked on at the top, then the rest, including three completed
Life Safety & PM
ScriptLMS Maintenance Life Safety and PM tab showing a weekly generator inspection, due every Wednesday, listed under Past Due as three days overdue
Life Safety & PM Sign-Off
ScriptLMS Maintenance sign-off window for the weekly generator inspection, showing its checklist steps, reading box, notes, attachment and Sign Off button, not yet filled in
Equipment
ScriptLMS Maintenance Equipment tab listing an Emergency Generator, a Generac SD250 located behind Dietary
Add Equipment
ScriptLMS Maintenance Add Equipment window with boxes for name, category, location, serial number, make, model, install and warranty dates, vendor details, notes and an attached file
Air Filters
ScriptLMS Maintenance Air Filters tab listing filter locations due October 31, beside an On Hand and To Order list with two sizes shown in red to order
Add Filter Location
ScriptLMS Maintenance Add Filter Location window with boxes for location, filter size, how many it takes, how often it's changed, last changed date, equipment and notes
Maintenance Schedule
ScriptLMS Maintenance Schedules tab with the task form on the left and the scheduled tasks on the right, including the weekly Life Safety generator inspection next due October 21
Maintenance Forms
ScriptLMS Maintenance Forms tab listing two custom forms, a Fire Drill form and a Monthly Emergency Generator Test form
Maintenance Create a New Form
ScriptLMS Maintenance form editor showing a blank letter-width page under a toolbar of formatting tools and Insert choices for blanks, dates, check boxes and signatures
Maintenance History
ScriptLMS Maintenance History tab listing three completed work orders and a signed-off Life Safety monthly emergency generator test
Maintenance Reports
ScriptLMS Maintenance Reports tab with report and date choices, listing the weekly Life Safety generator inspection with no sign-offs yet
Maintenance Settings
ScriptLMS Maintenance Settings tab with the on/off switch at the top and side-by-side boxes for the maintenance team, rooms and areas, who can create work orders, problem types and alerts
Admin - Create Work Order
ScriptLMS admin Create Work Order page with boxes for the room or area, problem type buttons, a description, an optional picture, an Urgent box and a Send to Maintenance button
Maintenance Director Logged on
ScriptLMS staff training page as the Maintenance Director sees it, with their training modules and the Create Work Order and Maintenance buttons at the top
Opened Maintenance Page
ScriptLMS Maintenance page as the Maintenance Director sees it, listing eight work orders: five urgent ones at the top in red, one in progress and one waiting on parts
Completing Tasks
ScriptLMS work order window open for the Maintenance Director, showing the problem details, its updates, and boxes to set the status to Completed, say who did the work and add a note
Staff Create Work Order Button
ScriptLMS staff training page with the orange Create Work Order button at the top, shown to staff who are allowed to create work orders
Staff Create Work Order
ScriptLMS staff Create Work Order form on the left, and My Work Orders on the right listing five work orders this staff member sent: three completed and two open

Frequently asked questions

Is there really a 30-day free trial?
Yes. You can download and run ScriptLMS free for 30 days with full access to every feature, capped at 15 staff accounts — enough to genuinely build out and test a real setup, well below what most real teams need day to day. No credit card required. If the trial (or a license) ever lapses, staff logins and training are never affected, and most of what you already rely on — reports, certificates, staff management, backups — keeps working too. See What happens if my license expires? below for exactly what keeps working.
How do I download ScriptLMS?
There are two ways. The easiest is the Easy Installer: upload one file to your website, open it in your browser, and it downloads, checks, and sets up ScriptLMS for you. Or click any of the "Try Free for 30 Days" buttons on this page to get a zip file containing the full ScriptLMS system and the setup guide. Unzip it, upload it to your web host, and follow the included instructions. Either way, you start with the same free 30-day trial.
How do I buy a license?
Click "Buy Now" anywhere on this page. You'll choose how many seats you need, optionally add white-label branding, and see the exact price before paying — no surprises at checkout. Payment is handled securely through Stripe; ScriptLMS never sees or stores your card details. Your license code is shown right on the confirmation page and emailed to you as a backup.
Is it safe to buy from ScriptLMS?
Yes. Payments are handled by Stripe, one of the world's largest and most trusted payment companies, used by millions of businesses. When you click Continue to Payment, you're taken to Stripe's own secure checkout page to enter your card — so your card details go straight to Stripe and never reach ScriptLMS. We never see or store your card number. Stripe is certified to the highest level of the card industry's security standard (PCI DSS Level 1). ScriptLMS keeps only the details you type on our order form (your company, name, contact information, and address), to issue and support your license.
Are updates free?
Yes — free updates are included, whether you're on the free trial or a paid license. When a new version is ready, a small green Update badge appears in your admin panel, and the License page shows what's new with a link to download it. Installing it takes one click on the License page: the program checks that the update really came from ScriptLMS, makes a full backup first, and installs it in a few seconds. Updating is always optional, and never touches your staff, modules, training records, or settings. See the update page for step-by-step instructions.
What happens if my license expires?
Your staff are never locked out. Whatever happens with your license, staff can always sign in, finish their assigned training, and print their certificates. Here's exactly what keeps working, and what waits for a renewal:

✅ Always works

  • Staff signing in and completing assigned training
  • Printing or editing a certificate, for any completion
  • Every report
  • Managing existing staff accounts
  • Deleting a module, or content within one
  • Backup & Restore
  • Installing program updates

❌ Waits for a current license

  • Creating a new module
  • Editing a module or its content
  • Adding new content to a module
  • Adding new staff accounts
Renew and everything that was waiting works again the moment you enter your new code — nothing is lost while you wait. There's no auto-renewal, so you're never charged without choosing to renew.
Can ScriptLMS handle a large company?
Yes. ScriptLMS has been stress-tested with 10,000 staff accounts and more than 110,000 training assignments across 11 training modules, running on ordinary shared web hosting with no database — even from a 12-year-old computer on a slow internet connection. At that size nothing was lost, searching for a staff member stayed instant, and every page scrolled smoothly; the biggest admin lists simply take a few more seconds to open. At 5,000 staff, staff sign-in, saving training progress, the admin pages, reports, and backups all stayed just as quick as with a handful of people. Long lists load in groups as you scroll, a whole staff can be assigned training in one click, and Bulk Import shows a progress bar for large lists.
Does ScriptLMS support accredited continuing education?
Yes. ScriptLMS is built for organizations approved to give CE credit. Accreditation itself is granted to the provider of the training — your organization, or the company whose course you use — by a body like a state board of nursing or ANCC, never to the software. Once you're approved, ScriptLMS keeps the records your approving body asks for: each approved module carries its own CE credits and your approval statement, printed on every certificate it issues; staff can be required to complete a course evaluation before the module counts, with a printable report of every answer; and every person's credits are totaled for each credit period. Most workplace training, like fire safety, infection control, or HIPAA, doesn't need accreditation at all — it just has to be completed and documented, which ScriptLMS does for every module.
Can I see how long staff actually spend on their training?
Yes. The Sign-In Log shows when each person signed in and out, and how much of that time was actually spent learning. Learning time only counts while they're engaged: a video or audio is playing, or they've moved the mouse or touched the screen within the last few minutes. When they step away, the clock pauses at their last movement, and if they switch to another tab, window, or program, their video and audio pause too until they come back. Nobody is ever signed out for being idle, and the whole log can be printed for an audit.
What do I need to run ScriptLMS?
ScriptLMS is a PHP-based web application, and it doesn't need a database at all — no MySQL setup, no database headaches. Just a standard PHP web host with the ability to write files, which is exactly what most basic shared hosting already provides. Full server requirements are listed in the setup guide.
Can I customize it for my company?
Yes — that's the whole point. ScriptLMS is designed to be fully customizable: pages, tests, videos, points rules, rewards, branding, and more. The included setup guide walks you through every option.
Does the points & rewards system have to be used?
No. Points and rewards are entirely optional and off by default. If you never turn it on, staff never see it and have no idea it exists. Admins can enable it at any time and choose whether staff can redeem points for company items.
Are certificates included?
Yes. Staff can print a certificate as soon as they complete a module, and admins can configure the certificate content and appearance.
What is the free Maintenance bonus?
A complete maintenance program built into ScriptLMS, free with every license. Staff report problems from the same page they train on, and your maintenance team works the work orders, signs off Life Safety and preventive maintenance tasks on schedule (with your own forms, filled in and signed on screen), and keeps track of equipment and air filters. History and Reports print what an inspector or fire marshal asks for. It's off until you turn it on — if you don't need it, nobody ever sees it, and it never gets in the way of your training.
Is there support or documentation?
Yes. Every page has a ? help button with a step-by-step walkthrough of that page — and when a window is open, it shows the steps for exactly that window. Staff get their own simple walkthroughs, written for them. On top of that, ScriptLMS ships with a full, detailed written setup guide that explains every part of the program, step by step.

Ready to get started?

Buy a license now, or try every feature free for 30 days first — either way, you're up and running on your own server today.
Free updates included.