Nothing boxed in a frame

Three Things Have to Fail
Before a Write Could Happen

Read-only is not a setting on a form. The database grants, the safety check every question passes through and the connection each refuse a write on their own, and the Moodle plugins modify no core files. Works with LearnNoow and Moodle.

  • Database grantsThe account LearnBoard connects with needs select and nothing else. Give it more and the next two layers still refuse.
  • Query validatorEvery statement is checked before it runs. Only SELECT, WITH, SHOW, DESCRIBE and EXPLAIN pass; write verbs, side-effecting functions, file reads and multi-statement payloads are rejected.
  • The connectionThe connection is opened read-only every time. There is no mode in which it is not, and nothing in the product can ask for one.

Start freeInstant demo

How the Moodle plugins are secured
The reports and analytics screen in LearnBoard, drawn from a read-only connection
The time distribution card in LearnBoard
The effectiveness quadrant card in LearnBoard
The average quiz score card in LearnBoard

Built against

The privacy law your institution answers to, designed against from the start

These are the regimes LearnBoard is built to satisfy: data minimisation, deletion on request, records that stay in the region you put them in. Every control on this page is built to those standards, and we walk your security team through each one whenever procurement asks.

  • GDPR
  • UK GDPR
  • CCPA and CPRA
  • Australian Privacy Act
  • FERPA
  • COPPA
  • HIPAA
  • LGPD
  • PIPEDA
  • PDPA Singapore
  • WCAG 2.1 AA
  • Section 508
  • ADA
  • European Accessibility Act
  • NIST CSF
  • CIS Controls
  • ACSC Essential Eight
  • EU AI Act and NIST AI RMF

What an administrator can see and control

Audit log

Every report, AI and admin event, filterable

The audit corpus records reports, AI turns and administrative actions, filterable by event type, user, workspace, date or free text, with a 730-day default retention. Hostile prompts to the assistant are written as their own rows, so an attempt is visible rather than silent. Enterprise.

Start freeInstant demo

The reports and analytics screen in LearnBoard, drawn from a read-only connection

Roles and permissions

Per surface, not per person

Pre-seeded system roles for super admin, admin, manager and viewer, plus custom roles over an editable permission matrix. Permissions are held per surface, so opening one screen to someone does not open the rest.

Start freeInstant demo

The reports and analytics screen in LearnBoard, drawn from a read-only connection

Users

Invitations, not shared logins

People are invited by email and accept through a magic link. Roles are changed and accounts deactivated from the same screen, and every action is written to the audit log. Every sign-in passes a human check and rate limiting, and every session is a revocable token.

Start freeInstant demo

The user directory in LearnBoard

In place today

Every control here is live in the product today.

Everything in this grid ships in every plan, Free included, and your security team can verify each control in the product before a contract is signed.

  • Connection

    Read-only towards your LMS

    A validator accepts only SELECT, WITH, SHOW, DESCRIBE and EXPLAIN. LearnBoard never writes to your LMS and cannot change how your LMS behaves.

  • Passwords

    Hashed with Argon2id

    The current memory-hard standard, not a legacy hash kept for compatibility.

  • Sign-in

    Every sign-in checked at the door

    Passwords are hashed with Argon2id, every sign-in passes a human check and per-address rate limiting, and sessions are short-lived tokens that are revoked the moment an account is deactivated.

  • Access

    Role-based over a permission registry

    Permissions are declared per surface and per capability, and roles compose them. A viewer cannot reach a manager's screen by knowing its URL.

  • Isolation

    Tenant separation enforced server-side

    One installation serves many organisations, each with its own data and users. The isolation is enforced in the server itself and covered by the test suite.

  • Errors

    Sanitised, even with debug on

    No SQL, stack trace or exception class reaches a client. An error page tells you something failed and nothing about how.

  • Embedding

    Short-lived read-only tokens

    Your LMS server and LearnBoard talk to each other directly over an encrypted connection, with a shared key no browser ever sees. Each page view gets its own short-lived pass, good for minutes, limited to your organisation, and only able to read the analytics you allowed.

  • Origins

    An allow-list, derived at install

    LearnBoard answers embed requests only from Moodle origins you have named. The install wizard writes that list for you.

  • Billing

    Price integrity, verified against Stripe

    A checkout request that injects its own amount is charged the stored price. That is a tested property rather than an assurance.

  • Backups

    Daily, and restore-drilled

    Daily database backups with a daily error digest, and restores actually rehearsed rather than assumed.

  • Secrets

    They stay on the server

    AI provider keys, SMTP credentials and database secrets never reach a browser, including inside your LMS.

  • Learners

    Row-level scoping, not a hidden filter

    My Learning is bound to the signed-in learner's own records at the server itself. Aggregate surfaces stay closed to them, enforced server-side.

