It’s getting to that point in the academic year when assignments start piling up – so we’ve been busy too. We’ve added new PlagPointer features, improved the checker and made the site much easier to use, ready for the busy months ahead.
Here’s what we’ve been up to in no particular order:
- CAPTCHA / registration security: you told us the existing hCaptcha had become a real problem – difficult challenges, repeated prompts and eventually an “Error on hCaptcha. Contact your site administrator” failure during registration. We worked on moving registration/login protection to Cloudflare Turnstile. You now don’t have to do anything at all to confirm you’re not a bot. (Unless you’re a bot)
- Registration flow: we’ve had numerous mails complaining about the sign up process with people feeling stuck and unsure what to do next. We worked on the poor post-registration experience, where users were just told they had registered and were left stranded. The whole process is now streamlined.
- Login/return flow: on the same note, logged-in users are now redirected towards the scanner rather than dumped into a generic account screen.
- Scan resilience/background processing: we’ve improved scans so users no longer need to sit on the processing page waiting. The scan can continue in the background and completed reports appear in My scans.
- Pending-scan recovery: we also improved the holding/retry behaviour so a delayed result from our API does not just look like a broken scan.
- My scans: we turned this into a proper report library, showing only completed scans with actual PDF files, with pagination and persistent downloads. Dates were working before but now times are fixed – this makes it easier if you’re scanning multiple documents on the same day.
- Plagiarism + AI are now selected together by default: it doesn’t cost anything extra so users might as well benefit from it.
- 350-word AI minimum: this was not made clear before and users may have just seen a 0% result when the reality was that the document was too short. We’ve now made this clearer.
- Cross-language plagiarism: improved UX – rather than having the two boxes from / to, it’s now clear that the document language is detected automatically and the user chooses the additional language to search for translated matches.
- Text-manipulation detection: we added optional checking for hidden characters, lookalike Unicode substitutions, invisible text and similar tricks.
- Domain controls: users can now exclude particular websites or restrict the search to specific websites.
- More exclusions: added exclusions for website titles/headings, repeated header/footer material and source-code comments, on top of quotations, citations, references and tables of contents.
- Source-code plagiarism: added direct support for code files including PHP, Python, JS, TS, Java, C/C++, C#, Go, Ruby, Swift, Scala, CSS, shell and others.
- Shared-database control: clarified and retained as an opt-in, with No as the default. The option if checked gives users the ability to scan against billions of documents but adds their document to the database. The feedback we have is that most users don’t want this and so now, they have to deliberately check the box if it is required.
- Advanced settings: collapsed by default and reorganised so ordinary users get a simple scan while the detailed controls remain available.
- Credit-review step: strengthened the “show the exact cost before anything is deducted” flow.
- Admin support tools: we added a better audit trail for admins so it’s easier and quicker to help users with their support requests.
- Upload/resource hardening: we improved PHP/resource/upload limits so larger scans are less likely to fail for server-side reasons.
- Refund policy: we added a new 21-day voluntary refund window for unused credits, while keeping credits themselves non-expiring.
If you haven’t used the checker for a while, this is probably a good time to have another look.
And if something is confusing, annoying or simply doesn’t work as you expect, please tell us. A surprising number of the changes above exist because somebody did.