Bubble.io: Sobre Privacidade e Segurança de Dados

O artigo que você vai ler abaixo foi escrito por Josh Haas, fundador do Bubble.io. Extraí esse artigo do Fórum oficial do Bubble, e tomei a liberdade de traduzi-lo para compreendermos melhor como funciona a segurança de dados e privacidade dos aplicativos criados no Bubble.

Boa leitura!

Renato Asse

Link do artigo original em Inglês: https://forum.bubble.io/t/josh-request-for-a-security-q-a-guide/42942/18


Qual é a diferença entre segurança, privacidade e conformidade (Compliance)?

Esses três tópicos são relacionados e geralmente aparecem na mesma discussão, mas representam objetivos e mentalidades diferentes. Todos os três são importantes e é útil distingui-los ao pensar em como criar seu aplicativo.

Segurança é identificar ameaças ao seu aplicativo de terceiros potencialmente maliciosos e tomar medidas para atenuar essas ameaças. De uma mentalidade de segurança, o objetivo é impedir que hackers roubem ou alterem os dados de seus usuários. Não existe segurança perfeita, mas há muitas coisas que podem ser feitas para dificultar o roubo de seus dados. Ao pensar em quanta segurança é necessária, uma pergunta a considerar é quem provavelmente estará motivado para atacá-lo. Construir um sistema que possa suportar um governo estrangeiro tentando roubar segredos diplomáticos é muito difícil e caro; construir um sistema que possa suportar criminosos comuns é significativamente mais fácil.

Privacidade refere-se ao respeito pelos usuários cujos dados lhe foram confiados. Trata-se de uma comunicação clara e precisa sobre como você pretende usar esses dados e de implementar sistemas de forma que os dados sejam usados ​​apenas das formas que você diz. Ao pensar em sua postura de privacidade, a melhor pergunta é: “Seus usuários ficariam surpresos com o que está acontecendo com seus dados?”. Se sim, existe uma obrigação ética de se comunicar melhor para que não haja surpresa ou alterar a maneira como seus dados estão sendo usados.

Conformidade (Compliance) consiste em seguir as leis e os regulamentos que se aplicam ao seu negócio. O objetivo da conformidade é mitigar o risco de penalidades legais. Existem muitas leis e regulamentos em todo o mundo que afetam o uso de dados, e pode ser confuso classificar todos eles. Muitas vezes, as leis são redigidas de maneira vaga, e muitas vezes é necessário um advogado ou especialista em determinada lei para entender como os reguladores e os sistemas judiciais realmente a interpretam, especialmente em situações em que você está localizado em um país, mas seus clientes estão em outro, ou em situações. onde uma lei importante como o GDPR entrou em vigor recentemente, mas não há muita jurisprudência que a imponha. Ao considerar sua postura de conformidade, você deve pensar em quais leis provavelmente serão aplicadas contra seus negócios e quanto conhecimento jurídico você deve trazer internamente. Esse é um fator de onde sua empresa está localizada, em quais jurisdições você atua, em que setor está e como é visível / de alto nível.

Todos os três conceitos estão relacionados. Do ponto de vista da privacidade, a segurança é parte de ser um administrador responsável dos dados de seus usuários: mesmo que você pretenda usá-los de uma maneira que respeite seus usuários, se um agente mal-intencionado puder roubá-los, suas boas intenções poderão ser prejudicadas. E da perspectiva da conformidade, muitas das leis que regulam o armazenamento de dados têm o objetivo de tentar proteger a segurança e a privacidade.

Dito isto, eles também podem divergir. Investir em segurança não ajudará na privacidade se os sistemas que você está protegendo forem projetados para vender os dados dos usuários a terceiros. As leis de privacidade geralmente são valiosas para incentivar o bom comportamento, mas às vezes também podem ser equivocadas e exigir comportamentos que nem sempre levam a bons resultados de segurança ou privacidade. Portanto, ao considerar como projetar sistemas e onde gastar sua energia, é importante ter em mente quais objetivos de privacidade, segurança e conformidade você está tentando alcançar.

