# Explicação sobre a Criptografia AES-GCM Local-First no NoteRich: Seus Dados, Suas Chaves Num mundo digital onde as violações de dados são cada vez mais comuns, suas notas pessoais, ideias e diários merecem o mais alto nível de proteção. No **NoteRich**, acreditamos que a privacidade não é apenas uma funcionalidade – é um direito fundamental. Como aplicativo de anotações **Local-First**, o NoteRich garante que seus dados fiquem exclusivamente em seu dispositivo. Mas o que acontece quando você precisa fazer backup de seu banco de dados ou compartilhar notas entre dispositivos? É aqui que nossa implementação da **Criptografia AES-GCM** entra em ação, oferecendo segurança de nível militar para seus dados durante o transporte e quando estão armazenados. --- ## 🛡️ A filosofia Local-First combinada com segurança real O NoteRich armazena suas notas localmente, usando bancos de dados avançados do navegador. Isso significa que você pode acessar, editar e pesquisar suas notas mesmo sem conexão à internet. No entanto, quando você decide exportar todo o seu workspace para um arquivo `.nrs` ou sincronizar seu banco de dados com outro dispositivo por meio de **P2P (Peer-to-Peer)**, seus dados deixam a segurança do armazenamento local. Para garantir que seus dados permaneçam completamente privados durante essas operações, o NoteRich utiliza **Criptografia End-to-End (E2EE)**. Mesmo que um arquivo exportado seja carregado em uma nuvem pública ou interceptado durante uma transferência P2P, será matematicamente impossível ler os dados sem sua senha. --- ## 🔐 Como o NoteRich protege seus dados Quando você escolhe criptografar um arquivo de exportação ou compartilhar por P2P, o NoteRich utiliza um processo de segurança em duas etapas, criado para equilibrar a máxima segurança com uma experiência de usuário sem problemas. ### 1. Derivação de Chaves PBKDF2 As senhas digitadas pelos usuários são vulneráveis a ataques de força bruta se não forem preparadas corretamente. O NoteRich utiliza **PBKDF2 (Função de Derivação de Chaves Baseada em Senha 2)** para transformar sua senha simples em uma chave criptográfica robusta de 256 bits. Esse processo adiciona um “salte” único e milhares de iterações, tornando extremamente lento e computacionalmente caro para os hackers adivinhar sua senha. ### 2. Criptografia AES-GCM Uma vez que a chave é derivada, o NoteRich criptografa seus dados usando **AES-GCM (Advanced Encryption Standard - Galois/Counter Mode)**. * **AES** é o padrão global para proteger dados governamentais e financeiros de alto risco. * **GCM** não apenas criptografa os dados, mas também fornece *autenticação*. Isso significa que, se até mesmo um único bit do arquivo criptografado for alterado ou corrompido, o NoteRich detectará imediatamente e impedirá a importação, protegendo você de modificações maliciosas. --- ## 🔄 O fluxo de criptografia: Um guia visual Vamos ver como seus dados são protegidos dentro do ecossistema do NoteRich. ```mermaid graph TD A[Seu Dispositivo / IndexedDB Local] -->|Acesso Local Não Criptografado| B(Editor do NoteRich) subgraph Exportação e Sincronização Seguras B -->|Exportar para .nrs| C{Definir Senha?} C -->|Sim| D[PBKDF2 + AES-GCM] D --> E[Arquivo de Backup Criptografado] B -->|Sincronização de Banco de Dados P2P| F{Ativar Senha?} F -->|Sim| G[PBKDF2 + AES-GCM] G --> H[Stream P2P Criptografado] end E --> I[Armazenamento Seguro na Nuvem / Dispositivo Externo] H --> J[Dispositivo Destinado] style D fill:#e0f2fe,stroke:#0284c7,stroke-width:2px style G fill:#e0f2fe,stroke:#0284c7,stroke-width:2px ``` --- ## 🌐 Casos de Uso: Quando a criptografia acontece? O NoteRich lhe dá controle total sobre quando aplicar a criptografia. Aqui estão os principais cenários em que o AES-GCM protege sua base de conhecimento: ### 📦 Exportação de Banco de Dados Criptografado (.nrs) Se você estiver fazendo backup de suas notas para um disco rígido externo ou carregando-as em um armazenamento em nuvem pessoal, você pode ativar a opção **“Definir Senha”** durante a exportação. O arquivo `.nrs` resultante está completamente desordenado. Só alguém com a senha correta pode desbloquear e restaurar o workspace. ### 📡 Compartilhamento Seguro P2P O NoteRich suporta sincronização direta de dispositivo para dispositivo usando tecnologia P2P. Embora o P2P já evite servidores centrais, adicionar um nível de senha garante **Segurança de Confiança Zero**. * Você gera um link seguro ou código QR contendo o fluxo criptografado. * O dispositivo receptor deve inserir a senha exata para descriptografar os blocos de dados recebidos. * Isso é perfeito para compartilhar notas confidenciais ou anotações de projetos proprietários entre seus próprios dispositivos, sem se preocupar com sniffing de rede. --- ## 🛑 A garantia de “Zero-Knowledge” Um dos aspectos mais importantes da criptografia do NoteRich é que **nós não sabemos nada sobre seus dados**. ```mermaid sequenceDiagram participant U como Usuário participant N como Aplicativo NoteRich participant F como Arquivo Criptografado / P2P U->>N: 1. Digite a Senha N->>N: 2. Derivar Chave (PBKDF2) N->>N: 3. Criptografar Dados (AES-GCM) N->>F: 4. Salvar / Transmitir Note sobre F: 🔒 Dados são ilegíveis e sem sentido U->>N: 5. Importar / Receber Dados U->>N: 6. Digite a Senha N->>N: 7. Derivar Chave e Verificar Integridade N->>U: 8. Acessar Notas Restauradas ``` Como a criptografia e descriptografia acontecem inteiramente no ambiente seguro do seu navegador, os servidores do NoteRich nunca veem sua senha, nem têm a capacidade de descriptografar seus arquivos. **Você é o único dono de suas chaves.** --- ## 💡 Práticas recomendadas para usuários do NoteRich Para aproveitar ao máximo as funcionalidades de segurança do NoteRich, lembre-se dessas dicas: 1. **Use Senhas Fortes**: Como o NoteRich não armazena sua senha, perder ela significa perder acesso aos arquivos criptografados. Use um gerenciador de senhas para gerar e armazenar senhas complexas. 2. **Verifique a Integridade**: Se uma importação criptografada falhar com o erro “Senha incorreta” ou “Dados corrompidos”, é porque a autenticação AES-GCM está funcionando perfeitamente para protegê-lo de arquivos adulterados. 3. **Aproveite os Workspaces**: Combine a isolação do Workspace do NoteRich com exportações criptografadas para manter ambientes separados e altamente seguros para notas pessoais e profissionais. --- ## 🎯 Conclusão A privacidade não deve ser um compromisso. Com a **arquitetura Local-First do NoteRich** e a **Criptografia AES-GCM**, você obtém o melhor de dois mundos: o desempenho rápido do armazenamento local e a segurança inquebrável da criptografia moderna. Seja arquivando seu trabalho ou sincronizando notas entre dispositivos, o NoteRich garante que seus pensamentos permaneçam seus – e apenas seus. --- <div class="flex flex-wrap gap-2 mt-8 mb-12"> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Local-First</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">AES-GCM</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Privacidade</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Criptografia End-to-End</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Sincronização P2P</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">Segurança de Dados</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">NoteRich</span> </div>