Halloween to Cyber Monday sale: 30% off your first year of LMS Advisor, cloud or self-hosted.30% off your first year Ends Dec 1, 2026 Claim the offer
Security & Data Ownership

Keep learner data where your policies say it goes

Host it with us or on infrastructure you control. Either way your security team gets identity integration, sign-in rules they can enforce, and controls they can inspect for themselves.

At a glance

  • Cloud or self-hosted
  • SAML 2.0 single sign-on
  • SCIM 2.0 provisioning
  • Passkeys and enforced 2FA
  • Built-in security scanner

Security reviews for an LMS tend to stall on the same questions. Where does the data sit? Can we use our identity provider? Who can see proctoring footage, and for how long? What happens to a leaver’s records?

LMS Advisor is a PHP and MySQL application, so one possible answer to the first question is “on your own server”. It runs on an ordinary VPS or cPanel host as well as in our cloud. The rest of this page describes the controls that ship in the product, where they live, and the few things they do not cover yet. We do not hold SOC 2, ISO 27001 or HIPAA certifications and will not suggest otherwise. What we can do is show your reviewers exactly how each control behaves.

The problem

What security reviewers usually flag

Data that must stay in-region or on-premises

Some contracts and public-sector rules do not allow learner records in a vendor’s shared cloud.

One more password to manage

Separate LMS credentials mean weak passwords, reset tickets and accounts that outlive the person who left.

Sensitive data with no end date

Webcam snapshots, exam audio and AI chat logs pile up for years unless someone sets a limit.

Admin rights nobody can account for

Without a log and a ceiling on roles, it is hard to show an auditor who could change what.

Capabilities

Controls that ship in the product

Each control below is set from the admin area of the platform, and your own team can check most of them on a trial install.

Cloud or self-hosted

Run on your own server with an in-app migration runner, database backups, system health checks and storage cleanup, or let us host it.

SAML 2.0 single sign-on

Okta, Microsoft Entra ID, OneLogin, Ping or ADFS, with signed assertions, replay protection, just-in-time accounts and group-to-role mapping.

SCIM 2.0 provisioning

Your directory creates, updates and deactivates accounts. A deprovisioned user is deactivated, never erased, so completions and certificates remain.

Passkeys and enforced 2FA

Passwordless sign-in with Face ID, Touch ID or Windows Hello, an emailed 6-digit code on the web, and authenticator-app codes you can require by role.

Built-in security scanner

Checks code files, uploads, stored content and server configuration for malware signatures, injected scripts and risky settings.

Retention and audit trail

Set how long logs, proctoring snapshots, exam audio and AI chats are kept, and review privileged actions in the audit log.

In depth

How the controls behave in practice

Sign-in and identity

You add a SAML identity provider by importing its metadata. LMS Advisor verifies the signature on every response, allows two minutes of clock skew, and records each assertion ID so a captured response cannot be replayed. A second certificate slot lets you rotate the IdP certificate without an outage. You decide whether unknown users are created at first sign-in, whether profile fields refresh on each login, and how directory groups map to roles. When a person sits in several mapped groups the most privileged role wins, but nothing mapped from a directory can go above admin. Single logout is not implemented yet.

Each SCIM connection gets its own bearer token, which you can rotate. People are matched on the directory’s externalId before email, which avoids duplicate accounts when an address changes. A delete from the directory deactivates the account.

For local sign-in, you can require authenticator-app 2FA for chosen roles (super admin and admin by default). The settings screen shows how many people in each role have already enrolled, so you know who will be sent to setup before you enforce it. Each user gets eight single-use backup codes, and an authenticator code that has been accepted once cannot be used again. People can tick “remember this device” to skip the second step on a trusted computer for 15 days by default (you can set anything from 1 to 90), on up to 10 devices each. On the web there is also a code-by-email option: a 6-digit code that expires after 10 minutes. Repeated failed sign-ins lock the account for a set period, five attempts and 15 minutes unless you change them.

Least privilege for people and integrations

The role ladder stops anyone granting a role at or above their own, including through bulk import and the API. API tokens carry scopes (read, write, sso, admin), an optional IP allowlist and an expiry date. Only a hash of each token is stored, and the value is shown once. Stored secrets such as 2FA seeds and LRS credentials are encrypted with AES-256-GCM.

Evidence you can review

Sensitive actions go to the audit log, including refused privilege changes, token creation, bulk imports and impersonation sessions. Impersonation is limited to admins and super admins, cannot be nested, and a super admin cannot become another super admin. The scanner runs in short batches so it finishes on shared hosting. It compares code files against an integrity baseline and malware signatures, looks for executable files in upload folders, scans stored HTML for injected scripts and iframes, audits configuration (exposed .env files, debug mode, leftover dev files), and lists admin accounts created in the last 30 days for you to confirm.

For a single account, the user history view shows the last 30 days of sign-ins with IP address, location and device, plus the pages that person opened. It is often the quickest way to answer “was this really them?”