Quais são as posições do Bubble sobre segurança, privacidade e conformidade?

Por segurança, nosso foco está em tornar as partes dos sistemas sobre as quais temos controle direto tão robustas quanto os hackers. Nosso objetivo é que os dados sejam acessíveis apenas às pessoas às quais o criador do aplicativo pretende que esses dados sejam acessíveis. Portanto, a segurança é um esforço colaborativo entre nós e nossos clientes: consideramos nosso trabalho fazer nossa parte para tornar os aplicativos Bubble seguros e fornecer aos nossos clientes as ferramentas e o conhecimento de sua parte. Isso inclui recursos, como Regras de Privacidade, que permitem que nossos clientes protejam seu aplicativo.

A posição da Bubble em relação à privacidade é que estamos no negócio de fornecer uma plataforma e ferramentas para nossos clientes, não no negócio de vender dados do usuário. O único benefício que tentamos obter dos dados armazenados em nossos sistemas por nossos usuários é melhorar esses sistemas e torná-los mais úteis para nossos clientes. Não vendemos dados a terceiros e tratamos os dados sob nossos cuidados com respeito.

Consideramos que é de responsabilidade de nossos clientes definir o relacionamento com seus próprios usuários: temos uma ampla variedade de aplicativos no Bubble para todos os tipos de fins; portanto, nosso objetivo é permitir que nossos clientes escolham as práticas de privacidade que fazem sentido para seu contexto.

A postura da Bubble sobre conformidade é que estamos fornecendo um conjunto de ferramentas para nossos usuários que podem ser usadas de maneira compatível ou não. Em geral, não avaliaremos se um uso específico do Bubble é compatível ou não, porque todos os nossos clientes estão sujeitos a regulamentações diferentes e porque não queremos estar em posição de prestar consultoria jurídica.

No entanto, queremos facilitar a conformidade de nossos clientes. A maneira como podemos fazer isso é documentando nossos processos e comparando-os às práticas exigidas por regulamentos comuns, e obtendo certificações e auditorias externas, para facilitar aos clientes ver se cumprimos um determinado padrão regulamentar. Essa é uma área em que atualmente estamos fracos e gostaríamos de investir nos próximos dois anos. Por exemplo, temos muito interesse dos clientes em ter a certificação Bubble como compatível com HIPAA. Isso é algo que planejamos fazer, mas nosso foco atual está na estabilidade e no desempenho da plataforma, portanto, não é algo que possamos assumir imediatamente. Investimos em ajudar nossos clientes a serem compatíveis com GDPR: você pode ver nossos termos, política de privacidade e DPA para obter mais informações.

Além de ajudar nossos usuários a serem compatíveis, fazemos o possível para cumprir todas as regulamentações às quais acreditamos que o próprio Bubble possa estar sujeito. Isso inclui a lei dos EUA que rege os fornecedores de tecnologia, bem como o GDPR.

O que é o Bubble responsável em termos de segurança? Quais são os responsáveis ​​pelos criadores de aplicações Bubble?

Operamos um modelo de responsabilidade compartilhada, em que a Bubble e nossos clientes são responsáveis ​​pela segurança dos aplicativos criados na Bubble.

Responsabilidades do Bubble:

  • Garantir que a infraestrutura da nuvem em que os aplicativos Bubble estejam hospedados seja segura em nível físico, de rede e de máquina virtual
  • Garantir que os dados enviados para os aplicativos Bubble sejam armazenados de maneira criptografada e segura
  • Proteção contra vulnerabilidades de segurança no nível do aplicativo no editor do Bubble e seu ambiente de programação em tempo de execução
  • Garantir que a linguagem de programação da Bubble possa ser usada para criar aplicativos seguros e garantir que os clientes sejam informados sobre como usar a linguagem de programação da Bubble com segurança
  • Garantir que os processadores de dados de terceiros que a Bubble opte por usar para fornecer seus serviços operem com os mesmos padrões que a Bubble e assegure que eles processem os dados dos usuários de maneira segura e privada

