Covers every display
The calculator fills the main screen over the menu bar and dock. Every other monitor gets its own opaque cover.
For math teachers
Students get the real graphing calculator โ nothing removed, nothing rebuilt. You get one button that freezes every device in the room onto it, and a live feed the moment anyone tries to leave.
Open source ยท AGPL-3.0 ยท No student accounts
Sign in and name it. You get a six-character class code โ the only thing your students need.
They open the app, type the code and their name. No accounts, no passwords, no email addresses to collect.
One button. Every joined device goes full-screen on the calculator and stays there until you say otherwise.
Not a full-screen web page you can tab out of. The lock lives in the app's system layer, so the page can't talk itself out of it.
The calculator fills the main screen over the menu bar and dock. Every other monitor gets its own opaque cover.
Swipe to another Space or virtual desktop and the lock is already there. There is no clean screen to swipe to.
A watchdog checks three times a second. Anything that steals focus loses it again โ and you get an alert.
Quit, close, hide, Spotlight, Mission Control, screenshots, dev tools. Every attempt is logged with the key that was pressed.
The close button and the quit command are both refused while a test is live, and both attempts reach your console.
Kill the app or reboot the laptop and it reopens straight back into the locked test โ with their graph exactly where they left it.
Students cannot begin with anything else running. The app lists every open program and refuses to start until they are all quit โ and tells you if one is opened mid-test.
Screenshots and screen-sharing of the test window come out blank.
All network traffic is dropped except Desmos and your own server. No links, no new windows, no browsing.
There is exactly one student-facing way out of a live lock: the โ Exit test button. It doesn't just close โ it warns them, in plain words, that their test ends there and that you will be told.
If they go through with it, their name is struck through on your roster, marked forfeited, with the time they left. Everything short of that โ switching away, a blocked shortcut, a dropped connection, the screen going to sleep โ lands in your activity feed as it happens.
Exit and forfeit the test?
Your test ends here. The calculator closes, your teacher is told immediately that you left early, and you cannot rejoin this test without them letting you back in.
Yes โ the official Desmos graphing calculator, embedded through their API with no options changed. Same keypad, same sliders, same tables, same everything your students already know.
No. You're the only person who signs in. Students type a six-character code and their name, which is all that shows up on your roster.
The lock holds โ losing the network does not unlock anyone. Their work keeps autosaving locally. If the server stays unreachable for 90 seconds, the app offers a force-exit so nobody is trapped on a frozen screen; it's recorded and delivered to you the moment you're back online.
Every test has an override code that only you can see. Read it out and that one device unlocks โ and you're told which student used it. You can also release or remove anyone from the roster with one click.
The name a student types when they join, the times they joined and left, and any integrity events during the test. No email addresses, no student IDs, no grades. Their graph work stays on their own machine.
No software lock can, and we'd rather say so. A student can still force-quit the app from the operating system, or pick up a phone. What DesmosLock does is make every one of those moves loud: the app reopens back into the lock, and the attempt is already sitting in your feed with a timestamp.
Yes, and it is enforced rather than requested. Before a student can join, DesmosLock lists every application they have open and will not continue until every one is quit. If something is launched during the test, it lands in your activity feed with the app's name.
The calculator itself loads from Desmos, so each machine needs to reach desmos.com once at the start. Locking, joining and alerts run entirely on your classroom network.