Compare

What each approach gives up.

A few approaches exist for keeping an exam off the open internet. Each makes different choices about where it runs, what it controls, and how much it watches. This page puts them side by side, including the cases where something else is a better fit.

At a glance

At a glanceSafeExamOSSafe Exam BrowserBlocker extensions and DIY scriptsRemote proctoringClassroom monitoring
Runs on Linux lab machinesYesNoNo official Linux clientYesPartlyProctorio lists Ubuntu; most others don’tPartlyVeyon yes; most others Windows-first
Blocks traffic from every app, not just the browserTerminals, pip, git, IDE plugins, a second browser.YesNetwork-level allowlistPartlyLocks the browser and kills disallowed apps; allowed apps’ traffic isn’t filteredPartlyBrowser-only, unless you also script a firewallNoWatches instead of blockingPartlyCoarse internet on/off as a paid add-on
Different allowed sites for each examYesYesPer exam config filePartlyBy hand, each timePartlyPartly
Watches the studentWebcam, microphone, screen or keystrokes.NoNeverNoUnless you add SEB Server screen proctoringNoYesThat’s the productYesLive screen thumbnails
Seating plans from the rosterYesNoNoNoNo
One readiness view for the whole labYesSelf-test on every seatNoNoNoYes
Report of allowed and blocked requestsYesPer seat, timestampedNoPartlyIf you keep the proxy logsPartlyFlags and recordings insteadNo
Restores the lab for normal use afterwardsYesOne command from the jump hostYesQuit the browserPartlyUndo your own changesYesYes
Open sourceYesCore engine under AGPLv3PartlyMPL, with a closed security module in some buildsYesYoursNoPartlyVeyon yes; the others no
Works for remote or take-home examsNoLab machines onlyYesOn Windows, Mac and iPadPartlyYesNo
Students bring their own laptopsNoYesPartlyYesPartly

“Partly” means it can be done, with extra tools or effort.Checked against public documentation in November 2026.

Lockdown browser

Safe Exam Browser

Free and mature. Locks the browser, not the network. No Linux client.

Safe Exam Browser (SEB) is a free, open-source kiosk browser from ETH Zurich. It opens one exam URL with no address bar, stops any apps you have not explicitly allowed, and proves to the exam server that it has not been modified and is running the correct settings. Moodle has supported it since 3.9, and ILIAS, OpenOlat, Open edX and Inspera support it as well.

Where it’s the better choice

  • It is free and has been in use for exams for more than a decade.
  • It runs on student-owned Windows laptops, Macs, and iPads. SafeExamOS does not support BYOD.
  • If your exams are Moodle quizzes, SEB integrates deeply and has thorough documentation.

Where it struggles

  • There is no official Linux client. If your lab runs Ubuntu or Fedora, SEB is not an option.
  • It controls which apps can run, not what they send. Once you allow an IDE or terminal for a programming exam, pip, git, curl and any AI plugin inside that IDE can still reach the internet.
  • Each SEB upgrade changes the Browser Exam Key, which means quiz settings must be updated after each upgrade.
  • It knows nothing about seats, rooms, or readiness. It is one program on one machine.

Choose SEB if

Your exams are Moodle quizzes, your machines run Windows or macOS, or your students bring their own devices.

Choose SafeExamOS if

Your lab runs Linux, your exams require a terminal or IDE, or you want a single point of control for the entire room.

Sources: SEB overview · Moodle docs: Safe Exam Browser · HU Berlin on SEB and Linux · Flathub request for a Linux build

Roll your own

Blocker extensions and DIY scripts

Free and yours entirely. Easy to set up, easy to work around, and often only one person understands how it all works.

The typical homegrown setup: a browser extension or Chrome’s URLBlocklist and URLAllowlist policies, sometimes an /etc/hosts file, and in better versions a Squid proxy and iptables rules written by whoever runs the lab. A good proxy-and-firewall setup follows the same approach SafeExamOS uses.

Where it’s the better choice

  • It is free and there is no vendor.
  • You understand exactly what it does, because you wrote it.
  • For one exam, in one room, with one careful admin, it can be enough.

