Есть сайт, на котором используется система прав и рангов для того, чтобы модераторы имели возможность взаимодействовать с пользователями. В некоторых, общедоступных местах сайта нужно отрисовывать кнопки, отвечающие за действия модераторов.
Бэкенд сайта должен предоставлять RESTful API для доступа к данным, поэтому рендеринг хочется производить с помощью JS, скорее всего, используя React.
Собственно сам вопрос: как реализовать отрисовку компонент администратора\модератора так, чтобы пользователь имел как можно меньше возможностей вмешаться в неё ( в идеале хотелось бы, чтобы такой возможности вовсе не было, даже если кто-то начнет изучать файлы js ).
а какая разница как их отрисовывать? запросы вы все равно будете обрабатывать на бекенде.
даже если юзер найдет кнопку допустим "забанить пользователя", пусть он хоть 10 раз отправит этот запрос на сервер - у вас на сервере должна быть проверка что этот юзер не является модератором и такой запрос нельзя ему выполнить.
В любом случае, добавите вы или нет логику админа в клиентский код по умолчанию, при наличии уязвимостей в REST - их когда-нибудь найдут.
Если вам есть что скрывать и это сулит большими финансовыми потерями - прячте.
Если у вас не будет больших (критичных) убытков от простоя проекта в течении часа - это излишество, на которое пойдут деньги (время разработчика), а реально в этом нет необходимости.
Если это требование заказчика: объясните ему, что подобный подход к задачам увеличит расходы в 2 раза, а реальной необходимости в этом нет и его желание сразу куда-то денется.