Вадим Егоров: Лично мне - пока это вообще ни разу не требовалось, но тут дело не в способе кодирования, а в скорости исполнения. А она в методах перегрузки - в разы превышает все перечисленные на порядки....
Тот, кто сделает на перегрузке операции над множествами в разы сэкономит вычислительное время CPU.
1. У валидации домена (hash) - срока жизни нет: без ограничений. Он перманентный прописывается в meta-теге в head-секции HTML страницы, которая расположена на домене, к которому Вы предоставили доступ, где будет загружаться Ваш виджет отправки писем.
2. Технологии - это проверка возможностей браузера, чтобы максимально исключить различные скрипты на бэке. Например, достаточно проверить, что браузер поддерживает геолокацию, Workers и WebRTC, к примеру, чтобы отсечь максимум "левых" вызовов через бэкенды.
3. Про размещать в родительском окне - так там и надо. Иначе-то - вообще никак не отследить и не проверить)
4. Про токен (который формируется сразу после отправки формы) - можете проверить, что он не просрочен более, чем на 10 секунд, так: время получения минус timestamp с клиента, защищённый hash-подписью на основе данных meta-тэга, UserAgent и IP-адреса пользователя.
Степан Романов: Если у сайта более одного SPA - это уже никакое не SPA! Всё разделяется на модули. Как Вы их будете загружать (сразу или по-требованию функционала) - зависит от разницы функционала и объёма данных. Здесь, думаю стоит всё загружать сразу.
StynuBlizz: Вы правы. Пусть другие лучше меня объяснят или представьте, что этого линка не существует. Вы много раз уже спрашиваете одно и то же. Я отвечал несколько раз - толку от моих объяснений, как я вижу, полный ноль.
Поэтому, советую Вам почитать и разобраться самому - оно и полезнее будет для Вас.