1. The database account
The account LearnBoard reads with needs SELECT and nothing else. If you give it more, the layers below still refuse a write.
LearnBoard reads your Moodle data to draw its dashboards, and it can never change that data. This page explains how read-only access is enforced, how each workspace is kept apart from every other, how sign-in is protected, and what is recorded and kept. It is for workspace administrators, Moodle administrators and anyone answering a security or privacy review.
Nothing in LearnBoard writes to your Moodle site. Not a screen, not a CSV, not the AI assistant, not a background update. For a write to reach your Moodle data, every one of these separate safeguards would have to fail at once.
1. The database account
The account LearnBoard reads with needs SELECT and nothing else. If you give it more, the layers below still refuse a write.
2. The query check
Every statement is checked before it runs. Only SELECT, WITH, SHOW, DESCRIBE and EXPLAIN pass. Write verbs, functions with side effects, file reads and several statements in one go are rejected. Anything unclear is rejected too.
3. The read-only connection
The connection LearnBoard opens to your database is read-only every time. There is no mode in which it is not, and nothing in the product can ask for one.
4. A read-only database session
Every database session, reconnections included, is set to read-only on the database server itself, so the database refuses a write even if one got past the layers above.
The plugin adds its own checks on your Moodle server, on Moodle’s terms rather than LearnBoard’s:
If the plugin cannot set a read-only session, it refuses to run any query at all. See Moodle requirements and the Moodle plugin section.
Create a database account for LearnBoard that is granted SELECT only on your Moodle database. LearnBoard only ever reads, so SELECT is enough. The query check, the read-only connection and the read-only session apply to every statement.
An uploaded copy is loaded into a private space of its own for your workspace. Your live Moodle site is not touched at all.
One LearnBoard service holds many organisations, each in its own workspace with its own people, data sources and figures. The separation is enforced on the server, on every request:
Access is role based, with permissions held for each screen and each action. A Viewer cannot reach a Manager’s screen by typing its address, because the server checks the permission on every request.
One person, one account
People are invited by email and choose their own password. There are no shared logins. An address that has not been confirmed cannot sign in: LearnBoard sends a six-digit code to confirm it.
Strong passwords
At least 12 characters, with upper and lower case, a number and a symbol. Passwords are stored with Argon2id, a modern memory-hard hash.
Checked at the door
Every sign-in passes a check that you are human, and repeated failed attempts are slowed down.
Sign in with Moodle
With the plugin’s per-user sign-in on, people open LearnBoard from Moodle with no second password. The single-use ticket works once, for a minute or two.
Two-factor sign-in asks for a six-digit code from an authenticator app as well as your password. It works with Google Authenticator, Microsoft Authenticator and any app that reads a QR code.
With two-factor sign-in on, a correct password alone never opens a session. Turning two-factor sign-in off asks for your password again, so an open browser tab is not enough to remove it.
The audit log records who did what in your workspace: report events, AI questions and administrative actions, each with the account and the time.
| What | How long |
|---|---|
| Audit log entries | 730 days by default |
| Your Moodle data | not copied by LearnBoard when it reads your site or database; it stays in Moodle |
| Saved figures | replaced as they are worked out again, as set under data freshness |
| A workspace you delete | locked at once, and removed after 7 days unless an Admin restores it |
A workspace Admin can delete the workspace from Your subscription with Delete this workspace. The workspace is locked straight away, and any Admin of the workspace can restore it within 7 days. After that, its people, data and settings are removed. A card subscription is cancelled at the moment you ask.
When something fails, LearnBoard shows a plain message and a short reference number. It never shows SQL, stack traces or server details. The reference number lets support find the full detail in the server log.