Essay Guard
Writing-authenticity signals for Moodle™ assignments, quizzes and forums. Review observed input, writing behaviour, prose style and eligible comparisons with a student's own history. Measurements support a fair human review; they are not proof of authorship or misconduct.
One-time unlock, lifetime updates
On a fresh installation, Essay Guard is off. An administrator must enable Moodle's plagiarism subsystem and Essay Guard's master switch, then a teacher enables each activity they want monitored. New activities are off unless explicitly enabled.
An administrator can instead choose the LMS Labs site-wide override for all assignments or all quizzes. That explicit choice overrides the individual activity checkbox. Upgrades preserve previously monitored activities.
50 LMS Labs credits for one-time site access · Marketplace: US$5 one-off — a one-time unlock per Moodle site, with lifetime updates. For credit purchases, the administrator confirms the displayed amount before credits are deducted. Status checks, scheduled licence checks and saving settings do not purchase or automatically unlock the plugin.
Writing-process analysis — not similarity matching
Essay Guard reports how text arrived and what it measured, rather than matching a submission against other people's writing. Comparisons use the student's own statistical history only after enough data exists.
Student text, identity, telemetry and scores stay in Moodle. Scheduled activation, licence verification and settings requests contact LMS Labs using Site ID and API key only.
Four evidence classes. Four result states. Observed, Behavioural, Writing style and Comparative describe different kinds of measurements. Low, Medium, High and Not assessed must be read with their context.
Essay Guard is a Moodle™ plagiarism plugin that records how writing arrived in a text box and reports what it measured. It is not a similarity checker and holds no database of other people's text.
A browser script captures timing and size information: gaps between keystrokes, pauses, corrections, paste and drag-drop events, and the size of insertions. At submission the server produces a 0–100 measurement and a breakdown. Student work and the analysis remain in Moodle.
The question it helps you ask
What happened in the writing area, which measurements need context, and what should a teacher review with the student?
What it cannot establish
It cannot tell you that text was written by AI. Retyping an AI-authored answer and retyping your own handwritten notes cannot be distinguished by keystroke measurements. It does not determine academic misconduct.
The evidence class matters more than the number. Read the breakdown rather than treating several related measurements as independent findings.
| Evidence | What it measures | How to read it |
|---|---|---|
| Observed | Clipboard use or a bulk insertion. | Strongest observation of an action, not an inference about authorship. |
| Behavioural | Speed, pauses, corrections and rhythm. | Measured behaviour with ordinary explanations. |
| Writing style | Sentence and paragraph shape, vocabulary and linking phrases. | Corroboration only; combined contribution capped at 20 points. |
| Comparative | Departure from the same student's own earlier work. | Only available after sufficient history for the same activity type. |
- 1
Enable and disclose
Moodle's plagiarism subsystem, the plugin and the activity must all be enabled. The student sees a disclosure above the writing area.
- 2
Capture the writing session
The tracker records timings, counts and insertion lengths in supported fields. Characters typed and deleted drafts are not captured.
- 3
Send batches to Moodle
The default captureinterval is 5000 milliseconds. Batches use Moodle web services; an abrupt close or a blocked script can still leave gaps.
- 4
Score the submission
The server evaluates the signal definitions and caps. Quiz essay questions are assessed individually, with events attributed to each question.
- 5
Review, not adjudicate
Authorised staff open the badge, class report and student detail page. Check the writing, capture coverage, input method and assessment rules before acting.
| Activity | Capture and scoring |
|---|---|
| Assignment | Online-text writing in the monitored editor. Uploaded documents are not live writing sessions. |
| Quiz | Capture on the attempt page; essay questions are scored individually. The plugin renders its own disclosure because core has no quiz plagiarism integration. |
| Forum | Writing in the post editor. Forum history is kept separate from quiz and assignment history. |
Other activity types are ignored entirely. Supported editors are Atto, TinyMCE and plain textareas. Consult the shared operational release reference above for current Moodle compatibility; plugin compatibility is not a recommendation to remain on a Moodle release outside general support.
This guide makes no Moodle mobile-app support claim. Validate the actual browser, editor and input methods used by your learners before rollout.
Below the Medium threshold. Individual capped signals may still contribute. This is not a certification that the work is the student's own.
One or more thresholds met. Fast typing, drafting elsewhere and assistive software can explain patterns. Read the measurements and ask for context.
Several thresholds met. Read the submission and the full breakdown before drawing any conclusion; a high number is not proof.
No typing activity was recorded. A blocked script, page error or attempt begun before enablement may explain this. Review by hand; never treat it as Low.
A score is a measurement, not a finding. The thresholds have not been calibrated against a labelled dataset and there is no published false-positive rate. The bands are for triage, not automatic penalties.
Grading screen
A badge beside the submission; one per essay question in a quiz. Open it to review the detailed measurements.
Class report: report.php
Students sorted by risk, per-question rows, and a count of students not assessed. Missing coverage deserves attention alongside high scores.
Student detail: student.php
Signal contributions, underlying metrics and comparison with the student's history. The displayed maxima follow the site's paste-weight setting.
Retroactive scoring
The rescore tool can process stored answers from before installation. Any available text analysis is writing-style-only, not a recovered typing session. In the shipped analyser, no captured activity for a non-empty answer means Not assessed: text-only fallback points are discarded, not presented as a Low result.
Access requires plagiarism/essayguard:viewreport. Students are not granted reports by default; disclosure of collection is separate from access to a teacher's report.
Rescoring does not recreate missing telemetry. Where style measurements accompany an assessed session, their combined contribution remains capped at 20 and cannot independently reach Medium.
Start with the writing itself. Check event coverage and the evidence class, then review the measurements and their caps. Ask about drafting methods, accommodations and the learner's explanation.
The figures in this guide describe the verified shipped algorithm. Current release metadata, compatibility and verified downloads are maintained by the shared operational reference above. Changes belong in the shared Changelog, not a duplicated release table.
Short answers and missing capture need particular caution. A Low band does not certify authorship, and Not assessed is not a Low result.
Illustrative historical simulation — not current scoring
This older animation is retained only to illustrate the idea of a captured writing session. Its invented learners, numbers, labels, risk bands and explanations are historical simulation, not the shipped algorithm, a real report or expected outcomes.
Do not use its paste or retyping scenes to infer a current score or authorship. Use the four-state result guide, sixteen-signal definitions, caps and testing observations above instead.
Live Detection Demo
Essay Guard v1.2.126Natural rhythm, pauses, corrections — authentic writing confirmed
