Returning LiveData is good enough of an effort to signal to other developers or your future self that this data should be handled as being immutable. Nothing is really “safe” in a world where reflection exists anyway. It’s more about the code communicating the purpose without the need for comments etc