Liveness

Última atualização: 24 de Outubro de 2023

Bem-vindo à documentação do Liveness da ClearSale

Este manual é para desenvolvedores que desejam fazer uso da ferramenta de prova de vida (também conhecida como Liveness).

Através deste recurso, é possível comprovar através de analise de imagens faciais se o usuário por trás é uma pessoa real e está realizando o procedimento ao vivo, caso não seja, será retornado um erro.

A ClearSale respeita as políticas de privacidade para a formação de uma base de dados por meio de coleta de fotos, que serão armazenadas em ambiente seguro e controlado.

Nesse processo, podem ser coletadas informações públicas do dispositivo, tais como IP, sistema operacional, entre outras, através do uso de ferramentas terceiras com a finalidade de coletar insumos sobre a utilização da ferramenta para futuras melhorias.

A ClearSale tem interesse legítimo em fornecer serviços de prevenção à fraude a partir de formação de perfis comportamentais, os quais são lícitos e representam uma finalidade legítima, considerada a partir de situações concretas, tal como exigido pela LGPD.

Mais informações de como estamos preocupados e atuando para cumprimento da LGPD, veja o link.

O Produto

Liveness

Liveness é o processo automatizado de prova de vida, cujo foco é definir se a pessoa por trás de uma selfie está viva e ciente do processo de biometria ou facematch que está sendo executado. Esta tecnologia existe para prevenir fraudes biométricas com pessoas se passando por outras em processos como: criação de contas bancárias, compras, transferência de valores, etc. A captura de LIVENESS (prova de vida), com Anti-Spoofing, evita que um indivíduo tire uma foto de uma foto ou uma foto de um vídeo, por exemplo, e garante que existe um ser humano realmente vivo em frente à câmera.

Tecnologia de Liveness 3D

A tecnologia de liveness 3D que utilizamos é considerada atualmente a melhor solução de liveness do mundo, com um FAR (taxa de aprovação com erro) de 1 a cada 125 milhões. A solução apresenta ótimo desempenho mesmo em baixa iluminação, sem vieses raciais ou de gênero observáveis, e o 3D não pode ser capturado à distância ou clandestinamente. A solução não requer que o usuário que está atrás da câmera realize desafios, mas apenas ações simples, combatendo um cenário de spoof ou falsificação. Estas ações ocorrem em duas etapas: um enquadramento inicial e, na sequência, um enquadramento aproximado.

Regras de Segurança

  • Detecção de uso de câmera em outro aplicativo
  • Detecção de aplicativo de terceiros modificando vídeo
  • Usos suspeitos de webcam
  • Bloqueio de uso de câmera em modo paisagem em dispositivos móveis e tablets
  • Não é permitido uso em segundo plano
  • Tempo limite para interações (detecta inatividade)
  • Não funciona em iframes e webviews
  • Se o PAT for salvo em um repositório git, mesmo que seja um repositório privado, ele corre risco de ser considerado exposto e ser automaticamente desativado por motivos de segurança

Dados

Entradas

  • clientID
  • clientSecret
  • cpf (opcional)
  • identifierId (opcional)

Retornos

  • Id da sessão
  • Imagem capturada (uma) no formato base64
  • Um resultado definindo se o usuário é Real ou se ocorreu um Erro

Credenciais

Nós enviamos por email as seguintes credenciais que devem ser usadas para utilizar os nossos SDK.

Android

  • ARTIFACTS_FEED_NAME - nome do repositório do gradle privado que disponiblizamos para o download do SDK.
  • ARTIFACTS_FEED_URL - URL do repositório do gradle privado que disponiblizamos para o download do SDK.
  • USERNAME - nome do usuário do repositório gradle privado que disponiblizamos para o download do SDK.
  • PAT - token de autenticação para acessar e baixar os pacotes dos SDKs da ClearSale.
  • CS_LIVENESS_VERSION - é a versão do SDK que se deseja instalar.

iOS

  • URL Repositório git: - é a url do nosso repositório git privado já com o PAT.

Browser

  • Base64PAT - é o nosso PAT já convertido para o formato base64 necessário para integrar no nosso NPM privado.

Para todos os SDKs.

  • clientId - identifica o cliente junto à ClearSale. Ele é utilizado no momento da inicialização dos SDK. para a utilização dos SDKs. São enviados dois valores um para ser usado em HML e outro para uso em Produção.
  • clientSecret - chave de autenticação da ClearSale. Ele é utilizado no momento da inicialização dos SDK. para a utilização dos SDKs. São enviados dois valores um para ser usado em HML e outro para uso em Produção.
  • PAT - token de autenticação para acessar e baixar os repositórios dos SDK's da ClearSale. Ele deve ser usado em locais diferentes a depender da tecnologia a ser usada, a baixo listamos como usa-lo em cada uma delas.

