Not sure if this checks all of the needs you’re looking for…BUT
anvil.server.callable
has an argument that can be toggled on.
I use the following statement.
authenticated_callable = anvil.server.callable(require_user=True)
You could set it to some flag that is toggled by some method.