Retention

Under Legal Pages you set retention in days for audit logs, session history, analytics events, sent email, read notifications, proctoring snapshots, exam audio, AI tutor chats and inactive student accounts, which are anonymized (off by default). Enrollments, attempts, grades and certificates are deliberately outside these rules, because regulated training records often have to be kept for years.

See Security & Data Ownership in a live demo

We will show it with your own scenario, answer the security questions and send a written quote after the call.

Book a demo
Workflow

A hardening pass for a new install

Choose where it runs

Pick our cloud or your own server. A self-hosted install needs PHP, MySQL and scheduled cron jobs.

Connect identity

Import your IdP metadata for SAML, map groups to roles, and create a SCIM connection for joiners and leavers.

Tighten sign-in

Require 2FA for admin roles, turn on passkeys, choose how long a remembered device lasts, and set the lockout threshold that suits your policy.

Scan and set retention

Build the integrity baseline, run a first scan, then set retention periods for proctoring media, exam audio and logs.

Review on a schedule

Check the audit log and API token list regularly, and rotate SCIM and API tokens when the people who hold them change.

Use cases

Teams with strict requirements

Public sector and education

Host on approved infrastructure in your own region and sign staff in through the directory you already run.

Certification bodies running proctored exams

Keep webcam snapshots and exam audio for as long as your appeal window, then let retention delete them.

Enterprises with a joiner and leaver process

SCIM mirrors directory changes into the LMS as they are pushed, and training history survives when someone leaves.

Organizations on modest hosting

The scanner, backups and health checks are built to run within ordinary hosting limits, with no agents to install.

Benefits

What your IT team can sign off on

  • A clear answer to where learner data lives
  • One identity per person, managed from your directory
  • Admin sign-ins protected by a second factor you can enforce
  • Sensitive exam media deleted on a schedule you set
  • A log your auditors can actually read
FAQ

Questions from security reviews

Can we host LMS Advisor ourselves?
Yes. It runs on PHP and MySQL, including on standard VPS and cPanel hosting. The admin area includes a migration runner, downloadable database backups, system health checks and storage cleanup, so routine updates and maintenance can be done from the browser. If you would rather not run a server, the same product runs as a cloud LMS that we host.
Do you hold SOC 2, ISO 27001 or HIPAA certification?
No. We do not claim any certification or attestation. We describe the controls in the product and will walk your security team through them. On a self-hosted install, your own infrastructure controls apply as well.
Which identity providers work with SSO?
Any SAML 2.0 provider. Okta, Microsoft Entra ID, OneLogin, Ping and ADFS are the common ones. Google and GitHub sign-in and token-based SSO from another site you run are also available.
What happens to training records when someone leaves?
They stay. A SCIM delete deactivates the account rather than erasing it, so completions and certificates remain for audits. If personal data has to go, the privacy request queue can anonymize the account while keeping anonymous completion records.
Is single logout supported?
Not yet. Signing out of LMS Advisor ends the LMS session, but a logout at the identity provider is not passed through to the LMS.
Can we turn off the AI features?
Yes. AI stays off until an admin enables it and chooses Anthropic or OpenAI as the provider. Authoring and generation calls are recorded in the AI Usage log, and tutor conversations have their own admin log.
How are uploaded files checked?
Uploads are validated by their real MIME type rather than the file extension, stored under random names, and executable types are refused. Course media streams only to signed-in users. Lesson study material opens only for people allowed into that lesson, and certificate files attached to outside training records open only for the learner and the staff who review them.
Do people have to enter a 2FA code every time?
No, not on a device they trust. With “remember this device” the second step is skipped for 15 days by default, and admins can set that anywhere from 1 to 90 days. Each person can remember up to 10 devices.
Can we see where an account has been signing in from?
Yes. User history keeps 30 days of sign-ins for each account, with IP address, location and device, and lists the pages the person opened.
How long is proctoring evidence kept?
As long as you decide. Proctoring snapshots and exam audio clips each have their own retention setting, and the daily job removes both the database records and the files on disk. We suggest keeping audio for a shorter time than snapshots.
Our Clients, Our Success Stories.

Trusted by Organizations Across Industries.

From growing businesses to established enterprises, organizations trust LMS Advisor to build, customize, and scale their learning platforms.

  • KQWEN LABs Pvt. Ltd.
  • TutorLMS Expert
  • Trusted iT Firm
  • Laxmi Engineers
  • Eldeal Engineers
  • eggocentrico
  • CollateralBase
  • Art with Connie Herrick
  • Contractor Clouds
  • Nevada LTAP
  • LifterLMS Expert
  • Worldwin Coder Pvt Ltd
  • SamayBook
  • All In One LMS
  • UpMonora
  • Moneyling
  • Cannabis Industry Lawyer
  • The Relationship School
  • Potato University
  • California Notary Prep

See LMS Advisor with your own use case

A product specialist walks you through authoring, a proctored exam, certificates and the AI tools, using the programs you actually run.