Pular para o conteúdo

Privacidade e Seguranca dos Dados

Privacidade e um valor central do DevLingo. Explicamos detalhadamente como os dados fluem, onde sao armazenados e quem pode acessa-los.

Cenario 1: Consulta unica (sem sincronizacao na nuvem)

Seção intitulada “Cenario 1: Consulta unica (sem sincronizacao na nuvem)”
Passo 1: Voce seleciona "idempotent" no Slack
Passo 2: Pressiona ⌘⇧D
Passo 3: O aplicativo Mac verifica o banco local e o cache
Passo 4: Se nao encontrar, envia a consulta ao Cloudflare Workers (criptografia HTTPS)
A requisicao contem:
- Texto selecionado: "idempotent"
- Contexto (texto antes e depois)
- Identificador do aplicativo (Slack)
- Modo: Word
Passo 5: Workers chama a Claude API
Passo 6: Claude retorna resultado JSON estruturado
Passo 7: Aplicativo Mac recebe o resultado
Passo 8: A menos que o usuario clique em "Salvar", o resultado nao e armazenado
(os dados desaparecem quando a janela flutuante e fechada)
Passos 1-7: Igual acima
Passo 8: Usuario clica em "Save to Word Book"
Passo 9: Dados armazenados no SwiftData local
(completamente no dispositivo, nao sobe para a nuvem)
Passo 10: Sincronizacao do caderno desativada → Fim (apenas local)
Sincronizacao do caderno ativada → Passo 11
Passo 11: Dispositivo do usuario sincroniza com Cloudflare D1
(banco de dados privado do usuario, com autenticacao)

Importante: Qualquer texto enviado pelo DevLingo atraves da Claude API nao sera usado para treinar o Claude ou qualquer outro modelo. Seguimos a politica padrao da Anthropic.

✓ Seu texto e de uso unico
✓ Claude descarta imediatamente apos processar (nao armazena)
✓ Nao e usado para qualquer forma de mineracao de dados

:::note Verificacao Todas as requisicoes da Claude API sao marcadas com “user=”, indicando “estes sao dados do usuario final, nao devem ser usados para treinamento”. :::

Armazenamento local com sincronizacao na nuvem desativada por padrao

Seção intitulada “Armazenamento local com sincronizacao na nuvem desativada por padrao”

O caderno de vocabulario (Word Book) e salvo por padrao apenas no seu Mac, usando SwiftData:

~/Library/Containers/com.devglish.com/Data/
└── default.store/
└── word_entries.db (SQLite local)

Este banco de dados e privado do dispositivo, apenas o aplicativo DevLingo pode acessa-lo.

Se voce deseja sincronizar o caderno de vocabulario entre varios Macs, pode optar por ativar a sincronizacao na nuvem:

Settings → iCloud Sync → Toggle ON

Uma vez ativada, o caderno de vocabulario e carregado criptografado para o Cloudflare D1:

Criptografia: Criptografia do lado do cliente (Curve25519) → Armazenamento no servidor
Autenticacao: Token JWT do usuario (token de seguranca)
Controle de acesso: Cada usuario so pode acessar seus proprios dados
Isolamento: Isolamento em nivel de linha no banco de dados, evitando acesso entre usuarios

:::caution Transferencia de dados Apos ativar a sincronizacao na nuvem, se voce cancelar a assinatura ou excluir a conta, os dados na nuvem serao automaticamente excluidos apos 30 dias. O SwiftData local nao e afetado e permanece no seu dispositivo. :::

O DevLingo segue rigorosamente o principio de “coleta minima”:

✗ Conteudo de codigo (embora voce possa usar no Xcode)
✗ Historico completo de navegacao ou historico de uso de aplicativos
✗ Logs de chat ou conteudo de e-mails
✗ Seu historico Git
✗ Outros arquivos privados no seu dispositivo
✓ O texto que voce selecionou para consulta
✓ 50 caracteres de contexto antes e depois (apenas para compreensao da IA)
✓ Bundle Identifier do aplicativo atual (ajuda a IA a ajustar o estilo)
✓ Configuracao da sua lingua materna (para dicas de interferencia L1)
✓ Conteudo do caderno de vocabulario (apenas quando a sincronizacao na nuvem e ativada explicitamente)

