Я определяю несколько подмножеств языка. Например, будет подмножество без вычисляемых свойств, там где проблем с безопасностью возникнуть не может.
Общение между клиентом и сервером можно организовать так. Клиент запрашивает у сервера схему, в соответствие с ней производит преобразование своих данных, и шлёт их именно в том формате, в котором их ожидает сервер в чистом виде без какого-либо заголовка и информации о типах.
Таким образом, за счёт автоматического преобразования между схемами на стороне клиента будет обеспечена совместимость разных версий клиента с сервером даже если схема изменится.