GeoIPとGPS:用途に合った位置情報シグナルの選び方
IPジオロケーションを使うべき場面、端末の位置情報を求めるべき場面、そしてユーザー体験やプライバシー規制を損なわずに両者を組み合わせる方法を解説します。
# GeoIP vs GPS: Choosing the Right Location Signal
この2つのシグナルは、答えられる問いも、導入時に発生するコストも大きく異なります。
GeoIP
- 摩擦がない。 権限許可のポップアップも、ユーザー操作も不要です。リクエストの最初のバイトから利用できます。
- 粒度は粗い。 国レベルでは信頼しやすい一方、都市レベルではあくまで推定です。
- ネットワーク上の事実を示す。 接続がどこから出ているかを把握できます。不正利用の検知では、まさにこの情報が重要になります。
Device location
- 精度が高い。 都市圏ではなく、メートル単位で把握できます。
- コストが高い。 明示的な権限許可が必要で、少なくないユーザーが拒否します。
- ユーザー側で操作できる。 root化された端末や開発者向けツールを使えば、簡単に偽装できます。
The right pairing
ユーザーがまだ何も操作していない段階で必要な処理には、GeoIPを使うのが基本です。たとえば、通貨の初期選択、言語設定のデフォルト、レイテンシを考慮したルーティング、コンプライアンス上の制御、初期のリスクスコアリングなどです。端末の位置情報を求めるのは、店舗受け取りや配送可能エリアの判定のように、本当に高い精度が必要な機能に限るべきです。その場合も、ユーザーが理由を理解できる文脈の中で許可を求めることが大切です。
両方の情報がある場合、注目すべきは「一致しないこと」です。端末はマドリードにいると主張しているのに、接続はシンガポールのデータセンターから出ている。これは、それぞれの事実を単独で見るよりも、はるかに意味のあるシグナルになります。
Privacy posture
IPアドレスから推定した位置情報は、個人にひも付く場合、GDPR上の個人データに該当します。だから使えない、という話ではありません。利用目的を説明できるようにし、取得・保存する範囲を最小限にし、記録として残す必要があるということです。実務上は、次のルールが役立ちます。
- リクエスト時に解決し、生の座標ではなく判断結果を保存する。
- 明確な目的と保存期間がない限り、IPデータからユーザーごとの移動履歴を作らない。
- 課題を解決できる範囲で、最も粗い項目だけを保持する。多くの場合、国レベルで十分です。
Guardaは、この考え方を前提に設計されています。ルックアップはリアルタイムに解決され、結果はGuarda側に保持されません。そのため、判断結果のコピーは、お客様が意図して保存したものだけになります。
A concrete default
すべてのリクエストでIPから国を判定する。分析用途ではIPから都市も見る。端末の位置情報は、文脈に沿った許可リクエストの後に限って使う。そして両者は、片方をもう片方で置き換えるのではなく、異常検知のために組み合わせる。これが現実的なデフォルトです。
