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

# Peringatan Verifikasi Lokasi & Kode LOCATION_

> Semua peringatan LOCATION_ dari Didit saat cek lokasi: geofence, akurasi, spoofing, VPN, jarak, izin, beserta pemicu dan tindakan default-nya.

## Gambaran umum

Peringatan pada laporan lokasi menandai setiap kondisi yang ditemukan Didit pada langkah Verifikasi lokasi.
Peringatan ini masuk ke dalam array `warnings[]` pada setiap item `geolocation_checks[]` (lihat [laporan lokasi](https://docs.didit.me/id/core-technology/location-verification/report-location-verification.md)).

Setiap peringatan memiliki tiga lapisan:

1. **Kode `risk`**: pengidentifikasi stabil yang dapat Anda cocokkan, semuanya diawali dengan `LOCATION_`.
2. **`log_type`**: `information`, `warning`, atau `error`. Untuk risiko yang dapat dikonfigurasi, nilainya mengikuti tindakan yang dikonfigurasi: `NO_ACTION` menghasilkan `information`, `REVIEW` menghasilkan `warning`, `DECLINE` menghasilkan `error`.
3. **Dampak keputusan**: tindakan terkuat di antara peringatan menetapkan `status` langkah. `REVIEW` menghasilkan `In Review`, `DECLINE` menghasilkan `Declined`, dan `NO_ACTION` membiarkannya tidak berubah.

Ketidakpastian dan penolakan izin secara default mengarah ke `REVIEW`, tidak pernah `DECLINE`: izin yang ditolak, posisi di dalam ruangan, atau radius yang lebar bukan merupakan bukti penipuan.
Peringatan tentang akurasi, kemutakhiran, area, jarak, dan layanan anonimisasi hanya dimunculkan pada upaya terakhir, sehingga seseorang yang berhasil pada percobaan kedua tidak akan memiliki peringatan apa pun.
`status_rules` kustom pada node dapat mempertahankan atau menaikkan status tetapi tidak pernah menurunkannya.

## Kondisi penolakan otomatis

Kondisi ini selalu menolak langkah tersebut, dengan `log_type: "error"`, dan tidak memiliki kunci tindakan.

| Risiko | Pemicu |
| - | - |
| `LOCATION_REPLAY_DETECTED` | Pengiriman membawa tantangan milik sesi lain. Setiap upaya mendapatkan satu tantangan sekali pakai yang terikat ke sesinya, sehingga menampilkannya di tempat lain adalah pemutaran ulang. |
| `LOCATION_INTEGRITY_FAILED` | Atestasi perangkat menyertai posisi tersebut dan gagal verifikasi. |

## Peringatan yang dihasilkan

Nilai default adalah tindakan dari suatu langkah tanpa `geolocation_preset`.
Di bawah `licensing`, `LOCATION_VPN_DETECTED`, `LOCATION_TOR_DETECTED`, dan `LOCATION_EMULATOR_DETECTED` secara default bernilai `DECLINE`, serta `LOCATION_PROXY_DETECTED` bernilai `REVIEW`.
Di bawah `fraud_screening`, setiap nilai default yang berupa `DECLINE` menjadi `REVIEW`, dan keempat temuan anonimisasi tersebut menjadi `REVIEW`.
Tindakan yang Anda atur secara eksplisit selalu diprioritaskan.

### Izin dan ketersediaan

| Risiko | Pemicu | Kunci konfigurasi | Default |
| - | - | - | - |
| `LOCATION_PERMISSION_DENIED` | Orang tersebut menolak atau menutup permintaan izin lokasi pada setiap percobaan yang diizinkan. Ini adalah pilihan, bukan bukti penipuan. | `geolocation_permission_denied_action` | `REVIEW` |
| `LOCATION_RESTRICTED` | Sistem operasi menolak sebelum orang tersebut sempat menjawab: layanan lokasi nonaktif di seluruh perangkat, atau kebijakan manajemen perangkat maupun kontrol orang tua memblokirnya. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_UNAVAILABLE` | Perangkat menerima permintaan tetapi sistem penentuan posisinya tidak mengembalikan posisi pada setiap percobaan yang diizinkan. Hal ini biasa terjadi di dalam ruangan dan di bawah tanah. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_TIMEOUT` | Tidak ada posisi yang diterima dalam `geolocation_timeout_seconds` pada percobaan apa pun yang diizinkan. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_SKIPPED` | Alur kerja mengizinkan langkah ini dilewati dan orang tersebut melanjutkan tanpa membagikan lokasi. | `geolocation_unavailable_action` | `REVIEW` |
| `LOCATION_UNSUPPORTED_CLIENT` | Sesi mencapai build aplikasi atau SDK yang tidak mengimplementasikan langkah ini. Didit menutup langkah alih-alih membiarkan sesi terhenti. Perbarui SDK. | `geolocation_unavailable_action` | `REVIEW` |

### Presisi dan kebaruan

| Risiko | Pemicu | Kunci konfigurasi | Default |
| - | - | - | - |
| `LOCATION_LOW_ACCURACY` | Posisi terbaik memiliki radius lebih besar dari `geolocation_max_accuracy_radius_m`. Ini merupakan ukuran keyakinan, bukan kejujuran. | `geolocation_low_accuracy_action` | `REVIEW` |
| `LOCATION_ACCURACY_UNDETERMINED` | Posisi tidak menyertakan radius pada percobaan apa pun yang diizinkan, sehingga tidak ada yang menunjukkan bahwa posisi tersebut memenuhi batas. Ini tidak pernah dihitung memenuhi batas. | `geolocation_low_accuracy_action` | `REVIEW` |
| `LOCATION_STALE_FIX` | Posisi diukur lebih dari `geolocation_max_age_seconds` sebelum Didit menerimanya. | `geolocation_stale_fix_action` | `REVIEW` |
| `LOCATION_APPROXIMATE_ONLY` | Lokasi presisi diperlukan dan orang tersebut memberikan lokasi perkiraan (akurasi dikurangi pada iOS, "Approximate" pada Android). Tidak pernah dimunculkan di web, yang tidak dapat membedakannya. | `geolocation_approximate_action` | `REVIEW` |
| `LOCATION_CLOCK_SKEW` | Perangkat melaporkan bahwa posisi diukur di masa depan dibandingkan dengan jam Didit. Hanya bersifat informasi: kebaruan menggunakan waktu penerimaan Didit. | tidak ada | informasi |

### Spoofing dan integritas

| Risiko | Pemicu | Kunci konfigurasi | Default |
| - | - | - | - |
| `LOCATION_MOCK_PROVIDER_DETECTED` | Android melaporkan bahwa posisi berasal dari penyedia lokasi mock. Alat pengujian dan aksesibilitas juga mengaturnya, sehingga tindakannya dapat dikonfigurasi. | `geolocation_mock_location_action` | `REVIEW` |
| `LOCATION_SIMULATED_BY_SOFTWARE` | iOS melaporkan bahwa posisi disimulasikan oleh perangkat lunak. | `geolocation_mock_location_action` | `REVIEW` |
| `LOCATION_INTEGRITY_MISSING` | Aplikasi native mengirimkan posisi tanpa atestasi perangkat. Web dicatat sebagai tidak didukung, bukan hilang. | `geolocation_integrity_missing_action` | `NO_ACTION` |
| `LOCATION_EMULATOR_DETECTED` | Aplikasi melaporkan berjalan di emulator atau mesin virtual. Browser tidak dapat melaporkan hal ini. Kecuali jika tindakannya adalah `NO_ACTION`, hal ini akan mengakhiri langkah pada percobaan tersebut. | `geolocation_emulator_action` | `NO_ACTION` |
| `LOCATION_VPN_DETECTED` | Koneksi yang membagikan lokasi keluar melalui VPN komersial. Kecuali jika tindakannya adalah `NO_ACTION`, orang tersebut diminta untuk mematikannya dan memeriksa lagi. | `geolocation_vpn_action` | `NO_ACTION` |
| `LOCATION_PROXY_DETECTED` | Koneksi melewati proksi terbuka, anonim, atau relai privat. | `geolocation_proxy_action` | `NO_ACTION` |
| `LOCATION_TOR_DETECTED` | Koneksi merupakan node keluar Tor. | `geolocation_tor_action` | `NO_ACTION` |

### Area

| Risiko | Pemicu | Kunci konfigurasi | Default |
| - | - | - | - |
| `LOCATION_OUTSIDE_GEOFENCE` | Posisi beserta seluruh lingkaran akurasinya berada di luar setiap area yang diizinkan. | `geolocation_geofencing_action` | `DECLINE` |
| `LOCATION_GEOFENCE_UNDETERMINED` | Lingkaran akurasi menyentuh tepi batas yang menentukan jawabannya, atau posisi tidak dapat dipetakan ke negara mana pun. Ketidakpastian tidak pernah dilaporkan sebagai di luar. | `geolocation_geofence_undetermined_action` | `REVIEW` |
| `LOCATION_IN_BLOCKED_AREA` | Posisi beserta seluruh lingkaran akurasinya berada di dalam area yang diblokir. Ini ditambahkan ke keputusan area yang diizinkan, bukan menggantikannya, dan tindakan yang lebih ketatlah yang menentukan. | `geolocation_blocked_area_action` | `DECLINE` |

### Jarak dan riwayat

| Risiko | Pemicu | Kunci konfigurasi | Default |
| - | - | - | - |
| `LOCATION_IP_DISTANCE_MISMATCH` | Posisi perangkat dan lokasi IP berjarak lebih jauh daripada `geolocation_ip_distance_km`, setelah dikurangi kedua radius. VPN, proksi perusahaan, atau gateway keluar pusat operator seluler dapat menghasilkan hal ini secara sah. | `geolocation_ip_distance_action` | `REVIEW` |
| `LOCATION_DOCUMENT_DISTANCE_MISMATCH` | Posisi berjarak lebih jauh daripada `geolocation_document_distance_km` dari alamat dokumen. Indikasi yang lemah, karena alamat digeocode secara kasar dan orang bepergian. | `geolocation_document_distance_action` | `REVIEW` |
| `LOCATION_CONSECUTIVE_MISMATCHES` | Pemeriksaan ini dan pemeriksaan sebelumnya dari orang yang sama (`vendor_data` yang sama) berada di luar area yang diizinkan, di dalam area yang diblokir, atau terlalu jauh dari alamat setidaknya `geolocation_consecutive_mismatch_count` kali berturut-turut. | `geolocation_consecutive_mismatch_action` | `REVIEW` |

## Apa yang dilihat oleh pengguna

Beberapa temuan tidak pernah dijelaskan kepada pengguna, karena menyebutkan sinyal tersebut akan memberi tahu pelaku penipuan hal apa yang perlu diubah.
`LOCATION_EMULATOR_DETECTED`, `LOCATION_MOCK_PROVIDER_DETECTED`, `LOCATION_SIMULATED_BY_SOFTWARE`, `LOCATION_REPLAY_DETECTED`, `LOCATION_INTEGRITY_FAILED`, dan `LOCATION_IP_DISTANCE_MISMATCH` termasuk dalam kelompok tersebut: jika peninjau mengembalikan verifikasi, pengguna akan membaca alasan umum, sementara payload keputusan dan webhook Anda tetap menyimpan peringatan lengkap tersebut.
VPN hanya ditampilkan kepada pengguna sebagai permintaan untuk mematikan VPN apa pun dan mencoba lagi, dan area yang diblokir hanya ditampilkan sebagai daftar wilayah tempat layanan tersedia.

## Contoh

```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"
}
```

## Jenis peringatan

Setiap risiko diberi tingkat keparahan berdasarkan konfigurasi aplikasi Anda. Tiga tingkat keparahan tersebut adalah:

## Terkait

* [Laporan verifikasi lokasi](https://docs.didit.me/id/core-technology/location-verification/report-location-verification.md) - kolom-kolom di samping `warnings[]`.
* [Verifikasi lokasi](https://docs.didit.me/id/core-technology/location-verification/overview.md) - cara kerja langkah ini.
* [Konfigurasi fitur alur kerja](https://docs.didit.me/id/management-api/workflows/feature-configs.md#verifikasi-lokasi) - setiap kunci tindakan.
* [Model data - Objek peringatan](https://docs.didit.me/id/reference/data-models.md#objek-peringatan) - bentuk dari setiap entri dalam `warnings[]`.


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