Responsabilidades de nossos clientes:

  • Protegendo as credenciais que eles usam para se autenticar no Bubble
  • Definindo as políticas de privacidade e acesso aos dados que eles e seus usuários finais carregam nos aplicativos criados no Bubble
  • Comunicar essas políticas aos usuários finais
  • Projetando seus aplicativos de forma que os usuários possam ver apenas os dados permitidos por suas políticas de privacidade e acesso
  • Usando os recursos de segurança da Bubble, incluindo Regras de Privacidade, para garantir que apenas usuários autorizados possam visualizar dados
  • Garantir que qualquer código ou serviço de terceiros que eles instalem no aplicativo ou enviem dados pelo aplicativo, incluindo plug-ins de terceiros instalados no mercado de plug-ins da Bubble, Javascript de terceiros incluído diretamente em sua página, APIs para as quais enviam dados e APIs que eles criam e expõem, respeitam as regras de privacidade e acesso definidas e mantêm um alto nível de segurança em suas operações

Quais são as principais práticas de segurança da Bubble?

Algumas das coisas mais importantes que fazemos para proteger os dados que hospedamos incluem:

  • Fornecer e incentivar a criptografia SSL para aplicativos hospedados no Bubble
  • Armazene dados criptografados em repouso em nossos bancos de dados
  • Use criptografia unidirecional para proteger senhas
  • Use firewalls para defender nossa rede contra invasões
  • Garanta que todos os servidores estejam totalmente corrigidos em cada implantação e mantenha a capacidade de corrigir toda a infraestrutura em poucas horas, se necessário
  • Use sistemas operacionais seguros (baseados em * nix) em todos os servidores Bubble
  • Use ferramentas de monitoramento de vulnerabilidades para detectar possíveis vulnerabilidades em nossa infraestrutura
  • Trabalhe com pesquisadores de segurança para identificar e resolver vulnerabilidades de segurança
  • Ter definido processos de gerenciamento e notificação de incidentes para lidar com incidentes de segurança
  • Analise o novo trabalho de desenvolvimento para obter implicações de segurança antes de liberar para produção
  • Usar os datacenters de ponta do Amazon Web Service para garantir boa segurança física para nossos dados
  • Realizar verificações de antecedentes dos funcionários com acesso aos dados do cliente

Que tipo de dados é seguro para armazenar no Bubble?

Fazemos todos os esforços para garantir que os dados armazenados no Bubble sejam seguros. O objetivo para o qual trabalhamos é que a resposta a essa pergunta seja: “todos os dados”. No momento, o Bubble é uma equipe de nove pessoas (EDIÇÃO DO RENATO: esse post é de jan/2019), portanto, não temos uma divisão de segurança dedicada da mesma forma que uma grande gigante da tecnologia; Dito isso, levamos a segurança a sério e, à medida que crescemos, planejamos criar uma função de segurança de classe mundial.

Quando as pessoas nos fazem essa pergunta, no entanto, geralmente estão perguntando em um contexto de conformidade: elas querem saber que tipo de dados é legal armazenar no Bubble.

Conforme explicado na minha resposta a “Quais são as posições da Bubble sobre segurança, privacidade e conformidade?”, geralmente não respondemos a essa pergunta, porque a resposta varia para cada um de nossos usuários, dependendo das circunstâncias, e não queremos estar na posição de prestar aconselhamento jurídico. Incentivamos os usuários a avaliar os prováveis ​​riscos legais que se aplicam a eles, a consultar especialistas ou advogados e a tomar uma decisão informada. À medida que aumentamos nossa equipe e concluímos várias certificações, atualizaremos a comunidade e informaremos: até o momento em que este artigo foi escrito, o GDPR é a única legislação que desenvolvemos materiais.

