CourseVerify – Student Identity Checkpoints Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
CourseVerify lets a course administrator require students to periodically verify their identity as they progress through a LearnDash course — at course start, at configurable time-based checkpoints (e.g. every 5 tracked hours), and before a designated final exam.
At each checkpoint, the student answers a previously configured personal security question. Course access is blocked server-side until verification succeeds. CourseVerify provides a configurable identity-verification mechanism that educational providers can use to implement their own institutional policies — it does not itself guarantee compliance with any government or regulatory requirement.
Core features
- Student-configured security questions, answers stored as one-way hashes (never plaintext, never shown to administrators)
- Configurable, per-course checkpoint schedule based on tracked course time
- Configurable maximum verification attempts, with automatic lock-out and administrator unlock
- Optional final-exam verification, gated on an administrator-selected quiz
- Full audit log of verification and administrative events
- Works with any theme; assets are only loaded on protected course pages
- No telemetry, no tracking, no external requests, no advertising
Supported integrations
- LearnDash (course/lesson/topic/quiz access, enrollment, final exam)
- Uncanny Toolkit Pro — Simple Course Timer (
[uo_time]) as the course-time source
CourseVerify is an independent plugin and is not affiliated with LearnDash, Uncanny Owl, or any regulatory agency.
Configuration
Per-course settings (on each course’s edit screen):
- Enable CourseVerify
- Number of security questions required at setup
- Checkpoint schedule, in hours of tracked course time
- Maximum verification attempts before locking
- Whether to lock on max failures
- Final-exam verification, and which quiz it applies to
Global settings (CourseVerify Settings) provide defaults used when a course hasn’t been individually configured, plus the uninstall data-deletion preference.
Privacy
CourseVerify stores, per student per course: configured security-question text and a one-way hash of the answer (never the plaintext answer), checkpoint verification status and timestamps, verification attempt outcomes (never the submitted answer text), and an administrative audit trail of setup/verification/lock/unlock events. No data is sent to any external server. Administrators can review stored data via the Students and Logs screens, and students’ data is included in WordPress’s built-in personal-data export and erasure tools (audit-log rows are retained by default as an administrative record; site owners can change this via the courseverify_privacy_erase_audit filter).
Limitations
- The bundled Uncanny Toolkit Pro time-provider adapter reads course time via the
[uo_time]shortcode’s own rendering rather than a documented per-user API, and can currently only read the active, logged-in student’s own time (not an arbitrary student looked up by an administrator). See the compatibility note inincludes/Integrations/Uncanny/class-uncanny-timer.php. - Course-content gating is enforced via the
the_contentfilter on singular LearnDash content; a fully version-proof hard block on LearnDash’s own AJAX quiz-submission endpoint has not yet been verified against a specific LearnDash version.
Screenshots
No screenshots provided

