The server owns the exam clock
Attempt deadlines, autosave, and expiry recovery keep exam timing tied to stored state. Closing a tab does not stop an attempt, and background jobs can finalize expired work.
- Live, model, and practice exams
- Negative marking and randomized question pools
- Autosave retries and tab-close answer flushing