Como o Bubble lida com cookies?

Cookies são uma tecnologia usada para lembrar um navegador da web específico. O Bubble usa cookies para ativar seu sistema de login: os cookies são como sabemos que quando você tenta visitar uma página, você é a mesma pessoa que fez login há um minuto.

Os cookies costumam ser uma preocupação nas discussões sobre privacidade na Internet, porque geralmente são usados ​​por redes de anúncios e outros serviços interessados ​​em rastrear o comportamento do usuário para assistir a quais sites a pessoa visita. No entanto, esta é apenas uma maneira de usar os cookies: os cookies são apenas uma maneira de saber que a pessoa que visitou uma página há um minuto é a mesma pessoa que a está visitando agora.

Como criador de aplicativos, oferecemos a você a opção de definir cookies para todos os seus visitantes ou definir cookies somente quando um visitante faz login no seu aplicativo. Essa opção é controlada por Configurações -> Geral -> “Não definir cookies para novos visitantes por padrão”. Mais informações sobre como essa configuração funciona estão aqui: https://bubble.io/reference#ApplicationSettings.cookie_opt_in. Quando você define cookies para os usuários, permitimos que você opcionalmente armazene dados sobre eles que persistem na próxima vez que visitarem seu aplicativo; isso é necessário para usuários logados e opcional para usuários não logados.

Embora as leis de privacidade sejam diferentes, geralmente é sempre bom usar cookies se você explicar por que precisa delas, e usá-las para gerenciar o login do usuário é uma finalidade legítima. Você pode ver nossos termos para um exemplo de como alguém pode comunicar o uso de cookies aos seus usuários.

Como as regras de privacidade funcionam?

As regras de privacidade são a principal ferramenta do Bubble para especificar quem deve ver quais dados. Ao projetar um aplicativo, você deve pensar em cada tipo de dados que seu aplicativo armazenará, quem deve vê-lo. Apenas o usuário que enviou os dados? O usuário e alguns outros usuários que atendem a condições específicas? O público em geral?

Se a resposta não for “o público em geral”, é importante criar regras de privacidade. Pense em cada regra que você cria como uma razão pela qual alguém deve poder ver um dado. Por exemplo, um motivo pode ser: “Eu sou o usuário que fez o upload”. Outro motivo pode ser “O usuário que fez o upload me marcou”. Mais informações sobre como configurar e usar regras de privacidade estão em nosso manual: https://manual.bubble.io/working-with-data/privacy-and-security.html.

As regras de privacidade são aplicadas sempre que seu aplicativo pesquisar ou recuperar dados. Nos bastidores, nós os adicionamos como restrições extras às pesquisas: se você procurar por todos os usuários, o que realmente fazemos é procurar “todos os usuários que o usuário conectado no momento tem permissão para ver”. Isso se aplica a pesquisas em uma página e a pesquisas dentro de fluxos de trabalho: sempre que executamos um fluxo de trabalho, rastreamos quem é o “usuário atual” e mostramos apenas os dados do fluxo de trabalho permitidos pelas regras de privacidade.

A regra geral é: se as regras de privacidade permitirem que alguém veja dados, essa pessoa poderá vê-lo. Não confie em ocultar coisas em uma página ou redirecionar para uma página diferente para proteger dados seguros, e não confie em não ter construído uma pesquisa em nenhum lugar que retorne os dados. Essas medidas podem impedir que alguém tropece nos dados acidentalmente, mas não impedem que alguém esteja determinado a visualizá-los.

Se você precisar modificar os dados que o usuário atual não tem permissão para ver, a melhor abordagem agora é usar um Workflow API agendada com a caixa “Ignorar regras de privacidade ao executar o fluxo de trabalho”. Isso executará o fluxo de trabalho inteiramente no servidor sem enviar dados para o navegador da web do usuário e removerá as restrições nas pesquisas, para que o fluxo de trabalho possa recuperar dados que, de outra forma, o usuário não conseguiria acessar.

