Por dentro

O que acontece exatamente com os seus arquivos.

Para quem quer os detalhes técnicos por trás das nossas promessas de privacidade. Cada afirmação desta página descreve o sistema como ele é hoje. Se algo aqui mudar, esta página muda primeiro. Para ver o que mudou recentemente, em palavras simples, veja as Novidades.

Resumo

  • Seu envio vai direto para o armazenamento. Seu navegador manda os arquivos direto para o nosso armazenamento na UE. Os nossos servidores web nunca lidam com o conteúdo dos arquivos.
  • Processado na UE. Um servidor dedicado na Alemanha ou na Finlândia corrige as suas memórias e depois é excluído quando fica parado.
  • Excluído automaticamente. Os originais quando o processamento termina (no máximo 24 horas); os arquivos corrigidos 72 horas depois de ficarem prontos; ou tudo agora mesmo, com um toque.
  • Só software. Ferramentas de mídia comuns e de código aberto fazem o trabalho. Ninguém olha as suas fotos, e nada é usado para treinar nada.
  • Só as Memórias são abertas. Chats, amigos, dados da conta e o resto dos seus dados do Snapchat nunca são lidos. A única exceção, opcional: para separar as fotos e os vídeos dos chats em uma pasta por chat, lemos com quem foi cada chat no arquivo do histórico de chats, nunca as mensagens. Deixe o histórico de chats fora da sua exportação e nem isso fazemos.
  • Acesso mínimo e temporário. As permissões do Google e do Dropbox só nos deixam adicionar arquivos, e as descartamos assim que o envio termina.

O caminho de um arquivo

  1. Envio

    Quando você começa, a nossa API cria uma exportação e dá ao seu navegador endereços de envio assinados e de curta duração (válidos por uma hora) para um bucket do Cloudflare R2 criado com jurisdição da UE, o que mantém os dados guardados dentro da União Europeia. Seu navegador envia os arquivos ZIP para lá em partes, por HTTPS. Os nossos servidores só entregam os endereços; os bytes vão do seu aparelho direto para o armazenamento. Se a sua conexão cair, o navegador pergunta quais partes chegaram e manda só o resto.

  2. Espera

    Enquanto você envia, a página informa à nossa API mais ou menos quanto falta, para que um servidor de processamento possa ser ligado pouco antes de você terminar. Nada é processado até todos os arquivos chegarem.

  3. Processamento

    O processamento acontece em um servidor da Hetzner na UE (hoje em Nuremberg ou Falkenstein, na Alemanha, ou em Helsinque, na Finlândia), criado para o trabalho. O nosso código se recusa a criar um em qualquer outro lugar. Ele não tem nenhum acesso público à rede: o firewall dele não aceita nenhuma conexão de entrada. Ele lê os seus arquivos ZIP direto do armazenamento e trata algumas memórias de cada vez no próprio disco. Assim que cada memória fica pronta, o arquivo corrigido volta para o armazenamento e as cópias de trabalho são excluídas na hora, então o servidor nunca guarda a sua biblioteca inteira. Quando não há mais trabalho, o próprio servidor é excluído.

  4. O que lemos

    A exportação do Snapchat tem muito mais do que as Memórias. O nosso código abre só a pasta memories/ e os dois arquivos que listam as suas Memórias, memories_history.json e .html, mais chat_media/ se "Salvar também as fotos e vídeos dos meus chats" estiver marcado (fica marcado, a não ser que você desmarque). Todo o resto (chats, amigos, dados da conta, histórico de localização) é ignorado sem ser aberto, e excluído junto com os originais.

    Histórico de chats, só se você incluir. Se "Salvar também as fotos e vídeos dos meus chats" estiver marcado e a sua exportação tiver o histórico de chats do Snapchat (json/chat_history.json), tiramos dele três coisas: o nome de cada conversa (o nome de usuário da outra pessoa no Snapchat, ou o título de um chat em grupo), os IDs que ligam cada foto ou vídeo à sua conversa, e quando cada um foi enviado (uma foto ou um vídeo enviado em vários chats vai para aquele em que foi enviado primeiro). O nosso código lê o arquivo só para tirar essas informações. O texto das mensagens é pulado e nunca é guardado, registrado nem usado. Os nomes de usuário viram nomes de pastas no seu download, no seu Google Drive ou no seu Dropbox, e nunca são gravados nos nossos registros nem nos relatórios de erro.

    É opcional. Sem o histórico de chats na sua exportação, as fotos e os vídeos dos seus chats vão para uma pasta só, em ordem de data, e não há nenhum arquivo de histórico para abrirmos. De qualquer jeito, o arquivo é excluído junto com o resto dos seus originais.

  5. A correção

    Datas, lugares e legendas são restaurados com ferramentas comuns de código aberto: FFmpeg para vídeo, ExifTool para as informações das fotos e vídeos, e Pillow para imagens. Os fusos horários são descobertos a partir das coordenadas de cada memória com um mapa de fusos horários offline, então as suas localizações nunca são enviadas para um serviço de mapas ou de geocodificação. Nenhum modelo de IA roda nas suas mídias, e nada é usado para treinamento.

    Mídia dos chats, organizada. A mídia dos chats do Snapchat muitas vezes tem a mesma foto ou o mesmo vídeo várias vezes (às vezes em outro tamanho ou formato), e um vídeo de Snap com mais de 10 segundos chega em arquivos separados de 10 segundos. Para salvar cada um uma vez só e juntar as partes de novo, o nosso código reduz alguns quadros de cada arquivo para 64×64 pixels no servidor de processamento e compara as cores. É só aritmética, não IA: nada na imagem é reconhecido ou marcado, e as cópias pequenas são jogadas fora assim que a comparação termina. As mensagens de voz (som sem imagem) são salvas como arquivos de áudio.

  6. Recebendo de volta

    Os links de download são assinados e expiram depois de 15 minutos; a página de resultados busca links novos sem você perceber. Se você enviar as suas memórias para o Google Fotos, o Google Drive ou o Dropbox, um processo separado em segundo plano no nosso servidor de API faz o envio com o acesso que você deu, e depois o descarta (detalhes abaixo).

  7. Exclusão

    Seus originais são excluídos assim que o processamento termina. Os arquivos corrigidos são excluídos 72 horas depois de ficarem prontos, ou na hora quando você toca em "Excluir meus arquivos agora". A tabela abaixo tem os detalhes e as garantias extras.

