> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 位置情報認証の警告とLOCATION_コード一覧

> Diditが位置情報チェックで発行するすべてのLOCATION_警告を解説。ジオフェンス、精度、なりすまし、VPN、距離、権限に関する検出結果と、そのトリガーおよびデフォルトのアクションを掲載。

## 概要

位置情報レポートの警告は、Diditが位置情報検証ステップで検出したすべての条件を示します。
警告は`geolocation_checks[]`の各項目の`warnings[]`配列に格納されます（[位置情報レポート](https://docs.didit.me/ja/core-technology/location-verification/report-location-verification.md)を参照）。

すべての警告は3つの層で構成されます。

1. **`risk`コード**：照合に使える安定した識別子で、すべて`LOCATION_`で始まります。
2. **`log_type`**：`information`、`warning`、`error`のいずれかです。設定可能なリスクでは、設定されたアクションに従います。`NO_ACTION`は`information`、`REVIEW`は`warning`、`DECLINE`は`error`になります。
3. **判定への影響**：警告の中で最も強いアクションがステップの`status`を決定します。`REVIEW`は`In Review`、`DECLINE`は`Declined`になり、`NO_ACTION`はステータスを変更しません。

不確実な場合や拒否された場合のデフォルトは`REVIEW`であり、`DECLINE`になることはありません。権限の拒否、屋内での位置、広い半径は不正の証拠ではないためです。
精度、鮮度、エリア、距離、匿名化ツールに関する警告は最後の試行でのみ発生するため、2回目の試行で成功した人には警告は付きません。
ノードのカスタム`status_rules`はステータスを維持または引き上げることはできますが、引き下げることはできません。

## 自動却下の条件

以下の条件では、ステップは常に`log_type: "error"`で却下され、アクションキーはありません。

| リスク | トリガー |
| - | - |
| `LOCATION_REPLAY_DETECTED` | 送信に別のセッションに属するチャレンジが含まれていました。各試行にはそのセッションに紐づく1回限りのチャレンジが1つ発行されるため、別のセッションで提示するとリプレイとなります。 |
| `LOCATION_INTEGRITY_FAILED` | 位置情報に付随するデバイスアテステーションの検証に失敗しました。 |

## 生成される警告

デフォルトは、`geolocation_preset`が指定されていないステップのアクションです。
`licensing`では、`LOCATION_VPN_DETECTED`、`LOCATION_TOR_DETECTED`、`LOCATION_EMULATOR_DETECTED`のデフォルトが`DECLINE`、`LOCATION_PROXY_DETECTED`のデフォルトが`REVIEW`になります。
`fraud_screening`では、デフォルトが`DECLINE`のものはすべて`REVIEW`になり、これら4つの匿名化に関する検出結果も`REVIEW`になります。
明示的に設定したアクションが常に優先されます。

### 権限と利用可否

| リスク | トリガー | 設定キー | デフォルト |
| - | - | - | - |
| `LOCATION_PERMISSION_DENIED` | 本人が、許可されたすべての試行で位置情報の確認画面を拒否したか閉じました。本人の選択であり、不正の証拠ではありません。 | `geolocation_permission_denied_action` | `REVIEW` |
| `LOCATION_RESTRICTED` | 本人が応答する前にオペレーティングシステムが拒否しました。デバイス全体で位置情報サービスがオフになっているか、デバイス管理またはペアレンタルコントロールのポリシーによってブロックされています。 | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_UNAVAILABLE` | デバイスはリクエストを受け入れましたが、許可されたすべての試行で測位システムが位置を返しませんでした。屋内や地下ではよくあることです。 | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_TIMEOUT` | 許可されたどの試行でも、`geolocation_timeout_seconds`以内に位置が届きませんでした。 | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_SKIPPED` | ワークフローでスキップが許可されており、本人が位置情報を共有せずに続行しました。 | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_UNSUPPORTED_CLIENT` | セッションで、このステップを実装していないアプリまたはSDKのビルドが使用されました。Diditはセッションを保留のままにせず、ステップを終了しました。SDKをアップグレードしてください。 | `geolocation_unavailable_action` | `REVIEW` |

### 精度と鮮度

| リスク | トリガー | 設定キー | デフォルト |
| - | - | - | - |
| `LOCATION_LOW_ACCURACY` | 最良の位置の半径が`geolocation_max_accuracy_radius_m`を超えていました。これは確からしさの尺度であり、誠実さの尺度ではありません。 | `geolocation_low_accuracy_action` | `REVIEW` |
| `LOCATION_ACCURACY_UNDETERMINED` | 許可されたどの試行でも位置に半径が含まれていなかったため、上限を満たしていることを示すものがありません。上限を満たしたとみなされることはありません。 | `geolocation_low_accuracy_action` | `REVIEW` |
| `LOCATION_STALE_FIX` | 位置は、Diditが受信する時点より`geolocation_max_age_seconds`を超える時間前に測定されていました。 | `geolocation_stale_fix_action` | `REVIEW` |
| `LOCATION_APPROXIMATE_ONLY` | 正確な位置情報が必須でしたが、本人がおおよその位置情報を許可しました（iOSの精度低下、Androidの「おおよそ」）。判別できないWebでは発生しません。 | `geolocation_approximate_action` | `REVIEW` |
| `LOCATION_CLOCK_SKEW` | デバイスが、Diditの時計と比べて未来の時刻に位置を測定したと報告しました。情報提供のみです。鮮度の判定にはDiditの受信時刻を使用します。 | なし | 情報 |

### なりすましと完全性

| リスク | トリガー | 設定キー | デフォルト |
| - | - | - | - |
| `LOCATION_MOCK_PROVIDER_DETECTED` | Androidが、位置情報がモック位置情報プロバイダーから取得されたと報告しました。テストツールやアクセシビリティツールでも使用されるため、アクションは設定可能です。 | `geolocation_mock_location_action` | `REVIEW` |
| `LOCATION_SIMULATED_BY_SOFTWARE` | iOSが、位置がソフトウェアによってシミュレートされたと報告しました。 | `geolocation_mock_location_action` | `REVIEW` |
| `LOCATION_INTEGRITY_MISSING` | ネイティブアプリがデバイスアテステーションなしで位置を送信しました。Webは「欠落」ではなく「非対応」として記録されます。 | `geolocation_integrity_missing_action` | `NO_ACTION` |
| `LOCATION_EMULATOR_DETECTED` | アプリが、エミュレーターまたは仮想マシン上で動作していると報告しました。ブラウザーはこれを報告できません。アクションが`NO_ACTION`でない限り、その試行でステップを終了します。 | `geolocation_emulator_action` | `NO_ACTION` |
| `LOCATION_VPN_DETECTED` | 位置情報を共有した接続が、商用VPNを経由して外部に出ています。アクションが`NO_ACTION`でない限り、本人にVPNをオフにして再確認するよう求めます。 | `geolocation_vpn_action` | `NO_ACTION` |
| `LOCATION_PROXY_DETECTED` | 接続が、公開プロキシ、匿名プロキシ、またはプライベートリレープロキシを経由しています。 | `geolocation_proxy_action` | `NO_ACTION` |
| `LOCATION_TOR_DETECTED` | 接続がTorの出口ノードです。 | `geolocation_tor_action` | `NO_ACTION` |

### エリア

| リスク | トリガー | 設定キー | デフォルト |
| - | - | - | - |
| `LOCATION_OUTSIDE_GEOFENCE` | 位置とその精度円全体が、すべての許可エリアの外にあります。 | `geolocation_geofencing_action` | `DECLINE` |
| `LOCATION_GEOFENCE_UNDETERMINED` | 精度円が判定を左右する境界にかかっているか、位置がどの国にも特定されません。不確実な場合に「外」と報告されることはありません。 | `geolocation_geofence_undetermined_action` | `REVIEW` |
| `LOCATION_IN_BLOCKED_AREA` | 位置とその精度円全体がブロック対象エリアの内側にあります。許可エリアの判定に追加されるもので、それに代わることはなく、より厳しいアクションが適用されます。 | `geolocation_blocked_area_action` | `DECLINE` |

### 距離と履歴

| リスク | トリガー | 設定キー | デフォルト |
| - | - | - | - |
| `LOCATION_IP_DISTANCE_MISMATCH` | 両方の半径を差し引いた後でも、デバイスの位置とIPの位置が`geolocation_ip_distance_km`より離れています。VPN、企業のプロキシ、通信事業者の集約された出口では、正当な理由でもこれが発生します。 | `geolocation_ip_distance_action` | `REVIEW` |
| `LOCATION_DOCUMENT_DISTANCE_MISMATCH` | 位置が書類の住所から`geolocation_document_distance_km`より離れています。住所のジオコーディングは大まかで、人は移動するため、弱いシグナルです。 | `geolocation_document_distance_action` | `REVIEW` |
| `LOCATION_CONSECUTIVE_MISMATCHES` | 今回のチェックと同一人物（同じ`vendor_data`）の過去のチェックが、少なくとも`geolocation_consecutive_mismatch_count`回連続で、許可エリア外、ブロック対象エリア内、または住所から離れすぎていました。 | `geolocation_consecutive_mismatch_action` | `REVIEW` |

## 本人に表示される内容

一部の検出結果は、本人には一切説明されません。シグナルを明示すると、不正行為者に何を変えればよいかを教えることになるためです。
`LOCATION_EMULATOR_DETECTED`、`LOCATION_MOCK_PROVIDER_DETECTED`、`LOCATION_SIMULATED_BY_SOFTWARE`、`LOCATION_REPLAY_DETECTED`、`LOCATION_INTEGRITY_FAILED`、`LOCATION_IP_DISTANCE_MISMATCH`がこのグループに該当します。レビュアーが検証を差し戻した場合、本人には一般的な理由が表示されますが、判定のペイロードとWebhookには警告の詳細すべてが保持されます。
VPNについては、VPNをオフにして再試行するよう求める案内としてのみ本人に表示され、ブロック対象の地域については、サービスを利用できる場所の一覧としてのみ表示されます。

## 例

```json theme={null}
{
  "risk": "LOCATION_LOW_ACCURACY",
  "log_type": "warning",
  "short_description": "Device location accuracy below the configured limit",
  "additional_data": {
    "accuracy_m": 1200.0,
    "accuracy_confidence": "p95",
    "max_accuracy_radius_m": 250
  },
  "node_id": "geolocation_1"
}
```

## 警告の種類

各リスクには、アプリケーションの設定に基づいて重大度が割り当てられます。重大度は次の3つです。

## 関連情報

* [位置情報検証レポート](https://docs.didit.me/ja/core-technology/location-verification/report-location-verification.md) - `warnings[]`と並ぶフィールド。
* [位置情報検証](https://docs.didit.me/ja/core-technology/location-verification/overview.md) - このステップの仕組み。
* [ワークフロー機能の設定](https://docs.didit.me/ja/management-api/workflows/feature-configs.md#位置情報検証) - すべてのアクションキー。
* [データモデル - Warningオブジェクト](https://docs.didit.me/ja/reference/data-models.md#警告オブジェクト) - `warnings[]`の各エントリの構造。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.