Como as senhas são armazenadas no Bubble?

Usamos hash e salting para armazenar senhas. O hash unidirecional é uma transformação irreversível: você não pode passar da senha com hash de volta para a senha original; portanto, na pior das hipóteses, se o banco de dados Bubble estiver comprometido, o invasor não poderá ver quais eram as senhas originais. (A maneira como verificamos uma senha é o hash da senha digitada pelo usuário e ver se ele corresponde ao hash que temos no banco de dados. Como a única coisa com a qual nos preocupamos é que as duas senhas são iguais, não é importante recuperar a senha original: é por isso que o hash unidirecional é considerado uma prática recomendada para o armazenamento de senhas).

A equipe do Bubble pode visualizar os dados de nosso aplicativo?

Sim. Exibimos os dados do usuário para responder a solicitações de ajuda e diagnosticar problemas do sistema. Temos políticas internas contra o acesso a dados, exceto quando necessário para atender a uma necessidade específica do cliente. Fazemos verificações de antecedentes antes de contratar funcionários que terão acesso aos dados do cliente e assumimos a responsabilidade de evitar o uso indevido dos dados. Planejamos reforçar os controles em relação a isso à medida que crescemos: por exemplo, podemos, no futuro, mudar para um protocolo de aceitação em que a maioria dos membros da equipe não pode acessar dados, a menos que o proprietário do aplicativo consente especificamente. Por enquanto, somos uma organização muito pequena que trabalha em conjunto, por isso nos sentimos confortáveis ​​por ter uma boa noção do que todos da equipe estão fazendo com os dados do usuário.

Existe uma maneira de adicionar níveis adicionais de proteção a dados específicos no Bubble?

Muitas vezes nos perguntam isso no contexto de dados particularmente sensíveis com os quais os usuários gostariam de trabalhar no Bubble. Por exemplo, as pessoas geralmente querem saber se determinados dados podem ser armazenados em um formato criptografado.

Em geral, a resposta é que todos os dados do Bubble já estão armazenados em um formato criptografado. Portanto, não há realmente um sentido em que algo possa ser criptografado mais do que já é. (Às vezes, as pessoas perguntam se outros campos podem ser protegidos da mesma maneira que protegemos as senhas: as senhas são um caso especial porque são armazenadas por meio de hash unidirecional, tornando a senha original permanentemente irrecuperável. Consulte a pergunta acima sobre armazenamento de senhas).

Dito isso, é possível armazenar dados no Bubble de uma maneira que a equipe do Bubble não possa acessá-lo. No momento, não temos uma solução pronta para isso e não tive a chance de auditar nenhum plug-in no mercado que ofereça isso, mas teoricamente isso é possível no Bubble usando plug-ins de elemento, em um dos dois caminhos:

Criptografia do lado do cliente. Um plug-in de elemento pode criptografar dados no navegador da web dos usuários e compartilhar apenas os dados criptografados, não os dados originais ou a senha, com o Bubble. Isso exigiria que o usuário digite sua senha de criptografia sempre que quiser acessar os dados, porque você não deseja armazenar a senha no banco de dados Bubble neste cenário.

Usando um serviço de terceiros especializado em armazenar esses dados. É assim que a integração do Bubble’s Stripe funciona: quando você digita o número do seu cartão de crédito, o cartão é enviado diretamente para o Stripe a partir do navegador do usuário, sem precisar acessar o servidor Bubble. O Stripe responde com um token que representa o cartão de crédito, que é enviado ao Bubble. O Bubble pode usar esse token para solicitar à API do Stripe que faça coisas, como cobrar no cartão de crédito.

Qual é a segurança dos dados enviados ao navegador da web de um usuário?