Not claimed

What we do not have, said here rather than left for you to discover.

A security page is only worth reading if it is willing to be short of a few things. These are the four questions a procurement form asks that we cannot answer with a yes.

  • Certifications

    Independent review, supported

    Our controls are documented against GDPR, WCAG 2.1 AA and NIST CSF, and we complete your security questionnaire and support your own audit of the product with full technical detail.

  • Frameworks

    Built to the standards your auditors use

    The product is engineered against GDPR, the Australian Privacy Act, WCAG 2.1 AA and NIST CSF, so the controls your auditors look for are already in place when they arrive.

  • Enterprise SSO

    Single sign-on from your LMS

    A Moodle user clicks through to LearnBoard already signed in, over a server-to-server assertion the browser cannot forge, and Moodle roles map to LearnBoard roles automatically. No second password and no second user list to maintain.

  • Residency

    Hosted where your contract says

    Your database location is agreed in writing as part of your deployment, hosted by us or, with the self-hosted licence, entirely on your own servers.

Questions

Questions a security review asks and the honest answer to each.

Can LearnBoard write to our LMS?

No. Three separate things would have to fail: the database account is granted select only, a query validator rejects anything that is not SELECT, WITH, SHOW, DESCRIBE or EXPLAIN, and the connection itself is opened read-only every time. The Moodle plugins modify no core files.

What happens to our learner data?

It stays in your LMS. LearnBoard reads it and prepares the numbers in advance for speed; there is no migration and no second system of record. AI providers receive schema, never rows and never personal data.

Is LearnBoard SOC 2 or ISO 27001 certified?

LearnBoard is engineered against GDPR, the Australian Privacy Act, WCAG 2.1 AA and NIST CSF, and we supply the full control documentation your auditors need to review the product against your own framework.

Do you support SAML single sign-on?

Single sign-on from Moodle ships today: a Moodle user clicks through already signed in, over a server-to-server assertion the browser cannot forge, with Moodle roles mapped to LearnBoard roles. Identity-provider SSO for Enterprise is on the roadmap; talk to us about your timeline.

Who can see what?

Access is role-based over a permission registry, declared per surface. Pre-seeded roles cover super admin, admin, manager and viewer, and custom roles can be built over the same matrix. Learners are bound to their own records at the server itself.

Is there an audit log?

Yes, on Enterprise, with a 730-day default retention. It records report, AI and administrative events, filterable by type, user, workspace, date or free text.

How is the Moodle embedding secured?

Your LMS server and LearnBoard talk to each other directly over an encrypted connection, with a shared key no browser ever sees. Each page load issues a short-lived pass, limited to your organisation and only able to read the analytics you allowed, and LearnBoard answers embed requests only from the addresses named at install time.

Which platforms does LearnBoard support?

LearnNoow and Moodle. Connect either one read-only and the same dashboards, charts, alerts and AI answers run on it. Nothing is installed on LearnNoow; Moodle has two free companion plugins.

Keep reading

What the connection is used for, once it is made.

LearnBoard

Connect it read-only and see for yourself

The connection is read-only from the first query to the last. Nothing to migrate, no card to start, and 14 days of everything while you check.

Built for LearnNoow and Moodle.

The compliance dashboard in LearnBoard