Where it struggles

  • Browser-level blocks only cover that browser. A second browser, a guest profile, curl, pip or a Python script will bypass them.
  • Chrome’s allowlist gates top-level pages. Requests made from inside an allowed page can still go out.
  • DNS-based blocks do not catch IP addresses or DNS-over-HTTPS, which browsers now enable by default.
  • Manually written firewall rules often overlook IPv6, break when a CDN changes addresses, and require manual restoration after the exam.
  • There is no seating chart, no readiness check across the room, and no report. And when the person who wrote the scripts is not available, nobody else knows how to run them.

Choose DIY if

You have a single lab, an admin who understands the setup and has time to maintain it, and do not need reports or seating management.

Choose SafeExamOS if

You want the network-level approach without maintaining it yourself, across multiple labs and many exams each term.

Sources: Chrome URL blocklist and allowlist · Firefox DNS-over-HTTPS and networks

Remote proctoring

Respondus, Proctorio, Honorlock, ProctorU

The only option that works for home exams. It works by watching the student, and that has costs.

Remote proctoring tools lock the browser and then watch: webcam, microphone, screen, room scans, and often AI that flags suspicious behaviour for a human to review. They exist for exams taken away from campus.

Where it’s the better choice

  • If the exam is in a student’s bedroom, these are the only tools built for it. SafeExamOS needs a lab.
  • They include identity checks, which a lab with an invigilator handles in person.

Where it struggles

  • Almost none run on Linux. Respondus, Honorlock and ProctorU do not; Proctorio lists Ubuntu.
  • Privacy and legal trouble: a US federal court held a Cleveland State room scan unconstitutional in 2022, and Respondus settled an Illinois biometric privacy class action for $6.25 million while denying liability.
  • Face detection has failed students with darker skin, and ProctorU dropped AI-only proctoring in 2021 after finding institutions reviewed only about 11% of flagged sessions.
  • They charge per exam, per student or per FTE, every term.

Choose it if

The exam is genuinely remote and you have weighed the privacy cost.

Choose SafeExamOS if

The exam is in a lab you control, and you would rather not film anyone to run it.

Sources: NPR on the Cleveland State ruling · Respondus BIPA settlement · Campus Technology: ProctorU ends AI-only proctoring · NL Times on the VU Amsterdam ruling · Proctorio system requirements

Classroom monitoring

Veyon, NetSupport School, LanSchool

Good teaching tools. As exam tools, they come down to someone watching a wall of screens.

Classroom management software shows the teacher a live thumbnail of every screen, with remote control, screen lock and messaging. Veyon is free, open source and runs well on Linux; its paid add-ons include internet access control and screen recording.

Where it’s the better choice

  • They are good for teaching: demonstrating on every screen, helping a student remotely, locking screens for attention.
  • Veyon is free and Linux-native, which few tools in this space are.

Where it struggles

  • The exam model is surveillance: an invigilator watching screens and hoping to catch something.
  • Network control is coarse, usually internet on or off, not a per-exam list of allowed sites with a log of what was blocked.
  • No seating plans, no exam windows, no per-exam report.

Choose it if

You mainly need day-to-day teaching control, and exams are occasional.

Choose SafeExamOS if

Exams are frequent and you want the restrictions enforced by the system, not by a person watching screens. (The two can coexist.)

Sources: Veyon · Veyon add-ons

Contest images

ICPC and IOI style contest images

The closest relative: lock the machine and network, not the student. Built for one event at a time.

Programming contests have locked machines down this way for years. ICPC regionals use a dedicated Linux image with the judge and a restrictive firewall built in; IOI runs contestants on native Ubuntu workstations with offline documentation.

Where it’s the better choice

  • They have worked at contests with hundreds of teams.
  • Open, documented, and free to adapt.

Where it struggles

  • Usually a separate image you boot or re-image for one event, then remove.
  • Not made for a teaching lab that hosts an exam at 14:00 and a normal class at 16:30.
  • No rosters, seating, per-course allowed sites or reports for instructors.

Choose it if

You are running a single big contest with volunteers who already know the image.

Choose SafeExamOS if

You want the contest-style lockdown every week, in the same lab you teach in.

Sources: ICPC contest environment · IOI 2025 competition equipment