Seu chatbot está compliance com a LGPD?

Seu chatbot está compliance com a LGPD?

A LGPD, lei geral de proteção de dados que foi aprovada em 14/08/2018 e entrará em vigor a partir de agosto de 2020 maio de 2021, foi baseada na GDPR a lei já regulamentada na União Europeia. Tudo isso têm tirado o sono das áreas de TI em geral das empresas do país, pois a adequação de sistemas e plataformas nem sempre é trivial. Para startups essas adequações podem sobrecarregar o processo de desenvolvimento de novos produtos, pois até mesmo um MVP deverá atender a LGPD.

Neste artigo focarei em algumas práticas que podemos aplicar em nossos chatbots para adequar a nova lei. Destaco os seguintes pontos da LGPD:

  • É necessário obter o consentimento explícito por parte do titular dos dados. Ou seja, ele deverá ser claramente informado dos termos de uso e extensão da autorização e precisa concedê-lo livremente.
  • Uma empresa só poderá recolher determinados dados a partir da autorização do proprietário desses dados, ou seja, o titular. Ou seja, deverá comprovar que a sua coleta será útil para sua interação com seus consumidores.
  • Os titulares dos dados poderão a qualquer momento retificar, cancelar ou até mesmo solicitar sua exclusão.

Nos últimos meses a CrudTec aprendeu e implantou algumas práticas úteis e que atendem a lei.

Quais dados necessitamos para o chatbot?

Em primeiro lugar devemos examinar quais os dados do usuário precisamos para conseguir entregar os serviços e respostas do chatbot. Depois disso devemos identificar quais são os dados pessoais para que possamos pedir a autorização do usuário.

Tratando-se de um chatbot cada canal entrega as informações de uma forma e normalmente é necessário padronizar e armazenar esses dados para que seja possível responder o usuário de forma contextualizada. Em um de nossos bots que trabalha nos canais Telegram, WhatsApp e Messenger armazenamos os dados da seguinte forma:

Como pode-se observar para esse chatbot não coletamos muitos dados sensíveis, porém mesmo assim temos o nosso uuId, channelId, userId e o userName que são informações pessoais (pois com elas conseguimos identificar o usuário) e devemos deixar claro para os usuários em nossa política de privacidade que armazenamos esses dados. Para chatbots que coletam as informações sensíveis durante as conversas devemos listar na política todos os campos pessoais que serão armazenados (Por exemplo: CPF, Código do Cliente, Endereço, entre outros).

Dessa maneira deixamos os usuários mais confortáveis para utilizar os serviços do chatbot fornecendo essas informações com clareza em um disclaimer:

Termos de Uso — Chatbot LGPD CrudTec

Nós coletamos e armazenamos algumas informações sobre você, elas estão listadas abaixo:

ChatBot ID (uuid) — Nós geramos randomicamente um id para que possamos atualizar e excluir seus dados quando necessário. Precisamos deste dado para identificar você em nosso chatbot.

Canal (channelId) — Nome do canal de atendimento. Este chatbot está disponível no Whatsapp, Telegram e Facebook Messenger. Precisamos deste dado para identificar a plataforma que você está utilizando.

Id do Usuário (userId) — Identificador fornecido pelo canal de atendimento. Esta informação identifica o seu id único no canal de atendimento. Precisamos deste dado para identificar você em nosso chatbot.

Nome de usuário (userName) — Nome ou apelido do seu perfil no canal. Precisamos deste dado para personalizar a sua experiência em alguns momentos da conversa.

Fazemos isso para que seja possível executar os serviços deste chatbot. Informamos também que você terá a opção de excluir os seus dados armazenados a qualquer momento.

Sem aceitar este termo não é possível utilizar os nossos serviços.

Legal! Mas como colocar tudo isso no chatbot? qual é a melhor abordagem?

Como solicitar o consentimento explícito dos dados pelo meu chatbot?

Em uma página web é muito simples adicionar um pop-up, que de certa forma obriga o usuário a ler e aceitar os termos (como temos visto em diversos sites da União Europeia). Agora em um chatbot a história muda um pouco. Temos feito alguns experimentos de acordo com o canal de atendimento.

Normalmente na primeira vez que um usuário novo se comunica, o bot se apresenta com uma pequena introdução do que faz e já apresentamos o disclaimer, seja em um arquivo PDF ou um hiperlink. Fazemos com que o usuário se envolva com essa apresentação e logo aceite os termos.

Quick Replies / Atalhos

Nos canais onde existem as quick replies que são elementos para interação rápida essa transição é perfeita para este fim, como no exemplo:

Image for post

Exemplo de abordagem para consetimento de gravação de dados

Também podemos utilizar os atalhos que é uma funcionalidade que pode ser implantada caso o canal tenha disponibilidade. Trata-se de colocar hiperlinks complementares quando o dado sensível esta preste a ser capturado. É comum ver essa estratégia em chatbots de e-commerce da União Europeia, por exemplo:

Image for post

Exemplo 2 de abordagem para consetimento de gravação de dados

Quando os quick replies ou atalhos não estão disponíveis nos canais, como no WhatsApp por exemplo, possuímos outras opções, explicadas nos tópicos abaixo.

