Skip to content

Sincronização & Armazenamento

O Noust prioriza a soberania dos dados. Seus dados são seus, e você decide para onde eles vão.

Exportação & Importação

Leve seus dados com você em um formato padrão.

  • Exportação: Gera um pacote binário .npad contendo todas as notas, seções, configurações e variáveis de ambiente. Este formato é altamente otimizado e suporta ativos binários incorporados (como imagens). Recomendamos criptografar o arquivo durante a exportação para segurança máxima.
  • Importação: Restaura seu espaço de trabalho a partir de um arquivo .npad exportado anteriormente ou de um arquivo .json legado.
  • Nota: A importação substituirá sua sessão ativa atual.

Arquitetura de Armazenamento

O Noust usa uma abordagem em camadas de alto desempenho para persistência local para garantir máxima confiabilidade e soberania de dados.

  1. Mecanismo Primário (IndexedDB): Nosso banco de dados local principal. Os espaços de trabalho são particionados de forma isolada (workspace_{id}), suportando grandes conjuntos de dados e ativos binários, permitindo Criptografia Local (At-Rest / Em Repouso).
  2. Salvamento Automático Nativo e Contínuo (Auto-Save): A persistência de dados é contínua, automática e sempre ativa em segundo plano. Todas as alterações em notas, layout do canvas, documentos do Nexus e configurações são salvas de forma assíncrona sem bloquear a thread principal da interface.
  3. Alternativa (LocalStorage): Usado apenas como rota de recuperação em caso de falha se o navegador bloquear o acesso ao IndexedDB. Nota: A criptografia local não está disponível no modo alternativo devido a limites de armazenamento.

Particionamento Multi-Workspaces & Sincronização Multi-Abas (Event Storage)

  • Isolamento de Workspaces: Cada espaço de trabalho mantém sua própria partição de armazenamento dedicada. Alternar ou excluir um workspace carrega ou remove de forma limpa seus nós do canvas, snapshots posicionais e metadados de workspaces em nuvem sem afetar os outros workspaces.
  • Alternância de Sincronização Multi-Abas: Você pode personalizar o comportamento em Configurações > Comportamento:
    • Ativado (Padrão): Edições e trocas de workspace propagam em tempo real por todas as abas abertas via Event Storage / BroadcastChannel.
    • Desativado: Transforma cada aba do navegador em uma sessão independente, permitindo trabalhar em espaços de trabalho diferentes lado a lado em abas separadas sem interferência mútua, com o salvamento automático garantindo a gravação de todos os dados no disco.

Sincronização em Nuvem

Nossa sincronização em nuvem é construída sobre uma Arquitetura Zero-Knowledge (Conhecimento Zero). Isso significa que nós fornecemos o armazenamento, mas nunca vemos seus dados.

Como Funciona

  1. Empacotamento Binário: Os dados e ativos do seu espaço de trabalho são compactados em um envelope binário .npad para minimizar a pegada de dados e eliminar o processamento desnecessário do Base64.
  2. Criptografia Local: Os dados são criptografados no seu navegador usando AES-256-GCM.
  3. Blob Criptografado: Apenas o "blob" criptografado é enviado para os nossos servidores.
  4. Retenção de Chaves: As chaves (sua senha e o salt opcional) nunca saem do seu dispositivo.
  5. Dessincronizar: Colaboradores ou proprietários podem dessincronizar um workspace compartilhado a qualquer momento. Isso corta o link na nuvem, preservando uma cópia privada e totalmente editável no seu espaço de trabalho local.

Ações do Workspace na Nuvem

  • Sync (anteriormente "Save"): Envia e sincroniza as alterações locais do seu workspace na nuvem. Ao criar um novo workspace pela primeira vez, esta ação é rotulada como Send (ou Sync).
  • Load: Abre e carrega um workspace da sua lista na nuvem para a sua sessão ativa.
  • Sync (anteriormente "Auto-Sync"): Alterna a sincronização automática em segundo plano para o workspace ativo.

Detecção de Atualizações e Indicadores Visuais

O Noust verifica continuamente o estado de atualização dos seus workspaces nos seus dispositivos. As verificações ocorrem tanto manualmente (ao clicar em Refresh na lista de workspaces ou ao abrir o painel de Sincronização em Nuvem) quanto automaticamente (ex.: ao reconectar à internet, ao retornar do modo de suspensão do sistema ou ao voltar após um período prolongado de inatividade).

Quando uma versão mais recente do seu workspace é detectada na nuvem, o Noust alerta você em 3 locais distintos da interface:

  1. Ícone no Cabeçalho Global: O ícone de Sync na barra de ferramentas principal exibe um indicador de notificação.
  2. Badge na Lista de Workspaces: Um ponto indicador vazado é exibido ao lado do workspace em Meus Workspaces na Nuvem ou Compartilhados comigo.
  3. Aviso no Formulário de Nuvem: O botão de ação "Updates Available" é exibido dentro do painel de gerenciamento do workspace ativo.

