When I open a session, if anyone else is also actively using another session, I want to be able to see what they are doing (typing, checking boxes, etc.) as it happens.
That's what gateway tags do. Generally, you will need to ensure that fields that you can type in do not defer updates, so that the bidirectional binding will feed all keystrokes back to the tag.
However, this sounds like an anti-pattern. Multi-user systems like Ignition generally want user activity to be independent until the value actually goes to the system that uses it (PLCs, et cetera). Why do you want this behavior?
To stop other users from using it
Edit:
More like deter users from using it. Only a handful of people will be using it, but I don't want them to accidently start a new process when someone is already working on it
This would not prevent other users from using it, it would just cause a very confusing UI experience to see a checkbox you didn't check suddenly become selected. I think this should be handled differently.
Sounds like a job for security, not simultaneity.