Безопасна ли такая реализация личных сокет-запросов?
Довольно странная схема взаимодействия, особенно про "отправлять всем". 
При подключении к сокет серверу каждый клиент отправляет идентифицирующую информацию, id, name, что угодно. Далее, когда вы хотите отправить сообщение и оно должно быть не для всех, то отправляйте только тем, для кого предназначено сообщение. У вас должен получиться некий массив объектов, в котором есть идентифицирующая информация, по которой вы будете вычислять кому отправлять и ссылки на соединение, в которое отправлять данные. Перед отправкой сообщения проходитесь по массиву, если инфа проходит по критериям, то отправляйте, нет, значит берёте следующий элемент
Если у Вас реализация на socket.io - то можете сделать реализацию через комнаты. При подсоединении сам сокет можно кидать в определенные комнаты: комната со всеми коннектами одного пользователя со всех устройств, комната для уведомлений, комната по правам доступа и т.д. И в дальшейшем делать emit по определенной комнате.
Ваш вариант предполагает отправку данных всем, что не является верным, поскольку проверка происходит на клиентской стороне, а что делать, если будет некое "конфиденциальное" оповещение?