Геоблокировка без потери клиентов
Как настроить страновые ограничения так, чтобы их приняли юристы и комплаенс, а доля ложных срабатываний оставалась низкой.
# Геоблокировка без потери клиентов
Геоблокировка ошибается в обе стороны: пропускает тех, кто сознательно обходит ограничения, и блокирует добросовестных пользователей в поездках. И того и другого можно избежать, если строить правила не в один слой, а как продуманную систему сигналов.
Разделите три причины для блокировки
- Лицензирование. Права на контент часто привязаны к территории. Вам нужно обоснованное решение по стране, а VPN-выходы следует считать не страной выхода, а неизвестной локацией.
- Санкции и комплаенс. Здесь речь о юридической обязанности и проверяемом следе. Логируйте входные данные, на основе которых принято каждое решение.
- Злоупотребления. Сама по себе страна — слабый сигнал фрода. Основную нагрузку должны нести классификация трафика и risk score.
Если смешать эти причины в одну кучу, через полгода у вас появятся правила, которые никто не сможет внятно объяснить.
Многоуровневое правило
if classification in (tor, hosting, vpn) -> location is untrusted, apply policy for unknown else if country in blocked_list -> deny with a clear message else if risk_score > threshold -> challenge, do not deny else -> allow
Главный принцип — считать анонимизированный трафик неизвестной локацией, а не страной, где находится exit node. Иначе пользователю из запрещённого региона достаточно выбрать разрешённую страну выхода — и он спокойно пройдёт дальше.
Пишите сообщение об ошибке по-человечески
Фраза «Этот контент недоступен в вашем регионе» и ссылка на поддержку превращают раздражение в обращение, с которым можно разобраться. Пустой 403 чаще превращается в чарджбэк и плохой отзыв.
Отдельно учитывайте пользователей в поездках
Если давний аккаунт внезапно появляется из другой страны, это чаще отпуск или командировка, а не захват учётной записи. История аккаунта должна весить больше текущего IP: лучше усилить аутентификацию, чем сразу отказать в доступе. А результат стоит запомнить, чтобы одна и та же поездка не запускала правило каждый день.
Аудируйте принятые решения
Сохраняйте не сырой результат lookup, а само решение и входные параметры, которые к нему привели: country, classification, risk score, rule id. Так у вас будет проверяемый audit trail, возможность настраивать пороги и при этом не будет расти лишний массив геоданных о пользователях.
Пересматривайте списки раз в квартал
Block lists быстро устаревают. Рынки открываются, лицензии меняются, а правило, добавленное под одну кампанию, может годами незаметно съедать выручку. Поставьте регулярный пересмотр в календарь.
