Como o DocDocDoc mantém seu Google Doc privado
Privacidade em ferramentas de escrita geralmente significa uma coisa simples: a empresa precisa manter uma cópia do seu documento ou a ferramenta pode funcionar sem nunca ver o corpo do documento? DocDocDoc é construído em torno da segunda ideia.
A versão curta
Seu documento é comunicado diretamente entre seu navegador e o Google. O servidor DocDocDoc é usado para autenticação, atualização de sessão, pequenos pedaços de estado do usuário e impressões digitais de documentos. Não é usado como back-end de armazenamento de documentos.
O que muitas ferramentas de nuvem fazem
Muitas ferramentas de escrita usam um servidor central como local onde o documento fica. Seu navegador carrega o conteúdo, o serviço o armazena e as edições futuras são lidas nesse mesmo back-end. Esse modelo é conveniente para alguns produtos, mas significa que o operador do serviço deve ser capaz de ler e reter o documento completo.
DocDocDoc intencionalmente não é esse tipo de sistema. O aplicativo é executado no seu navegador, mas o documento em si permanece no fluxo do Google Docs. O navegador se comunica com as APIs do Google para carregar e salvar o arquivo. DocDocDoc não fica no meio como um cofre de conteúdo.
O que acontece no login
Quando você conecta o Google, o retorno de chamada do OAuth troca o código de autorização por tokens. O cookie de sessão retornado é criptografado e marcado como httpOnly, portanto, o JavaScript da sua página não pode simplesmente ler o token de atualização fora do armazenamento.
Esse cookie de sessão é como o servidor mantém a conexão atualizada. Quando o token de acesso expira, o servidor usa o token de atualização para obter um novo token de acesso do Google. A parte importante é que isso mantém a autenticação ativa sem tornar o documento em si um ativo do lado do servidor.
O que você pode ver na guia Rede
Abra o DevTools, mude para a guia Rede e filtre por docdocdoc.net. Você deve ver primeiro o shell da página e os ativos estáticos, depois pequenas solicitações de aplicativos, como verificações de autenticação e sincronização de estado do usuário.
- O HTML inicial, scripts, estilos e imagens que fazem o aplicativo carregar.
/api/auth/sessionquando o aplicativo verifica ou atualiza a sessão conectada./api/auth/user-settingsquando você altera configurações que precisam persistir./api/auth/document-fingerprintsquando um documento é salvo, registra uma impressão digital para reconhecimento posterior.
O que você não deve ver é o corpo real do documento sendo enviado ao DocDocDoc como uma cópia armazenada. O caminho do conteúdo é do navegador para o Google e do Google de volta para o navegador, com o DocDocDoc lidando apenas com a camada fina ao seu redor.
| Feature | Servidor DocDocDoc | Seu navegador | |
|---|---|---|---|
| Texto do documento | ✕ | ✓ | ✓ |
| Sessão OAuth criptografada e fluxo de atualização | ✓ | ✓ | △ |
| Configurações do usuário e preferências da IU | ✓ | ✕ | ✓ |
| Impressão digital do documento para reconhecimento de reabertura | ✓ | ✕ | ✓ |
O que é a impressão digital e o que não é
Ao salvar, o editor gera uma assinatura de documento e faz hash com SHA-256 antes de enviá-lo ao servidor DocDocDoc. O servidor armazena esse hash junto com o ID do documento e alguns metadados para que o aplicativo possa reconhecer o mesmo documento posteriormente.
Um hash não é o documento. É uma impressão digital unilateral. Não existe uma chave privada que transforme o hash armazenado de volta no texto original, porque hash não é criptografia. A criptografia é reversível com a chave certa; um hash deve ser irreversível.
Isso significa que o hash pode nos dizer se já vimos a mesma assinatura antes, mas não pode ser descompactado no corpo do documento. É útil para identificação e comparação, não para reconstrução.
Por que isso ainda ajuda a privacidade
A impressão digital permite que o aplicativo lembre que já viu um documento, o que ajuda no reconhecimento de reabertura, verificações de cópia segura e rastreamento de uso. Mas o limite de privacidade permanece intacto porque o que está sendo armazenado é um identificador embaralhado, e não o conteúdo que um ser humano leria.
Se você está tentando determinar se o DocDocDoc está agindo como um arquivo de documentos oculto, a resposta é não. O aplicativo pode lembrar que um documento existia e como ele foi reconhecido, sem reter o documento em si.
O que fica do lado da cerca do Google
O tráfego real de carregamento e salvamento de documentos passa pelas APIs do Google. É aí que o conteúdo pertence. DocDocDoc não precisa espelhar o arquivo em sua própria camada de armazenamento apenas para fornecer uma superfície de edição mais ampla.
Em termos práticos, isso significa que o documento pode ser editado no DocDocDoc enquanto a fonte da verdade continua sendo o Google Doc que você já possui e espera ver no Google Drive.
Como verificar você mesmo
Se você quiser verificar a reivindicação em vez de confiá-la, use a guia Rede e inspecione as solicitações uma por uma. Você também pode filtrar por docdocdoc.net e confirme se as solicitações de propriedade do aplicativo são para autenticação, configurações e impressões digitais, e não para corpos de documentos.
Depois filtre por googleapis.com se você quiser ver o transporte real do documento. É aí que residem as chamadas de API relacionadas ao conteúdo.
Quer o modelo de privacidade na prática? Abra o DocDocDoc e inspecione o tráfego de rede enquanto você edita.
Resultado final
DocDocDoc foi projetado para que o servidor nunca precise se tornar uma segunda cópia do seu documento. O servidor ajuda você a fazer login, permanecer conectado, armazenar algumas pequenas preferências e lembrar as impressões digitais dos documentos. O próprio conteúdo do documento fica entre o seu navegador e o Google.
Essa é a promessa de privacidade em linguagem simples: o aplicativo pode ser útil sem se tornar o lugar onde reside sua escrita.
Veja você mesmo o fluxo de trabalho
Abra o editor, conecte o Google e observe como o aplicativo permanece focado no espaço de trabalho enquanto o documento flui pelo Google.