Skip to content

Segurança

O que protege o registro

Seus serviços, os endereços dos seus clientes e o seu dinheiro estão aqui. Esta página conta o que construímos para protegê-los, o que está funcionando agora, e onde isso para.

Separação

Uma empresa nunca consegue ver outra

Tudo o mais depende disso, então fazemos isso duas vezes e um computador confere para nós.

  • Duas paredes entre empresas, não uma

    Todo registro carrega o carimbo da empresa dona dele, e toda solicitação que o nosso servidor faz ao banco de dados fica limitada à empresa que pediu. Por baixo disso, o próprio banco de dados mantém a mesma parede, com uma regra própria em toda tabela que guarda registros de empresas. Assim, um erro no aplicativo, sozinho, não basta para atravessá-la.

  • Um computador verifica a parede, não a memória de uma pessoa

    Um teste automático lê o banco de dados que está no ar e encontra toda tabela que guarda um carimbo de empresa. Se alguma estiver sem a sua regra, o teste falha citando o nome dela. Nós contamos o que está coberto em vez de supor, e a lista de exceções está vazia.

  • Testamos uma empresa contra outra antes de publicar

    Quando criamos um novo endereço que o aplicativo pode chamar, ele ganha um teste que entra como uma empresa e tenta ler os dados de outra. Sincronização, preços e nomes de arquivos guardados têm cada um o seu próprio teste.

Integridade

O registro não pode ser reescrito silenciosamente

Quando um serviço dá errado, o histórico é a prova. Ele é construído para que ninguém, nem nós, consiga mudá-lo pelas suas costas.

  • No histórico só se acrescenta, e cada linha trava a anterior

    Cada linha do histórico carrega uma impressão digital da linha anterior, então uma linha não pode ser mudada ou removida silenciosamente sem quebrar a corrente. O próprio banco de dados bloqueia qualquer alteração ou exclusão, e nosso servidor se recusa a iniciar se essa proteção estiver faltando.

  • Pagamentos nunca são editados

    Para corrigir um erro, acrescentamos uma nova linha que anula a anterior. Nunca mexemos na linha antiga. O que foi registrado, e quando, continua legível, que é justamente para isso que serve um histórico de pagamentos.

  • Os links de assinatura são criados pelo nosso servidor

    Um link para assinar um documento funciona uma vez só, não pode ser adivinhado e para de valer depois de um tempo determinado. Quem cria esse link é o nosso servidor. O aplicativo no celular nunca cria um.

Durante o trajeto, e uma vez guardado

Para onde os dados vão

A Cloudflare fica entre a internet e o servidor com o qual o aplicativo conversa. Ela carrega as nossas próprias regras de bloqueio e reduz a velocidade de quem envia solicitações demais, rápido demais. Atrás dela, o nosso servidor aplica os mesmos limites de novo.

  • Embaralhado durante o trajeto, em todo lugar

    Tudo o que viaja entre um celular e nós passa por HTTPS, que embaralha os dados para que ninguém no meio do caminho consiga ler. O site no ar também manda uma instrução para o navegador: depois da primeira visita, ele nunca mais volta a usar uma conexão sem embaralhamento. As solicitações chegam até nós pela Cloudflare, em vez de irem direto ao nosso próprio servidor.

  • Os arquivos ficam em uma única região

    Fotos, documentos e assinaturas ficam guardadas em um armazenamento de arquivos configurado para uma região fixa, no leste da América do Norte. Vale para toda empresa, não importa onde ela trabalhe. Quando o servidor sobe, ele confere essa configuração e se recusa a rodar se a região estiver ausente ou definida como "auto".

  • Nunca guardamos sua senha

    Nós não guardamos sua senha, e não conseguimos recuperá-la para você. O que guardamos é uma versão embaralhada (Argon2) que não pode ser transformada de volta na sua senha: suficiente para conferir quando você entra, nunca suficiente para lê-la. Também existe um limite de quantas vezes alguém pode tentar entrar, se cadastrar ou redefinir uma senha em pouco tempo.

No celular

O celular faz parte do que protegemos

Um celular fica esquecido na caçamba da caminhonete, é emprestado a um aprendiz e passado por cima do balcão. O que construímos aqui é para isso, não para uma mesa de escritório.

  • Uma trava opcional no próprio aplicativo

    Já estar logado não deveria entregar uma empresa inteira para quem pegar o celular. A trava do aplicativo pede a trava de tela ou a impressão digital do próprio celular antes de abrir o app. Ela fica desligada até você ligar, e só oferecemos essa opção em um celular que já tenha uma trava de tela configurada.

  • As chaves de acesso ficam no armazenamento trancado do próprio celular

    O aplicativo precisa guardar alguns itens privados no celular, como o passe que mantém você conectado. Ele guarda esses itens no keystore do Android, e não nos arquivos comuns do aplicativo. O keystore é o armazenamento trancado que o próprio hardware do celular protege.

Continuidade

