GeoIP или GPS: какой сигнал о местоположении выбрать
Когда достаточно геолокации по IP, когда стоит запрашивать местоположение устройства и как сочетать оба подхода без раздражающих запросов и проблем с приватностью.
# GeoIP или GPS: какой сигнал о местоположении выбрать
Эти два источника отвечают на разные вопросы — и обходятся бизнесу очень по-разному.
GeoIP
- Без трения для пользователя. Не нужен запрос разрешения, от пользователя не требуется никаких действий, данные доступны уже с первого байта запроса.
- Невысокая точность. На уровне страны работает надежно, на уровне города — уже приблизительно.
- Сетевая реальность. Показывает, где «выходит» соединение. Именно это важно для выявления злоупотреблений и подозрительной активности.
Местоположение устройства
- Высокая точность. Речь о метрах, а не о районе или агломерации.
- Высокая цена. Нужен явный запрос разрешения, и заметная доля пользователей его отклоняет.
- Под контролем пользователя. На устройстве с root-доступом или с помощью инструментов разработчика такие данные легко подменить.
Как правильно сочетать
Используйте GeoIP для всего, что должно работать еще до первого действия пользователя: выбора валюты, языка по умолчанию, маршрутизации по задержке, проверки соответствия требованиям и первичной оценки риска. Запрос к местоположению устройства лучше оставить для сценариев, где действительно нужна точность: самовывоз из ближайшего магазина, зона доставки, расчет радиуса обслуживания. И спрашивать стоит в контексте, чтобы пользователь понимал, зачем это нужно.
Когда у вас есть оба сигнала, самое интересное — не совпадение, а расхождение. Устройство сообщает, что находится в Мадриде, а соединение выходит через дата-центр в Сингапуре? Само по себе каждое из этих наблюдений может быть безобидным, но вместе они уже заслуживают внимания.
Позиция по приватности
Местоположение, полученное по IP, считается персональными данными по GDPR, если его можно связать с конкретным человеком. Это не значит, что такие данные нельзя использовать. Это значит, что использование нужно обосновать, минимизировать и задокументировать. Практические правила простые:
- Определяйте местоположение в момент запроса и сохраняйте не сырые координаты, а принятое решение.
- Не стройте историю перемещений пользователя по IP-данным, если у вас нет явно заявленной цели и срока хранения.
- Храните самый грубый уровень детализации, который решает задачу. Обычно страны достаточно.
Guarda устроена именно вокруг этого принципа: проверки выполняются в реальном времени, а результаты не сохраняются на нашей стороне. Единственная копия решения — та, которую вы осознанно оставили у себя.
Практичный вариант по умолчанию
Страна по IP — на каждом запросе. Город по IP — для аналитики. Местоположение устройства — только после контекстного запроса. А при поиске аномалий лучше не заменять один сигнал другим, а сопоставлять их между собой.
