I'm developing an educational app designed for both teachers and students, and I've hit a snag with the attendance feature. I'm looking for ways to ensure that attendance records are accurate and that students can't game the system by marking attendance for others (like proxy attendance). I want to avoid using biometric methods and easily shareable options, such as QR codes. Are there practical software-based methods or verification techniques that could help with this?
4 Answers
If you have a client app, why not lock each account to a single nominated device? You could also use geolocation to verify students are where they need to be. Adding a sequence of changing QR codes could help as well, as they would have to scan in real-time and can't easily share those with someone else. Of course, this method isn’t foolproof either, especially with video calls, but it makes proxy attendance trickier.
Another thing to think about—are your users sharing devices? That could affect how you set up the attendance system. If each student could only use one device, it might help limit proxy attendance.
2FA really seems like your best bet, but even then, there's always a chance for loopholes. Students can often find a way around it, so you'd still need additional checks.
Have you considered using two-factor authentication (2FA) through apps like Google Authenticator? If you can link the device to a specific account, it might help connect a person to their attendance. But keep in mind, people could still text their authentication codes to someone else.

That's true, but sharing codes could allow for proxy attendance. It's a tough situation when account sharing is so common, especially because many platforms struggle with this too.