Prazos de exclusão

A exclusão acontece de três jeitos: pela própria exportação quando ela termina, por uma tarefa de limpeza que roda a cada 5 minutos, e por regras de ciclo de vida do armazenamento, como última linha de defesa que não depende do nosso código.

O quê Quando é excluído Garantia extra
A exportação que você enviou Assim que o processamento termina Tarefa de limpeza: no máximo 24 h. Regra do armazenamento: tudo com mais de 1 dia.
Fotos, vídeos e mensagens de voz corrigidos, downloads em ZIP 72 h depois de ficarem prontos Regra do armazenamento: tudo com mais de 4 dias.
Envios que você começou e não terminou Quando você toca em "Começar de novo", ou quando a página de envio fica fechada ou sem conexão por 2 horas (depois de 20 minutos mandamos um único e-mail explicando como continuar) Tarefa de limpeza depois de 24 h, no máximo; a regra do armazenamento cancela envios inacabados depois de 1 dia.
Cópias de trabalho no servidor de processamento Assim que cada memória fica pronta O servidor inteiro é excluído depois de 15 minutos parado.
Seu e-mail e os detalhes da exportação Junto com os seus arquivos, depois de um último e-mail de "arquivos excluídos" se as suas memórias foram corrigidas A mesma tarefa de limpeza. Fica um registro anônimo (contagens, tamanhos, tempos).
Acesso ao Google ou ao Dropbox Quando o envio termina Também quando a exportação é excluída, mesmo no meio do envio.
Seu endereço IP Nunca é guardado. Só fica um hash com chave, para limitar pedidos. As linhas de hash são excluídas depois de 24 h.

"Excluir meus arquivos agora" apaga na hora os seus arquivos, o seu e-mail e tudo o mais sobre você, e cancela qualquer entrega em andamento. O que fica é um registro anônimo da exportação (contagens, tamanhos e tempos) que não pode ser ligado a você.

Onde tudo funciona

Fornecedor O que faz para nós Onde
Cloudflare R2 Guarda os seus envios e os arquivos corrigidos, criptografados em repouso UE (bucket com jurisdição da UE)
Hetzner Servidores que processam os seus arquivos e rodam a nossa API UE: Alemanha e Finlândia (servidor da API na Alemanha)
Neon Banco de dados: status da exportação, seu e-mail, nomes de arquivo e contagens Frankfurt, Alemanha
Cloudflare Serve este site, conecta à nossa API, verificação contra robôs Rede mundial; nenhum conteúdo de arquivo
Resend Envia os nossos e-mails, da sua região na UE, com o rastreamento de aberturas e cliques desligado Recebe só o seu e-mail e a mensagem
Umami Conta as visitas às páginas, sem cookies UE; só os endereços das páginas, nunca os seus arquivos

O nosso servidor de API não tem nenhuma porta aberta para a internet. Os pedidos só chegam a ele por um Cloudflare Tunnel de saída, e o firewall dele bloqueia todo o resto.

Quem pode ver o quê

O seu link privado

Não existem contas. A sua página de resultados é protegida por um segredo no link que mandamos por e-mail: um valor de 256 bits derivado da exportação com uma chave guardada no servidor. Guardamos só um hash SHA-256 dele, então nem uma cópia do nosso banco de dados teria links que funcionam. O segredo fica depois do # no endereço, uma parte que os navegadores nunca mandam para os servidores web, então ele não aparece nos registros do site. Qualquer pessoa com o link pode ver os seus resultados, então trate o link como uma senha.