Fusão Inteligente (3-Way Line Merge) e Proteção de Conflitos

Ao puxar atualizações de outro dispositivo, o Noust realiza uma fusão automática linha por linha em 3 vias (3-way merge) abrangendo notas, seções, objetivos e metadados de topologia:

  • Prevenção de Conflitos: Para evitar que você sobrescreva acidentalmente alterações feitas em outro dispositivo, o Noust bloqueia operações manuais de Sync sempre que atualizações remotas ou conflitos não resolvidos forem detectados. Você deve puxar e resolver as alterações remotas antes de enviar dados locais.
  • Resolução Granular de Conflitos: Se houver colisões de edições na mesma linha exata, o Noust abre um modal interativo de resolução de conflitos, permitindo selecionar linha por linha qual versão (Local vs. Nuvem) preservar.

Auto-Update (Plano de Assinatura Pago)

Usuários em planos pagos têm acesso ao Auto-Update, que automatiza a sincronização em segundo plano sem interromper seu fluxo de trabalho:

  • Download e Merge Automatizados: Quando uma atualização remota é detectada e não existem conflitos estruturais, o Noust baixa e realiza o merge da versão remota automaticamente em segundo plano.
  • Segurança e Verificação de Senha: O Auto-Update funciona perfeitamente desde que o Sync esteja ativo e a sua sessão local esteja descriptografada com a mesma senha de segurança do workspace remoto.
  • Proteção contra Interrupção na Digitação: Para evitar colisões ou saltos do cursor enquanto você escreve, o Auto-Update aguarda um breve período de inatividade na digitação do editor antes de aplicar o merge silencioso.
  • Notificações Discretas: Uma notificação sutil confirma quando uma atualização automática em segundo plano foi concluída com sucesso.
  • Bloqueio de Segurança em Conflitos: Se ocorrer um conflito estrutural durante uma atualização automática, o Noust interrompe o merge automático para proteger seus dados, sinaliza o workspace com um aviso de atualização e solicita que você resolva o conflito manualmente.

Indicadores Visuais

O ícone de Nuvem aparece no cabeçalho global para indicar que o workspace ativo está sincronizado com a nuvem. Quando o ícone de nuvem está preenchido, isso indica que o Auto-Update está ativado para este workspace.

Requisitos de Descriptografia

Para restaurar seus dados a partir de outro dispositivo, você deve fornecer:

  • Sua Senha de Criptografia.
  • Seu Salt Personalizado (se utilizado).

Importante

Não existe nenhum mecanismo para recuperar seus dados se você perder sua senha ou salt. Nós não os armazenamos e não podemos redefini-los para você.

Colaboração & Workspaces Compartilhados

O Noust permite que você compartilhe workspaces específicos na nuvem com outros usuários.

  • Compartilhamento Seletivo: Compartilhe apenas os workspaces que você escolher.
  • Proteção contra Descoberta (Baseado em Usernames): O compartilhamento é intencionalmente restrito apenas a usernames exatos. Evitamos estritamente e-mails pesquisáveis ou listas públicas para garantir que sua presença no Noust nunca seja detectada ou "enumerada" por terceiros.
  • Papéis de Colaboradores: Cada colaborador pode receber um de dois papéis:
    • Leitor (Reader): Pode sincronizar e visualizar o workspace compartilhado em modo somente leitura.
    • Editor: Pode sincronizar o workspace e enviar alterações locais para revisão do proprietário.
  • Gerenciar Papéis e Revogar Acesso: Como proprietário do workspace, você pode alterar o papel de um colaborador (Leitor/Editor) ou revogar o acesso a qualquer momento. Ao promover para Editor, a confirmação é autenticada através do modal de credenciais.

Atualizações de Colaboradores & Revisão do Proprietário

Quando um colaborador Editor envia alterações, o proprietário do workspace recebe uma notificação de atualização pendente no painel de Colaboradores.

  • Painel de Atualizações Pendentes: O proprietário visualiza quantas atualizações estão pendentes, quem as enviou, o tamanho e a data/hora.
  • Revisão Provisória: Ao clicar em Revisar, as alterações do colaborador são carregadas no workspace para inspeção visual. O proprietário visualiza o resultado mesclado diretamente no editor antes de tomar uma decisão.
  • Aceitar ou Descartar: Após revisar, o proprietário pode:
    • Aceitar Tudo: Aplica e salva as alterações mescladas no workspace na nuvem.
    • Descartar Tudo: Restaura instantaneamente o workspace ao seu estado original, sem aplicar alterações. Nenhum dado local é perdido.
  • Excluir sem Revisar: O proprietário também pode excluir uma atualização pendente diretamente pelo painel sem abri-la.