NLP (Natural Language Processing)

Não entrarei a fundo sobre como utilizar o NLP neste artigo, mas basicamente basta cadastrar duas intenções por exemplo: Afirmação e Negação com alguns exemplos do tipo: aceito, sim, não aceito, não, entre outros. E assim quando o usuário enviar a resposta sobre o termo, o seu bot deverá entregar para o NLP a frase e verificar o retorno do NLP.

Abaixo está um exemplo do retorno do NLP DialogFlow. Para os outros NLP`s (Watson, Luis.Ai, Rasa, Lex, etc) os retornos são bem similares a esse:

Analisando o retorno do NLP possuímos os itens:

  • queryResult -> queryText — Frase enviada (Eu aceito)
  • queryResult -> intent -> displayName — nome da intenção encontrada (Afirmação)
  • queryResult -> intentDetectionConfidence — percentual de confiança do NLP (1 neste caso significa 100%)

Assim neste exemplo a frase enviada pelo usuário “Eu aceito” possui a intenção “Afirmação” com um percentual de assertividade de 100%. Neste caso o nosso bot pode prosseguir com o fluxo de negócio para o as próximas partes além gravar este aceite.

Dicionário fixo / URA visual

É o mais simples para implementar pois essa abordagem lembra muito uma URA de atendimento, porém visual. Quando o usuário enviar a resposta sobre o termo, o seu bot deverá verificar a frase digitada e comparar se é igual ao dicionário que você criou sobre afirmação ou negação. Neste caso o ideal é que na pergunta sobre o aceite do termo você já deixe as opções que dão o “match” com seu dicionário. Exemplos:

  1. Digite 1 para aceitar o termo e 2 para recusar o termo
  2. Me envie 1 para aceitar o termo ou 2 para recusar o termo
  3. Me envie:
  • 1 — “Eu aceito”
  • 2 — “Eu não aceito”

O papel do UX é essencial

Sobre entregar os termos em um hiperlink a vantagem é que normalmente a maior parte dos canais possuem um visualizador web integrado, assim os usuários não saem do contexto totalmente quando clicam no hiperlink. Em alguns casos o envio do disclaimer em um PDF também se aplica.

Sobre qual é o melhor momento e forma de exibir ou de abordar o usuário com os termos, acredito que para todos os casos é necessário muitos testes, pois em alguns casos necessitei inserir uma mensagem inicial para que após a resposta do usuário (ou seja a segunda mensagem do usuário) apresentar os termos. As taxas de aceitação dos termos em nossos bots tem sido acima de 80% o que considero ser um bom número.

Entendemos que nessas decisões o papel do designer de serviços e do UX são essenciais para o sucesso do seu chatbot. Teste muito e acompanhe a reação de cada usuário, para melhorar o seu bot.

Como excluir os dados do usuário sob demanda?

Como na LGPD os titulares dos dados poderão a qualquer momento solicitar sua exclusão, devemos ter mecanismos que possam realizar essas ações. Infelizmente não é algo muito comum as empresas darem a possibilidade de exclusão de dados ou cancelamento de contas de forma fácil aos usuários, o que eu particularmente acho um absurdo. Num chatbot essa tarefa é extremamente simples do lado do usuário e também temos algumas possibilidades como no aceite do usuário.

Comandos

Assim como os quick replies, os comandos também foram criados para interações rápidas e essa abordagem torna-se perfeita para este fim, como no exemplo:

Image for post

Exemplo comandos no canal Telegram

Assim que o usuário encaminha esse comando o bot pede uma confirmação com uma quick reply. e caso confirme excluímos os dados gravados.

Image for post

Exemplo de abordagem para excluxão de dados

NLP e Dicionário fixo / URA visual

Também conseguimos abordar o usuário através de NLP cadastrando uma intenção “excluir_dados” por exemplo assim como na exibição e aceitação do termo de aceite.

Para um dicionário fixo teríamos que em algum momento da conversa com usuário, informa-lo que a frase “Excluir meus dados” por exemplo irá excluir definitivamente os dados. Particularmente não é uma opção muito agradável e bem estranha tratando-se da experiência do usuário.

E-mail

Algumas empresas ainda insistem em excluir os dados dos usuários apenas caso o usuário encaminhe um e-mail ou passe por algum procedimento sistêmico para finalmente efetuar.

Conclusão

Tratando-se de leis a LGPD possui diversas interpretações portanto as empresas brasileiras terão uma certa flexibilidade quanto aos métodos de consentimento, retificação, cancelamento e exclusão dos dados pessoais. No universo dos chatbots citei algumas práticas que temos adotado e adaptado em alguns bots mais antigos da CrudTec.

Bem, esse foi o meu primeiro artigo aqui no site e resolvi abordar não somente em algo muito teórico, mas com diversos exemplos que tenho vivido a alguns meses. Chatbots é algo que sou apaixonado em fazer tanto no meu trabalho CLT quanto em minha startup.

A partir de agora irei fazer isso com frequência por aqui, então se você gostou e tem interesse, me segue! Agora diz aí: o que você acha disso? Concorda? Discorda? Adoraria saber sua opinião sobre o meu conteúdo e conversar sobre o artigo :)

Até a próxima!

Fontes