User can do whatever he wants in his own space (if he wants to hack the app and put unallowed/unexpected values in it, we won't be able to check this otherwise it would cost too much effort)
However, when we copy user-space data (for example, for ratings) to non-user spaces (like, talk-space level ratings), then this is where we should enforce some rules so that we have guarantees only controlled things are copied over these spaces.
Some rules (I think of) to enforce :
linear rating not above the number of choice (and no negative value)
bingo values amongst the allowed values
rating creation/last update timestamps to serverside's server timestamp
User can do whatever he wants in his own space (if he wants to hack the app and put unallowed/unexpected values in it, we won't be able to check this otherwise it would cost too much effort)
However, when we copy user-space data (for example, for ratings) to non-user spaces (like, talk-space level ratings), then this is where we should enforce some rules so that we have guarantees only controlled things are copied over these spaces.
Some rules (I think of) to enforce :