Tratamento de Conflitos

Se tanto o proprietário quanto o colaborador alterarem a mesma nota ou linha, o Noust realiza automaticamente um 3-way merge. Quando um conflito não puder ser resolvido automaticamente, marcadores de conflito são exibidos diretamente no texto para que o proprietário tome uma decisão informada antes de aceitar ou descartar.

Criptografia de Ponta a Ponta (Zero-Knowledge Sharing)

Os workspaces compartilhados mantêm a mesma garantia de Zero-Knowledge dos workspaces pessoais. A senha do workspace é entregue aos colaboradores através de um Envelope E2EE criptografado — selado com a chave pública E2EE do colaborador.

  • Autorização do Colaborador & Exigência de Senha: Ao autorizar um colaborador, o proprietário deve informar a mesma senha de criptografia (e salt) utilizada no workspace. O navegador criptografa essas credenciais no Envelope E2EE usando a chave pública do destinatário.
  • Entrega por Envelope: O servidor nunca tem acesso à senha do workspace, às chaves privadas ou ao conteúdo legível.
  • Validação de Credenciais (keyVerifier): Quando um Editor envia um update, o servidor valida uma hash SHA-256 (keyVerifier) derivada da senha e salt do workspace. Isso garante que o colaborador está usando exatamente a mesma senha e salt originais definidos pelo proprietário antes de aceitar o envio.
  • Atualização de Chaves dos Colaboradores (Update Keys): Se o proprietário trocar a senha ou salt de um cloud workspace que já havia sido compartilhado anteriormente, os colaboradores perderão o acesso, pois seus envelopes foram criptografados com as credenciais antigas. O proprietário pode restaurar o acesso a qualquer momento clicando no botão Update Collaborator Keys (o ícone de chave no card de Colaboradores ou marcando a opção "Update collaborator keys on sync" no painel de Sincronização), re-criptografando os envelopes e atualizando o keyVerifier para todos os colaboradores de uma só vez.
  • Requisito de Desbloqueio do Cofre: Os colaboradores precisam estar com o Cofre E2EE desbloqueado (em Perfil > Segurança) para descriptografar envelopes e acessar workspaces compartilhados.

Transparência Criptográfica

  • Workspaces Privados e Modo Leitor (Reader): Operam em Zero-Knowledge absoluto — nenhuma credencial, hash ou pista criptográfica é enviada ou armazenada no servidor.
  • Validação Exclusiva para Editores: Apenas quando o proprietário concede permissão de Editor a um colaborador, uma hash unidirecional SHA-256 (senha + salt) é registrada temporariamente como keyVerifier. Ela serve exclusivamente para que o servidor consiga validar se os colaboradores com papel de Editor estão submetendo alterações com as credenciais de criptografia corretas (senha e salt), sem que o servidor jamais conheça sua senha real.
  • Atualização Automática no Sync: Sempre que o proprietário sincroniza (Sync / update) um workspace na nuvem, o keyVerifier é atualizado automaticamente no servidor apenas se existir ao menos um colaborador com papel de Editor no respectivo workspace.
  • Ciclo de Vida Estrito: Essa hash fica associada ao workspace na nuvem apenas enquanto houver editores ativos; ao revogar a permissão de editor ou remover um colaborador, o keyVerifier é imediatamente e permanentemente eliminado do servidor caso não reste nenhum outro editor ativo no workspace (ou se o workspace for excluído da nuvem).

Auditoria de Segurança (Plano Avançado)

Os usuários do Plano Avançado ganham acesso a uma trilha de auditoria transparente e focada na privacidade.

  • Logs de Acesso: Monitore seus próprios eventos críticos (Logins, Envio de Dados/Push, Exclusões).
  • Proteção de Privacidade: Os logs identificam a família do dispositivo/sistema operacional e o tipo de ação, mas nunca expõem seu endereço IP público na interface voltada ao usuário.
  • Verificação: Use esses logs para monitorar acessos não autorizados em seus dispositivos.

Gerenciamento & Exclusão de Conta

O Noust oferece um processo seguro de fim de vida para seus dados.

  • Exclusão Lógica (Soft Delete): Quando você solicita a exclusão da conta, o acesso é suspenso imediatamente, mas os dados são retidos por um período de carência de 30 dias para recuperação antes da exclusão irreversível.
  • Mecanismo de Confirmação: Para evitar perdas acidentais, a exclusão requer uma confirmação deliberada digitando seu username correspondente ({username}_delete).
  • Soberania dos Dados: Após 30 dias, sua identidade é excluída, embora alguns metadados possam ser retidos por até 6 meses em logs técnicos criptografados para conformidade legal (LGPD/GDPR) antes da exclusão definitiva e absoluta.