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.




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.
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.

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.

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.

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.
Inside your LMS
AI
Dashboards
Pricing
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.

