Nós

Não temos nenhuma ferramenta para ver os seus arquivos, e os nossos processos nunca os abrem para nada além de corrigi-los. Os nossos registros nunca contêm nomes de arquivo, datas das memórias, lugares, links ou e-mails: um filtro tira tudo isso antes de qualquer coisa ser gravada. Mas, tecnicamente, alguém com as chaves da nossa infraestrutura poderia chegar aos arquivos guardados enquanto eles existem. É exatamente por isso que eles são excluídos tão rápido.

Aceitar receber e-mails

Se você marcar a opção para receber um e-mail quando a biblioteca de fotos for lançada, o seu endereço fica em uma lista separada, longe da sua exportação, até o lançamento. Peça em support@backupmemories.com e nós o removemos.

Um pedido de "Lembrar" é uma linha com o seu endereço e uma data de envio, em uma tabela só para isso. Uma tarefa de limpeza no nosso servidor manda os lembretes do dia a cada poucos minutos e exclui cada linha assim que o e-mail sai. Se o e-mail não puder ser enviado depois de 3 tentativas, com uma hora entre elas, a linha é excluída mesmo assim. Um lembrete por endereço: pedir de novo só muda a data.

Permissões do Google e do Dropbox

Pedimos a permissão mais restrita que cada serviço oferece para adicionar arquivos.

Destino Permissão que pedimos O que ela permite
Google Drive drive.file Criar arquivos e ver só os arquivos que nós criamos. Nada mais no seu Drive.
Google Fotos photoslibrary.appendonly Adicionar fotos e vídeos a um álbum novo. Não conseguimos ver a sua biblioteca.
Dropbox Pasta do app, files.content.write Gravar só em Apps/BackupMemories.

Enquanto uma entrega acontece, o token de acesso dela fica guardado criptografado (Fernet: AES-128 com um HMAC) e só é usado pelo processo de envio. Quando o envio termina, falha ou é cancelado, o token é excluído do nosso banco de dados e revogado no Google ou no Dropbox, então o acesso acaba do lado deles também. O nosso uso de informações das APIs do Google segue a Google API Services User Data Policy, incluindo os requisitos de uso limitado (Limited Use).

O próprio site

  • Estatísticas: Umami, na UE, sem cookies. Ele recebe o endereço da página só até qualquer "#" ou "?", então a chave privada do link da sua exportação nunca chega até ele, e ele só roda em backupmemories.com. Ele nunca recebe suas fotos, vídeos, nomes de arquivo, e-mail ou detalhes das memórias. Nenhum script de publicidade.
  • Etapas que contamos. Para sabermos onde as pessoas travam, o Umami também fica sabendo quando uma destas coisas acontece, com nada além das palavras mostradas: guide-choice (memories ou with-chat), upload-started (o número de arquivos ZIP, e uma faixa de tamanho como "de 5 a 20 GB", nunca o tamanho exato), upload-finished, results-opened, job-failed (o motivo, como uma das nossas palavras fixas, por exemplo export_modified), destination-chosen (qual forma de salvar), recap-shared (compartilhar ou baixar), reminder-set (para daqui a 1, 3 ou 7 dias), waitlist-joined, files-deleted e review-opened. Elas não ficam ligadas ao seu e-mail, à sua exportação nem aos seus arquivos. Você pode conferir: abra as ferramentas de desenvolvedor do navegador, vá até a aba Rede (Network) e filtre por "umami". Todo pedido que mandamos está lá, com tudo o que ele leva.
  • Fontes e imagens vêm do nosso próprio domínio, então abrir uma página não entra em contato com o Google nem com nenhum serviço de fontes ou imagens.
  • Verificação contra robôs: Cloudflare Turnstile, que roda em segundo plano na página de envio em vez de mostrar quebra-cabeças de imagens.
  • Continuar um envio: a página de envio lembra o seu envio inacabado no seu aparelho, no armazenamento do próprio navegador. Isso nunca é mandado para nós, e é apagado quando o envio termina.
  • Idioma: quando você escolhe um idioma (no aviso ou no rodapé), o seu navegador guarda isso no próprio armazenamento para não perguntarmos de novo. Isso nunca é mandado para nós.

O que não podemos prometer

  • Depois que você envia as memórias para o Google Fotos, o Google Drive ou o Dropbox, ou as baixa, essas cópias seguem as regras desse serviço ou ficam por sua conta. Não conseguimos excluí-las por você.
  • Os e-mails passam pelo Resend e pelo seu próprio provedor de e-mail.
  • Qualquer pessoa com quem você compartilhar o seu link privado pode ver e baixar os seus resultados até eles serem excluídos.

Esta página explica como o sistema funciona; a política de privacidade é a declaração formal dos seus direitos. Alguma dúvida? Escreva para support@backupmemories.com.