client
is as safe as shared
, these are just names and conventions.
By placing your class in client
though, you lose the indication that you're using it also on the server side, where client-specific code won't run.
By placing it in shared
, you're signaling to yourself that you should make sure the code your put in the class can effectively be used in both the client and the server.