Добавил backend, чтобы расширение могло не работать

Инвариант подрядчика был простой: работа сделана — работа оплачена.

Расширение для мониторинга букмекеров было готово. Перед передачей на тесты захотелось подстраховаться: упаковать JavaScript в расширение ещё не значит спрятать его от получателя.

Поэтому добавили backend. Да, намеренную точку отказа.

Часть скриптов расширение подтягивало с сервера через AJAX с отключённым кешированием и выполняло через eval. Это была история времён Manifest V2. Работоспособность клиента теперь зависела от выдачи этих скриптов.

Мотивация вполне приземлённая: сохранить контроль над тестовой версией до оплаты.

Код дополнительно обфусцировал. Цель — поднять стоимость разбора и удаления этой зависимости настолько, чтобы реверс потерял экономический смысл.

У конструкции были ограничения: загруженный код всё равно оказывался на клиенте, а обфускация лишь усложняла его изучение. Гарантировать оплату таким способом нельзя.

Зато точка отказа получилась настоящая: недоступность backend могла нарушить работу расширения и без всякого спора об оплате. Такой вот обмен доступности на контроль.

А заказчики из high-risk в итоге оплатили работу и добавили бонус за скорость и несколько UI-доработок сверх ТЗ.

Финансовый инвариант соблюдён. Даже с запасом.

Такие дела!