GEOLOCATION, pengaturannya menggunakan kunci geolocation_*, dan hasilnya berupa geolocation_checks[] pada keputusan sesi.
Kapan menggunakannya
- Anda memegang lisensi hanya untuk beberapa yurisdiksi (perjudian, pialang, pinjaman) dan harus membuktikan bahwa orang tersebut berada di dalamnya saat mereka mendaftar.
- Anda harus mencegah orang masuk dari tempat yang diblokir, seperti wilayah yang terkena sanksi atau negara bagian yang tidak Anda layani.
- Anda menginginkan satu sinyal penipuan tambahan: posisi perangkat yang jauh dari lokasi IP atau dari alamat pada ID, posisi yang dipalsukan, VPN, atau emulator.
- Anda tidak memerlukan pergerakan atau riwayat orang tersebut, hanya satu pembacaan yang diambil selama sesi.
Cara kerjanya
Pemberitahuan dan izin
Orang tersebut melihat alasan lokasi mereka diperlukan dan bahwa lokasi hanya dibaca satu kali, untuk verifikasi ini.
Browser atau ponsel mereka kemudian meminta izin.
Didit mencatat pemberitahuan yang mereka setujui (versi, bahasa, dan waktu) sebagai
consent dalam hasil.Satu posisi per upaya
Klien mempertahankan pembacaan terbaik hingga cukup akurat atau batas waktu per upaya (default 20 detik) habis.
Setiap upaya membawa tantangan sekali pakai yang valid selama 5 menit dan terikat pada sesi, sehingga kiriman yang direkam tidak dapat diputar ulang.
Pemeriksaan
Didit menilai akurasi, kebaruan, izin lokasi perkiraan, sinyal spoofing, area, jarak ke lokasi IP dan ke alamat dokumen, temuan VPN, proxy, Tor, dan emulator, serta pemeriksaan orang tersebut sebelumnya.
Hasil
Setiap temuan memunculkan peringatan yang tindakan terkonfigurasinya (
NO_ACTION, REVIEW, atau DECLINE) menentukan status langkah.
Tindakan yang paling kuat berlaku.Sumber posisi
Anda memilih dari mana posisi berasal menggunakangeolocation_position_source.
Pada node yang meminta lokasi perangkat, upaya tanpa posisi dinilai sebagai penolakan atau kegagalan yang sebenarnya: lokasi IP tidak pernah menggantikannya.
Default dan batas konfigurasi
Semua kunci bersifat opsional. Daftar lengkap ada di referensi konfigurasi fitur alur kerja.Preset
geolocation_preset menetapkan default dari setiap tindakan yang tidak Anda atur.
licensing menolak posisi di luar area yang diizinkan, di dalam area yang diblokir, di balik VPN atau Tor, atau pada emulator, dan meninjau proxy.
fraud_screening menerapkan temuan yang sama tetapi mengirimkan semua yang akan ditolak oleh licensing ke peninjauan.
Tindakan yang Anda atur secara eksplisit selalu menang.
Geofencing
Aktifkanis_geolocation_geofencing_enabled dan buat daftar geolocation_areas.
Area dapat berupa seluruh negara, wilayah (ISO 3166-2) dari satu negara, lingkaran (1 hingga 500 km), atau poligon (3 hingga 200 titik).
Hanya posisi di dalam area yang diizinkan yang lolos, dan area yang diblokir selalu menang atas area yang diizinkan.
Sebuah daftar dapat memuat hingga 50 area dan membutuhkan setidaknya satu area yang diizinkan.
Didit menilai seluruh lingkaran akurasi posisi, bukan hanya titik tengahnya:
- Lingkaran yang sepenuhnya berada di luar setiap area yang diizinkan adalah
LOCATION_OUTSIDE_GEOFENCE. - Lingkaran yang melintasi batas yang menentukan jawaban adalah
LOCATION_GEOFENCE_UNDETERMINED, tidak pernah dianggap “di luar”. - Lingkaran yang sepenuhnya berada di dalam area yang diblokir adalah
LOCATION_IN_BLOCKED_AREA, dan ini dimunculkan selain putusan area yang diizinkan.
ip_only, yang dinilai dari lokasi IP.
Pengaturan geolocation_geofencing_by_country yang lebih lama masih berfungsi tetapi tidak dapat digabungkan dengan geolocation_areas.
Pemeriksaan jarak
geolocation_document_distance_basis memilih alamat: document (dokumen identitas, lalu Bukti Alamat), proof_of_address, atau declared (expected_details.address dari pembuatan sesi).
Dengan geolocation_travel_tolerance_enabled, seseorang yang terlihat di dekat alamatnya dalam geolocation_travel_max_days hari terakhir tidak akan ditandai karena berada jauh dari alamat tersebut saat ini.
Toleransi perjalanan tidak pernah mentolerir VPN, posisi spoofing, area yang diblokir, atau posisi di luar area yang diizinkan.
Sinyal integritas dan spoofing
- Penyedia mock: Android dan iOS melaporkan ketika suatu posisi disimulasikan alih-alih diukur.
- Atestasi perangkat: SDK native dapat menyertakan atestasi perangkat. Atestasi yang gagal selalu ditolak. Atestasi yang tidak ada dicatat dan secara default tanpa tindakan. Browser tidak dapat melakukan atestasi dan dicatat sebagai
unsupported, bukan sebagai kegagalan. - VPN, proxy, dan Tor: ditemukan pada koneksi yang membagikan lokasi. Jika tindakan Anda untuk salah satunya bukan
NO_ACTION, orang tersebut diminta untuk mematikannya dan memeriksa ulang selama kesempatan mencoba masih ada. - Emulator: dilaporkan oleh aplikasi native saja. Emulator mengakhiri langkah pada percobaan tersebut karena mencoba lagi tidak akan mengubah perangkat.
- Replay: tantangan yang ditampilkan pada sesi lain selalu ditolak.
Hasil
Percobaan yang diterima untuk langkah ini memiliki satuoutcome:
Selama kesempatan mencoba masih ada, temuan radius lebar, usang, perkiraan, penolakan, atau area meminta orang tersebut untuk mencoba lagi, dan hanya percobaan terakhir yang memunculkan peringatan.
Posisi tiruan (mock), atau emulator yang ditindaklanjuti oleh alur kerja Anda, mengakhiri langkah pada percobaan yang melaporkannya.
Pengalaman pengguna
Persetujuan dan izin
Tidak ada data yang dibaca sebelum orang tersebut menyetujui pemberitahuan dan menjawab prompt sistem. Pemberitahuan tersebut menyatakan bahwa lokasi dibaca satu kali, untuk verifikasi ini, dan bukan merupakan catatan pergerakan mereka. Seseorang yang menolak akan diperlakukan sesuai dengangeolocation_refusal_path:
retry_then_handoffmeminta kembali selama kesempatan mencoba masih ada dan kemudian menawarkan untuk melanjutkan di ponsel.continue_without_locationmenawarkan untuk melanjutkan tanpa lokasi, dan mencatat penolakan sebagai hasilnya.end_sessionmengakhiri langkah dan sesi pada penolakan pertama. Opsi ini mewajibkangeolocation_permission_denied_actionbernilaiREVIEWatauDECLINE, dan sesi tidak akan pernah disetujui.
geolocation_allow_skip aktif, orang tersebut dapat melanjutkan tanpa lokasi kapan saja, dan langkah ini dinilai berdasarkan geolocation_unavailable_action.
Browser
Alur yang di-hosting meminta browser memberikan posisi dan menampilkan bantuan langkah demi langkah untuk Chrome dan Safari saat lokasi dinonaktifkan untuk situs tersebut. Browser tidak dapat membedakan izin presisi dari perkiraan, sehingga hasil web tidak pernah memunculkanLOCATION_APPROXIMATE_ONLY, dan tidak pernah melaporkan penyedia mock, emulator, atau atestasi.
Komputer tidak dapat membagikan posisi yang presisi, sehingga alur ini menawarkan kode QR untuk melanjutkan verifikasi yang sama di ponsel orang tersebut (geolocation_allow_qr_handoff, aktif secara default), dan komputer akan melanjutkan sendiri saat ponsel selesai.
Saat Anda menyematkan alur ini dalam iframe, sertakan geolocation dalam atribut allow, lihat in-context iframe.
Halaman yang memblokir kebijakan izin geolokasi diperlakukan sebagai keputusan situs, bukan penolakan dari orang tersebut.
SDK native
SDK iOS dan Android meminta posisi kepada sistem operasi dan dapat menyertakan atestasi perangkat serta tanda mock-location. Pada iOS tambahkanNSLocationWhenInUseUsageDescription ke Info.plist, dan pada Android SDK mendeklarasikan ACCESS_FINE_LOCATION serta ACCESS_COARSE_LOCATION dan memintanya saat runtime hanya ketika sebuah alur kerja memiliki langkah ini.
Lihat SDK native.
Pemberian izin perkiraan pada iOS atau Android memunculkan LOCATION_APPROXIMATE_ONLY kecuali jika geolocation_accuracy_mode bernilai approximate_allowed.
Build aplikasi atau SDK yang dibuat sebelum adanya langkah ini diselesaikan dengan status unsupported_client alih-alih membiarkan sesi macet.
Apa yang dikembalikan oleh keputusan
Keputusan sesi dan webhookstatus.updated memuat dua daftar:
geolocation_checks[]: satu item per langkah Lokasi, yang menyimpan percobaan yang diterima untuk langkah tersebut, besertawarningsmiliknya.geolocation_attempts[]: setiap percobaan dari setiap langkah Lokasi, diurutkan dari yang paling lama.
geolocation_checks mana saja yang dikembalikan oleh keputusan Anda.
Harga
Verifikasi lokasi berbiaya $0.05 per pemeriksaan, dan ini bukan bagian dari paket gratis. Didit menagih biaya satu kali per langkah Lokasi dalam sebuah sesi, apa pun hasilnya, karena pemeriksaan telah berjalan dan memberikan jawaban. Percobaan ulang dalam langkah yang sama tidak dikenakan biaya. Pengiriman ulang yang kembali menyelesaikan langkah tersebut akan ditagih kembali.Sandbox
Sesi sandbox menjalankan langkah yang sama di alur yang di-hosting yang sama, dan perangkat atau browser tetap melaporkan posisi sebenarnya. Sesi sandbox tidak pernah menghubungi layanan pencarian IP, sehingga perbandingan IP hanya menggunakan apa yang sudah tersimpan di sesi tersebut. Penggunaan dicatat dengan harga 0, sehingga sesi sandbox tidak pernah dikenakan biaya. Tidak ada input ajaib untuk langkah ini.Terkait
- Laporan verifikasi lokasi - setiap kolom dari
geolocation_checks[]dangeolocation_attempts[]. - Peringatan verifikasi lokasi - setiap kode
LOCATION_*beserta tindakannya. - Konfigurasi fitur alur kerja - setiap kunci
geolocation_*. - Analisis Perangkat & IP - geolokasi IP dan pemeriksaan VPN untuk sesi tersebut.