O backend do DevLingo (Cloudflare Workers) possui a chave da Claude API. Seu aplicativo Mac nao precisa expor a chave diretamente, pois faz proxy de todas as requisicoes de API atraves dos Workers.

Mac App Workers (edge)
↓ (HTTPS) ↓
│── Bearer: user_jwt ────────→ │
│ │
│ (validade 1 hora) │ (Claude API Key)
│ │
│← Structured Response ←────── Claude API

Beneficios:

  • A chave nao e armazenada localmente (nao pode vazar)
  • Todas as chamadas de API sao processadas na borda confiavel do Cloudflare
  • Mesmo que seu Mac seja comprometido, a chave permanece segura

O usuario recebe um token JWT de curta duracao ao fazer login (validade de 1 hora):

Algoritmo: HS256 (HMAC SHA-256)
Chave de assinatura: Cloudflare Secret (nao armazenada localmente)
Local de armazenamento: macOS Keychain (criptografia do sistema)
Renovacao: Renovado automaticamente quando esta prestes a expirar

Nivel de seguranca do Keychain:

Vinculado a chave de desbloqueio do iCloud do Mac
Cada acesso exige confirmacao do usuario pelo sistema
Mesmo que alguem roube seu disco rigido, nao consegue ler

Toda comunicacao do Mac para o Cloudflare Workers e criptografada por HTTPS:

TLS 1.3 (protocolo mais recente)
Certificado: LetsEncrypt (renovacao automatica)
Perfect Forward Secrecy (sigilo perfeito para frente)

O sistema de consulta em camadas do DevLingo garante que voce pode usar offline:

No modo aviao, seleciona "idempotent"
Consulta banco de termos tecnicos local (85+ termos) → Sucesso!
Resultado exibido imediatamente, sem necessidade de internet

Apenas nas seguintes situacoes e necessaria internet:

✓ Consultar vocabulario novo nao encontrado no banco local
✓ Sincronizar caderno de vocabulario com a nuvem
✓ Obter cache de audio TTS mais recente

As demais 95% das consultas podem ser completadas totalmente offline.

Se voce decidir excluir sua conta DevLingo:

Passo 1: Settings → Account → Delete Account
Passo 2: O sistema pedira confirmacao novamente
Passo 3: Cloudflare exclui:
- Conta do usuario
- Caderno de vocabulario na nuvem
- Historico de login
- Logs de uso da API
(Exclusao completa apos 30 dias)
Passo 4: Dados locais nao sao afetados
(Permanecem no seu Mac, voce exclui por conta propria)

:::caution Permanencia dos dados Uma vez que a conta e excluida, os dados na nuvem nao podem ser recuperados. Porem voce pode exportar o caderno de vocabulario local como CSV para manter permanentemente. :::

O DevLingo esta em conformidade com as seguintes regulamentacoes:

RegiaoRegulamentacaoStatus
Uniao EuropeiaGDPR (Regulamento Geral de Protecao de Dados)Em conformidade
Estados UnidosCCPA / CPRAEm conformidade
BrasilLGPD (Lei Geral de Protecao de Dados)Em conformidade

:::note Encarregado de Protecao de Dados Se tiver questoes sobre privacidade, entre em contato com [email protected]. Respondemos em 24 horas. :::

A equipe de engenharia do DevLingo realiza periodicamente:

- Auditoria de seguranca de codigo (OWASP Top 10)
- Varredura de dependencias (npm audit, Xcode security)
- Teste de penetracao (terceiros)
- Auditoria de acesso ao banco de dados (quem acessou o que)

Relatorios de auditoria sao publicados trimestralmente com transparencia para os usuarios.


Resumo: O design de privacidade do DevLingo segue o principio de “confianca zero” — assumindo que a rede esta sendo monitorada, assumindo que o dispositivo esta comprometido, mas atraves de criptografia, autenticacao e coleta minima, garante que seus dados estejam sempre sob seu controle.