> ## 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.

# 位置情報認証レポート：geolocation_checksのフィールド

> Diditのセッション判定に含まれるgeolocation_checksとgeolocation_attemptsの読み方を解説。位置、精度、エリア、距離、匿名化ツール、同意、警告の各フィールドを確認できます。

## 概要

セッションの判定は、すべての位置情報検証ステップの結果を2つのリストで返します。`geolocation_checks[]`には各ステップで採用された試行が入り、`geolocation_attempts[]`にはすべての試行が順番に並びます。
どちらも`GET /v3/session/{sessionId}/decision/`（[セッションの取得](https://docs.didit.me/ja/sessions-api/retrieve-session.md)を参照）と`status.updated` Webhookに含まれます。
位置情報ステップのないワークフローでは、どちらも`null`または空のリストが返されます。

```text theme={null}
GET /v3/session/{sessionId}/decision/
  --> { "geolocation_checks": [ { node_id, status, outcome, permission, latitude, longitude, accuracy_m, ... } ],
        "geolocation_attempts": [ { node_id, outcome, attempts, received_at, ... } ] }
```

## `geolocation_checks[]`

位置情報ステップ（`node_id`）ごとに1項目で、各ステップの最新の試行から取得されます。

```json theme={null}
{
  "node_id": "geolocation_1",
  "status": "Declined",
  "outcome": "outside_geofence",
  "permission": "granted_precise",
  "latitude": 48.8566,
  "longitude": 2.3522,
  "accuracy_m": 35.0,
  "accuracy_confidence": "p95",
  "measured_at": "2026-11-03T10:15:02Z",
  "age_seconds": 2,
  "source": "browser",
  "platform": "web",
  "sdk_version": null,
  "is_mock": null,
  "produced_by_accessory": null,
  "integrity": "unsupported",
  "country_code": "FR",
  "region_code": "FR-IDF",
  "city": "Paris",
  "geofence": { "enabled": true, "result": "outside" },
  "inside_geofence": false,
  "geofence_basis": "device",
  "inside_areas": [],
  "blocked_areas": [],
  "position_source": "device_and_ip",
  "anonymizers": { "vpn": false, "proxy": false, "tor": false, "spoofing": null, "emulator": null },
  "ip_distance_km": 0,
  "ip_distance_uncertainty_km": 12.4,
  "ip_consistent": true,
  "document_distance_km": null,
  "travel_excused": null,
  "consecutive_mismatches": 1,
  "attempts": 3,
  "consent": { "accepted_at": "2026-11-03T10:14:55Z", "version": "hosted-web-1", "locale": "en" },
  "warnings": [
    {
      "risk": "LOCATION_OUTSIDE_GEOFENCE",
      "log_type": "error",
      "short_description": "Device location outside the allowed area",
      "node_id": "geolocation_1"
    }
  ]
}
```

| フィールド | 型 | 説明 |
| - | - | - |
| `node_id` | string | 結果を生成したワークフローのノード。位置情報ステップが2つあるワークフローでも結果を読み分けられます。 |
| `status` | string | `Approved`、`In Review`、`Declined`、`Not Finished`のいずれか。警告から決定されます。 |
| `outcome` | string | 採用された試行で何が起きたか。[結果](https://docs.didit.me/ja/core-technology/location-verification/overview.md#結果)を参照してください。 |
| `permission` | string | システムが付与した権限: `granted_precise`、`granted_approximate`、`denied`、`restricted`、`unavailable`、`timeout`、`dismissed`、または`not_requested`（IPのみのステップ）。 |
| `latitude`, `longitude` | number or null | WGS84の位置。位置がない場合は`null`です。 |
| `accuracy_m` | number or null | 不確実性の半径（メートル単位）。 |
| `accuracy_confidence` | string or null | 半径の信頼水準: `p95`（Web）、`p68`（Android）、`unspecified`（iOS）。プラットフォームごとに異なるため、正規化せずにそのまま記録されます。 |
| `measured_at` | datetime or null | デバイスが位置を測定した時刻（デバイスの時計による）。 |
| `age_seconds` | integer or null | 測定からDiditが受信するまでの時間。 |
| `source` | string or null | `gps`、`fused`、`network`、`wifi`、`cell`、`browser`、`unknown`、またはIPのみのステップでは`ip`。 |
| `platform` | string or null | `web`、`ios`、`android`、`react_native`、`flutter`のいずれか。 |
| `sdk_version` | string or null | 位置を生成したSDKのバージョン。 |
| `is_mock` | boolean or null | システムがシミュレートされた位置を報告したかどうか。`null`はプラットフォームが判別できないこと（Web）を意味し、`false`ではありません。 |
| `produced_by_accessory` | boolean or null | iOSのみ: 位置が外部アクセサリーから取得されたかどうか。 |
| `integrity` | string | デバイスアテステーション: `attested`、`not_attested`、`failed`、`unsupported`（Web）、`not_determined`のいずれか。 |
| `country_code`, `region_code`, `city` | string or null | 位置からオフラインで特定される場所: ISO 3166-1 alpha-2、ISO 3166-2、最寄りの人口集積地。都市名はレビュアー向けのラベルであり、ルールの入力には決して使われません。 |
| `geofence` | object | `enabled`と`result`（`inside`、`outside`、`undetermined`）。ジオフェンスがオフの場合、`result`は`null`です。 |
| `inside_geofence` | boolean or null | `true`または`false`。ジオフェンスがオフの場合や、精度円が境界をまたぐ場合は`null`です。 |
| `geofence_basis` | string or null | エリア判定に使われた位置: `device`または`ip`。 |
| `inside_areas`, `blocked_areas` | array | 精度円全体が内側に収まる許可エリアと、精度円が内側にあるブロック対象エリアの`id`。 |
| `position_source` | string or null | 試行の実行時点でのノードの`geolocation_position_source`。 |
| `anonymizers` | object or null | `vpn`、`proxy`、`tor`、`spoofing`、`emulator`。それぞれ`true`、`false`、またはソースが判別できない場合は`null`です。 |
| `ip_distance_km` | number or null | 双方の不確実性の半径を差し引いた後の、IP位置までの距離。0は両者が重なっていることを意味します。 |
| `ip_distance_uncertainty_km` | number or null | 差し引かれた合計の半径。 |
| `ip_consistent` | boolean or null | `ip_distance_km`が`geolocation_ip_distance_km`以内かどうか。どちらかが不明の場合は`null`です。 |
| `document_distance_km` | number or null | ジオコーディングされた書類の住所までの距離。住所が登録されていない場合は`null`です。 |
| `travel_excused` | boolean or null | 移動の許容設定によって距離が許容されたかどうか。許容設定がオフの場合は`null`です。 |
| `consecutive_mismatches` | integer or null | 最終試行において、このチェックと同一人物の直前に連続した不一致を合わせた数。 |
| `attempts` | integer | 試行の番号。 |
| `consent` | object or null | 本人が同意した位置情報に関する通知の`accepted_at`、`version`、`locale`。 |
| `warnings` | array | ステップの[警告](https://docs.didit.me/ja/core-technology/location-verification/warnings-location-verification.md)。 |

## `geolocation_attempts[]`

すべての位置情報ステップのすべての試行を古い順に含みます。`warnings`を除き、`geolocation_checks[]`と同じ測定、不確実性、エリア、距離のフィールドを持ち、さらに以下のフィールドが加わります。

| フィールド | 型 | 説明 |
| - | - | - |
| `received_at` | datetime | Diditが試行を受信した時刻。 |
| `created_at` | datetime | 試行が記録された時刻。 |

再送信によって無効になった試行は含まれません。
クライアントが送信した生データとチャレンジは決して返されません。

## ステータスルールと分岐で使えるフィールド

カスタムの`status_rules`と分岐ルールでは、次のフィールドを参照できます:
`geolocation.status`、`geolocation.outcome`、`geolocation.permission`、`geolocation.latitude`、`geolocation.longitude`、`geolocation.accuracy_m`、`geolocation.accuracy_confidence`、`geolocation.age_seconds`、`geolocation.measured_at`、`geolocation.source`、`geolocation.platform`、`geolocation.country`（ISO 3166-1 alpha-3）、`geolocation.region`、`geolocation.city`、`geolocation.is_mock`、`geolocation.integrity`、`geolocation.inside_geofence`、`geolocation.ip_distance_km`、`geolocation.ip_consistent`、`geolocation.document_distance_km`、`geolocation.attempts`、`geolocation.consent_at`、`geolocation.inside_areas`、`geolocation.blocked_areas`、`geolocation.anonymizers`（`vpn`、`proxy`、`tor`、`spoofing`、`emulator`）、`geolocation.consecutive_mismatches`。
値が欠落している場合は`is_empty`にのみ一致するため、不正のシグナル向けに作成したルールが、データの欠落によって発火することは決してありません。

## 関連ページ

* [位置情報検証](https://docs.didit.me/ja/core-technology/location-verification/overview.md):ステップの仕組みと料金。
* [位置情報検証の警告](https://docs.didit.me/ja/core-technology/location-verification/warnings-location-verification.md):すべての`LOCATION_*`コード。
* [Webhook](https://docs.didit.me/ja/integration/webhooks.md):`status.updated`にこれらのリストが含まれます。
* [データモデル: 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.