Backups, incidentes e como tirar seus dados

  • Uma cópia trancada do banco de dados, guardada fora do servidor

    A cada hora fazemos uma cópia completa do banco de dados ao vivo. A cópia é trancada com criptografia antes de ser guardada, e o processo não mantém nenhuma cópia destrancada: ele confere que o arquivo trancado está mesmo trancado antes de apagar o que não está. Depois ele confere a lista de conteúdo da própria cópia, manda a cópia para um armazenamento separado para o qual o aplicativo não tem nenhum dado de acesso, e lê de volta para confirmar que chegou. O banco de dados também mantém um registro contínuo de cada mudança no momento em que ela acontece, e esse registro também é copiado para fora do servidor, então recolocar as coisas no lugar não fica limitado à última cópia inteira. Fotos, PDFs e imagens de assinatura são copiadas para esse mesmo armazenamento separado. Cópias antigas são apagadas segundo um calendário fixo nos dois lugares. Para ser franco com você: esse armazenamento separado é um segundo espaço na mesma empresa de armazenamento, não uma segunda empresa.

  • Nós recolocamos os backups no lugar para provar que funcionam

    Um backup que ninguém nunca recolocou no lugar é uma esperança, não um plano. Então pegamos uma cópia real do banco de dados ao vivo, carregamos num banco de dados reserva e conferimos que os registros estão mesmo lá antes de descartar o reserva, inclusive abrindo uma cópia trancada já guardada em vez de uma recém-feita. Fizemos o mesmo com o armazenamento de arquivos: cada arquivo restaurado foi conferido contra a impressão digital registrada na hora da cópia. Cada teste é anotado e datado. Aqui está o que esses testes não provam, porque isso importa mais do que o que eles provam: nunca reconstruímos o serviço em máquinas novas, nunca repetimos o registro contínuo de mudanças até um momento escolhido, nunca recolocamos um backup dentro do banco de dados ao vivo, e nunca cronometramos uma recuperação completa do início ao fim. É por isso que não publicamos nenhuma meta de recuperação.

  • Um plano escrito para quando algo dá errado

    Se algo dá errado, seguimos um plano escrito em vez de decidir na hora. Os passos são: avaliar a gravidade, impedir que se espalhe, desconectar todo mundo e desligar links de pagamento e acesso da equipe, trocar nossas chaves secretas, guardar o histórico e conferir que não foi alterado e, por fim, avaliar o dano e avisar as pessoas afetadas. Prometemos avisar você sem esperar mais do que o necessário. Não publicamos um prazo fixo, porque não provamos que conseguimos cumpri-lo.

  • Seus dados saem sempre que você quiser

    Você pode baixar uma cópia da sua conta de dentro do aplicativo: clientes, serviços, faturas, pagamentos, recibos, fotos e os PDFs das suas faturas e orçamentos. Você também pode excluir a sua conta pelo aplicativo. O acesso é cortado na hora, e excluímos os dados de vez depois de um número determinado de dias. Mantemos de propósito o histórico de quem fez o quê, porque nesse registro só é possível acrescentar, nunca apagar.

O que não afirmamos

A lista abaixo é do que não temos e não prometemos. Se alguma coisa aí importa para você, essa é uma resposta de verdade. Pense nisso antes de confiar o seu serviço a nós.

  • Nenhum certificado e nenhuma auditoria externa. Não temos relatório SOC 2, nem certificado ISO 27001, nem aprovação PCI ou HIPAA, que são os certificados de segurança que grandes compradores pedem. Ninguém de fora da empresa foi pago para tentar invadir. Quem disser o contrário sobre o Zeus está errado.

  • Nenhuma promessa sobre tempo no ar ou recuperação. Não publicamos um número de quanto tempo o aplicativo fica funcionando, nem uma meta de quão rápido conseguiríamos trazê-lo de volta, nem uma meta de quanto serviço recente poderia se perder, porque não podemos garantir nenhum desses números.

  • Nenhuma promessa de segurança perfeita. Nenhum sistema é perfeitamente seguro, e uma página que diz o contrário é propaganda, não fato.

  • O serviço que você faz offline não tem backup enquanto não chega até nós. Alterações feitas sem sinal ficam só naquele celular até o aplicativo alcançar o servidor. Abra o aplicativo quando o sinal voltar, para que ele possa enviar tudo.

Relatando uma vulnerabilidade

Se você encontrou alguma coisa, preferimos ouvir de você do que de uma empresa que depende deste aplicativo. Não temos programa de recompensas nem pagamento, mas uma pessoa de verdade vai te dar uma resposta direta.

Siga estas regras

  • Nos dê tempo para corrigir antes de contar para outra pessoa.
  • Enquanto estiver investigando, não abra, mude ou guarde nenhum dado que não seja seu.
  • Não sobrecarregue o site no ar com tráfego para ver quanto ele aguenta, e não aponte ferramentas de escaneamento automático para ele. Não tente invadir sem que a gente tenha dito sim por escrito antes.
  • Nos conte o que você fez, o que você viu e detalhes suficientes para conseguirmos reproduzir. Um recado simples é melhor do que nenhum.

São as mesmas regras da nossa política de uso aceitável.

Status desta página

Esta página foi escrita para ser lida. Não é um contrato, e não promete nada que você possa exigir de nós na justiça. Os documentos que fazem isso são os termos de serviço e a política de privacidade no nosso pacote jurídico. O serviço de segurança nunca para, então o que está nesta página muda. Se esta página e esses documentos algum dia discordarem, os documentos é que valem.

Perguntas sobre qualquer coisa aqui vão para [email protected], e tudo o mais está na página de contato.