GEOLOCATION, as suas definições são as chaves geolocation_* e o seu resultado é geolocation_checks[] na decisão da sessão.
Quando utilizar
- Detém uma licença apenas para determinadas jurisdições (jogos de azar, corretagem, crédito) e precisa de comprovar que a pessoa se encontrava dentro de uma delas quando submeteu o pedido.
- Precisa de manter as pessoas fora de locais bloqueados, como uma região sob sanções ou um estado onde não presta serviço.
- Pretende mais um sinal de fraude: uma posição do dispositivo distante da localização por IP ou da morada no documento de identificação, uma posição simulada, uma VPN ou um emulador.
- Não necessita das deslocações ou do histórico da pessoa, apenas de uma leitura obtida durante a sessão.
Como funciona
Aviso e permissão
A pessoa vê o motivo pelo qual a sua localização é necessária e que esta é lida apenas uma vez, para esta verificação.
O seu navegador ou telemóvel solicita então a permissão.
A Didit regista o aviso que a pessoa aceitou (versão, idioma e hora) como
consent no resultado.Uma posição por tentativa
O cliente mantém a melhor leitura até que esta seja suficientemente precisa ou que o tempo limite por tentativa (por predefinição, 20 segundos) expire.
Cada tentativa inclui um desafio de utilização única válido por 5 minutos e associado à sessão, para que uma submissão capturada não possa ser reproduzida.
Verificações
A Didit avalia a precisão, a atualidade, permissões de localização aproximada, sinais de spoofing, áreas, a distância até à localização por IP e à morada do documento, deteções de VPN, proxy, Tor e emulador, bem como as verificações anteriores da pessoa.
Resultado
Cada constatação gera um aviso cuja ação configurada (
NO_ACTION, REVIEW ou DECLINE) define o estado do passo.
A ação mais forte prevalece.Fontes de posição
Escolhe a proveniência da posição comgeolocation_position_source.
Num nó que consulta o dispositivo, uma tentativa sem posição é avaliada como uma recusa ou falha, conforme o caso: a localização por IP nunca a substitui.
Valores predefinidos e limites de configuração
Todas as chaves são opcionais. A lista completa encontra-se na referência das configurações das funcionalidades dos fluxos.Predefinições
geolocation_preset define o valor predefinido de todas as ações que deixar por configurar.
licensing recusa uma posição fora das áreas permitidas, dentro de uma área bloqueada, através de VPN ou Tor, ou num emulador, e envia para revisão quando é detetado um proxy.
fraud_screening aplica as mesmas constatações, mas envia para revisão tudo o que licensing recusaria.
Uma ação que configure explicitamente prevalece sempre.
Geofencing
Ativeis_geolocation_geofencing_enabled e liste as geolocation_areas.
Uma área é um país inteiro, regiões (ISO 3166-2) de um país, um círculo (1 a 500 km) ou um polígono (3 a 200 pontos).
Apenas uma posição dentro de uma área permitida é aprovada, e uma área bloqueada prevalece sempre sobre uma permitida.
Uma lista suporta até 50 áreas e requer pelo menos uma área permitida.
A Didit avalia todo o círculo de precisão da posição, não apenas o seu centro:
- Um círculo totalmente fora de todas as áreas permitidas é
LOCATION_OUTSIDE_GEOFENCE. - Um círculo que cruze uma fronteira que determine a resposta é
LOCATION_GEOFENCE_UNDETERMINED, nunca «fora». - Um círculo totalmente dentro de uma área bloqueada é
LOCATION_IN_BLOCKED_AREA, sendo gerado em conjunto com o veredito da área permitida.
ip_only, avaliadas a partir da localização por IP.
A definição anterior geolocation_geofencing_by_country continua a funcionar, mas não pode ser combinada com geolocation_areas.
Verificações de distância
O parâmetro
geolocation_document_distance_basis escolhe a morada: document (o documento de identidade e, depois, o comprovativo de morada), proof_of_address ou declared (expected_details.address da criação da sessão).
Com geolocation_travel_tolerance_enabled, uma pessoa vista perto da sua morada nos últimos geolocation_travel_max_days dias não é sinalizada por estar longe dela agora.
A tolerância de viagem nunca isenta uma VPN, uma posição com spoofing, uma área bloqueada ou uma posição fora das áreas permitidas.
Sinais de spoofing e integridade
- Fornecedores de localização simulada: o Android e o iOS comunicam quando uma posição é simulada em vez de medida.
- Atestação do dispositivo: os SDKs nativos podem anexar uma atestação do dispositivo. Uma atestação com falha resulta sempre em recusa. Uma atestação em falta é registada e, por predefinição, não desencadeia qualquer ação. Os navegadores não conseguem atestar e são registados como
unsupported, não como uma falha. - VPN, proxy e Tor: detetados na ligação que partilhou a localização. Quando a sua ação para um deles não for
NO_ACTION, é pedido à pessoa que o desative e tente novamente enquanto restarem tentativas. - Emuladores: comunicados apenas por aplicações nativas. Um emulador termina o passo nessa tentativa, pois nenhuma nova tentativa altera o dispositivo.
- Reprodução: um desafio apresentado noutra sessão resulta sempre em recusa.
Resultados
A tentativa aceite do passo tem umoutcome:
Enquanto restarem tentativas, um resultado de raio amplo, desatualizado, aproximado, recusado ou relacionado com uma área solicita à pessoa que tente novamente, e apenas a última tentativa gera avisos.
Uma posição simulada, ou um emulador sobre o qual o seu fluxo aja, termina o passo na tentativa que o comunicou.
Experiência da pessoa
Consentimento e permissão
Nada é lido antes de a pessoa aceitar o aviso e responder ao pedido do sistema. O aviso indica que a localização é lida uma única vez, para esta verificação, e não constitui um registo dos seus movimentos. Uma pessoa que recuse é tratada de acordo comgeolocation_refusal_path:
retry_then_handoffpergunta novamente enquanto restarem tentativas e, em seguida, oferece a opção de continuar num telemóvel.continue_without_locationoferece a opção de prosseguir sem localização e regista a recusa como o resultado.end_sessiontermina o passo e a sessão na primeira recusa. Exige quegeolocation_permission_denied_actionesteja definido comoREVIEWouDECLINE, e a sessão nunca é aprovada.
geolocation_allow_skip ativado, a pessoa pode continuar sem localização a qualquer momento, e o passo é avaliado por geolocation_unavailable_action.
Navegador
O fluxo alojado solicita a posição ao navegador e apresenta ajuda passo a passo para o Chrome e o Safari quando a localização está desativada para o site. Um navegador não consegue distinguir uma concessão precisa de uma aproximada, pelo que os resultados web nunca geramLOCATION_APPROXIMATE_ONLY, e nunca comunica um fornecedor de localização simulada, um emulador ou uma atestação.
Um computador não pode partilhar uma posição precisa, pelo que o fluxo disponibiliza um código QR que continua a mesma verificação no telemóvel da pessoa (geolocation_allow_qr_handoff, ativado por defeito), e o computador avança autonomamente quando o telemóvel terminar.
Quando incorporar o fluxo num iframe, inclua geolocation no atributo allow; consulte o iframe em contexto.
Uma página que bloqueie a política de permissões de geolocalização é tratada como uma decisão do site, e não como uma recusa da pessoa.
SDKs nativos
Os SDKs para iOS e Android consultam o sistema operativo e podem anexar a atestação do dispositivo e sinalizadores de localização simulada. No iOS, adicioneNSLocationWhenInUseUsageDescription ao Info.plist, e no Android o SDK declara ACCESS_FINE_LOCATION e ACCESS_COARSE_LOCATION e faz o pedido em tempo de execução apenas quando um fluxo inclui este passo.
Consulte os SDKs nativos.
Uma concessão aproximada no iOS ou Android gera LOCATION_APPROXIMATE_ONLY, a menos que geolocation_accuracy_mode seja approximate_allowed.
Uma aplicação ou versão do SDK anterior a este passo encerra o passo com unsupported_client em vez de deixar a sessão bloqueada.
O que a decisão devolve
A decisão da sessão e o webhookstatus.updated contêm duas listas:
geolocation_checks[]: um item por passo de Localização, contendo a tentativa aceite desse passo, com os seuswarnings.geolocation_attempts[]: todas as tentativas de cada passo de Localização, da mais antiga para a mais recente.
geolocation_checks devolvidos pela sua decisão.
Preços
A verificação de localização custa $0.05 por verificação e não faz parte do plano gratuito. A Didit cobra uma vez por cada passo de Localização numa sessão, qualquer que seja o seu resultado, dado que a verificação foi executada e devolveu uma resposta. As novas tentativas dentro do mesmo passo são gratuitas. Um novo envio que conclua o passo novamente é cobrado de novo.Sandbox
As sessões em sandbox executam o mesmo passo no mesmo fluxo alojado, e o dispositivo ou navegador continua a comunicar uma posição real. As sessões em sandbox nunca contactam o serviço de pesquisa de IP, pelo que a comparação de IP utiliza apenas o que a sessão já contém. A utilização é registada com um preço de 0, pelo que uma sessão em sandbox nunca é cobrada. Não existem entradas mágicas para este passo.Relacionado
- Relatório de verificação de localização - todos os campos de
geolocation_checks[]egeolocation_attempts[]. - Avisos de verificação de localização - todos os códigos
LOCATION_*e a respetiva ação. - Configurações de funcionalidades do fluxo - todas as chaves
geolocation_*. - Análise de dispositivo e IP - geolocalização por IP e verificações de VPN para a sessão.