Exemplos de como usar o PAT

Requisitos de Atualização

De tempos em tempos serão solicitadas atualizações dos SDKs via e-mail. Elas são de extrema importância para o funcionamento correto dos SDKs e também para segurança de uso. Para garantia de qualidade é obrigatório a atualização sempre que disponível.

Detalhes de privacidade

Uso de dados

Todas as informações coletadas pelo SDK da ClearSale são com exclusiva finalidade de prevenção à fraude e proteção ao próprio usuário, aderente à política de segurança e privacidade das plataformas Google e Apple e à LGPD. Por isso, estas informações devem constar na política de privacidade do aplicativo.

Tipo de dados coletados

O SDK da ClearSale coleta as seguintes informações do dispositivo :

  • Características físicas do dispositivo/ hardware (Como tela, modelo, nome do dispositivo);
  • Características de software (Como versão, idioma, build, controle parental);
  • Informações da câmera;

Algumas dessas informações podem vir a serem compartilhadas com nossas ferramentas de monitoria e error tracking.

Documentação técnica

Plataforma Documentação
IOS latest Clique Aqui
Android latest Clique Aqui
Java Script latest Clique Aqui
Flutter latest Clique Aqui

Recuperação da imagem aprovada no Liveness

É possivel recuperar a imagem nos nossos servidores através do campo sessionId que os nossos sdks respondem como resposta. Para isso, é preciso autenticar na nossa api, recuperar o token de autenticação e com ele fazer uma chamada para recuperar a imagem propriamente dita. Abaixo um passo a passo de como realizar esse processo.

Exemplo

Primeiramente faça a chamada de autenticação passando os seguintes parâmetros:

  • clientId - identifica o cliente junto à ClearSale. É o mesmo valor fornecido pela ClearSale para a utilização dos SDKs.
  • clientSecret - chave de autenticação da ClearSale. É o mesmo valor fornecido pela ClearSale para a utilização dos SDKs.
Requisição no ambiente de produção
POST https://liveness.clearsale.com.br/api/auth HTTP/1.1
Content-Type: application/json
{
    "clientId": "*******",
    "clientSecret": "*******"
}
Requisição no ambiente de Homologação
POST https://liveness-hml.clearsale.com.br/api/auth HTTP/1.1
Content-Type: application/json
{
    "clientId": "*******",
    "clientSecret": "*******"
}
Resposta de sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
    "accessToken":"*******",
    "expiresIn": 300,
    "tokenType": "Bearer",
}
Resposta de erro 401
HTTP/1.1 401 OK
Content-Type: application/json; charset=utf-8
{
    "title": "Invalid client credentials",
    "status": 401,
    "instance": "/api/auth"
}
Resposta de erro 500
HTTP/1.1 500 InternalServerError

Em caso de sucesso, você receberá o accessToken que é necessário para fazer a chamada para recuperação da imagem. Para isso você deve fazer a seguinte chamada substituindo o parâmetro SESSIONID pelo valor do sessionId que foi retornado pelo SDK. Para saber como recuperar o SessionID:

Requisição no ambiente de produção
POST https://liveness.clearsale.com.br/api/image/SESSIONID HTTP/1.1
Content-Type: application/json
Authentication: Bearer accessToken 
Requisição no ambiente de homologação
POST https://liveness-hml.clearsale.com.br/api/image/SESSIONID HTTP/1.1
Content-Type: application/json
Authentication: Bearer accessToken
Resposta de sucesso
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Binario da imagem
Resposta de erro 401
HTTP/1.1 401 OK
Content-Type: application/json; charset=utf-8
{
    "title": "Invalid client credentials",
    "status": 401,
    "instance": "/api/auth"
}
Resposta de erro 500
HTTP/1.1 500 InternalServerError

Licença de Uso

Ao realizar o download e utilizar nosso SDK você estará concordando com a seguinte licença:

Copyright © 2024 ClearSale

Todos os direitos são reservados, sendo concedida a permissão para usar o software da maneira como está, não sendo permitido qualquer modificação ou cópia para qualquer fim. O Software é licenciado com suas atuais configurações “tal como está” e sem garantia de qualquer espécie, nem expressa e nem implícita, incluindo mas não se limitando, garantias de comercialização, adequação para fins particulares e não violação de direitos patenteados. Em nenhuma hipótese os titulares dos Direitos Autorais podem ser responsabilizados por danos, perdas, causas de ação, quer seja por contrato ou ato ilícito, ou outra ação tortuosa advinda do uso do Software ou outras ações relacionadas com este Software sem prévia autorização escrita do detentor dos direitos autorais.