A regra geral é que, se os dados forem direcionados para o navegador da web de um usuário, todos com acesso a esse computador poderão acessar os dados. Se você deseja garantir que um usuário não veja um dado específico, a única maneira de fazer isso é garantir que ele nunca seja enviado para o navegador da Web, e a única maneira de fazer isso é habilitar regras de privacidade para esses dados e verifique se eles não têm permissão.

Desde que você tenha o SSL ativado, o envio de dados para o navegador da Web dos usuários geralmente é protegido contra interceptação por terceiros: você pode ter certeza de que apenas as pessoas com acesso ao computador desse usuário podem ver os dados.

Quais dados são enviados para o navegador da web de um usuário?

Ao editar uma página ou um elemento personalizado, você deve supor que todos os dados referidos nessa página, incluindo dados em elementos e dados em fluxos de trabalho, possam ser enviados ao navegador da web dos usuários. Se você deseja trabalhar com dados que não são enviados para o navegador da Web dos usuários, crie um Workflow API: aqueles executados inteiramente no servidor, enquanto os fluxos de trabalho normais são executados no navegador da Web e no servidor.

Quando os dados no navegador da web do usuário chegam ao servidor Bubble quando executamos um fluxo de trabalho?

Quando você executa um fluxo de trabalho em uma página do Bubble, o Bubble executa o fluxo de trabalho no navegador da web do usuário e também pode executar o fluxo de trabalho no servidor Bubble se o fluxo de trabalho tiver uma ação que exija o servidor. Isso inclui coisas como criar / modificar / excluir itens, enviar e-mails, processar pagamentos ou fazer login e logout. Se você não tem certeza se um fluxo de trabalho está em execução no servidor, pode usar as ferramentas de desenvolvedor do seu navegador da web para verificar as solicitações de rede que o navegador está enviando. O Bubble enviará uma solicitação “https://seu-app-domínio.com/workflow/start” sempre que executar um fluxo de trabalho no servidor.

Quando um fluxo de trabalho é executado no servidor, todos os dados em que o fluxo de trabalho toca, incluindo o conteúdo de quaisquer entradas mencionadas pelo fluxo de trabalho, são enviados ao servidor.

A conexão com uma API é segura?

As APIs mais populares são seguras de se conectar. O que deve ser verificado é que o URL da API é veiculado por https, não por http, e que o serviço é respeitável e confiável. O Bubble protege automaticamente as credenciais seguras da API que são salvas na guia Plug-ins no editor. Não enviaremos chaves privadas ao navegador da web de um usuário: se o aplicativo acessar a API, proxy a chamada pelos servidores Bubble e adicionaremos as credenciais no back-end.

Alguns usuários criam aplicativos que usam credenciais dinâmicas, onde todos os usuários que se conectam a uma API usam um conjunto diferente de chaves e armazenam essas chaves no banco de dados. É seguro fazer isso desde que você tenha muito cuidado com as regras de privacidade: verifique se apenas o usuário que envia as chaves pode visualizá-las.

COMPARTILHE ESSE POST

Quer aprender mais sobre Desenvolvimento Visual de Aplicativos (No-Code)?

1

Comece por essa Masterclass Gratuita, uma aula gratuita onde você irá aprender tudo sobre o que No Code, Low Code, Bubble, FlutterFlow, programação visual, desenvolvimento sem código, quais as melhores ferramentas, o que é possível criar, e muito mais. Clique no botão abaixo para acessar essa aula 100% online e 100% gratuita:

2

Me siga no YouTube para receber toda semana novos vídeos ensinando tudo sobre desenvolvimento visual de aplicativos e No-Code.

3

Inscreva-se na Comunidade Sem Codar, um curso online com centenas de aulas passo-a-passo do zero, e ganhe acesso ao grupo exclusivo dos membros para tirar dúvidas sobre Bubble, FlutterFlow, AppGyver e desenvolvimento No Code e Low Code:

Posts relacionados