Strings that aren't enumeration constants need to go over the network in these situations:
usernames
passwords
input strings for game frames
argument strings for game commands
chat messages
Behavior for interesting strings in these cases needs to be well-defined and testable.
current situation:
message is parsed from JSON, server hangs up on a client if it can't parse the client's message
creating a user requires the username to be ascii alphanumeric
input strings and command arguments are generated and used by playset code
chat messages are (to be) implemented by taking an input element's value, sending it via JSON, and putting it in an element's textContent, with a filter on its string length as defined by Javascript String.prototype.length. This could raise various issues, but they should all be client-side issues and not require any particular server bulletproofing.
Strings that aren't enumeration constants need to go over the network in these situations:
Behavior for interesting strings in these cases needs to be well-defined and testable.
current situation: