Claude Code no Obsidian: o que sai do seu computador quando a IA lê o seu vault?

Privacidade do Claude Code no Obsidian começa por um detalhe simples: o vault é uma pasta comum, com notas em Markdown texto puro, legíveis por qualquer ferramenta externa. O que o agente lê entra no contexto e trafega para a API da Anthropic, e ainda sobra uma cópia local em texto puro em ~/.claude/projects/, por 30 dias no padrão do cleanupPeriodDays. Em conta de consumidor tu escolhe se os dados alimentam melhoria do modelo; sob termos comerciais não tem treinamento sem opt-in. A contenção real é onde tu inicia a sessão, regras deny, hook PreToolUse e plan mode
Fala aí, beleza? Para um segundo e pensa no que tem dentro do teu vault agora: diário, nota daquela reunião com cliente, rascunho de ideia que tu ainda não publicou
Agora imagina abrir essa pasta inteira pra um agente que lê arquivo por conta própria
O vault do Obsidian não é um app fechado com banco de dados trancado, é pasta local com arquivos soltos, e é exatamente por isso que ele é tão gostoso de usar com IA
A pergunta que importa não é "a IA consegue ler minhas notas?", ela consegue sim, é isso que tu pediu
A pergunta é: o que desse conteúdo sai da tua máquina, o que fica de rastro nela, e por quanto tempo
Por que um vault do Obsidian é tão fácil de ler quanto qualquer pasta
O vault é uma pasta comum no sistema de arquivos local (documentação oficial do Obsidian sobre armazenamento)
Dentro dela, as notas são arquivos de texto puro em Markdown, e o Obsidian cria uma pasta de configuração .obsidian na raiz
É só isso, não tem mágica
Se tu conhece uma pasta de projeto com arquivos .md de documentação, é a mesma coisa: o vault é aquilo, só que com a tua vida dentro 😅
E aqui vem a consequência prática: como os arquivos são texto puro, qualquer editor, gerenciador de arquivos ou ferramenta externa consegue ler e editar as notas, e o Obsidian recarrega as mudanças feitas de fora
Esse é o mesmo motivo pelo qual o plugin de sincronização com Git funciona, pelo qual tu abre a nota no VS Code, e pelo qual um agente de terminal enxerga tudo sem precisar de API nenhuma
Não tem camada de criptografia no caminho
Pra uma ferramenta externa, ler diario/2026-08-10.md é operacionalmente idêntico a ler src/index.ts
O arquivo não sabe que é íntimo, é só bytes
Se tu ainda está montando esse fluxo, vale ver antes como rodar o Claude Code no vault pra entender o básico da ligação, e depois voltar pra parte chata (e importante) que é esta aqui
Domine o Claude Code do básico ao avançado
Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!
O caminho do dado: do disco ao contexto, e o rastro que fica na sua máquina
Bora seguir o percurso de uma nota, do começo ao fim
1) O agente lê o arquivo. Chamada de ferramenta de leitura, arquivo aberto, conteúdo em memória
2) O conteúdo entra no contexto. Aquilo deixa de ser "um arquivo no disco" e vira parte da conversa
3) O contexto trafega pela rede. Pra funcionar, o Claude Code envia dados para a Anthropic, incluindo os prompts do usuário e as saídas do modelo, e o conteúdo de arquivo que o agente leu entra nesse contexto enviado (está na página de uso de dados do Claude Code)
Ou seja: leu, foi
Não existe leitura "local só pra ele pensar", o que entra no contexto é o que vai pro modelo
4) E aí vem a parte que quase ninguém olha: o rastro local
O Claude Code guarda as transcrições de sessão localmente em texto puro, em ~/.claude/projects/, por 30 dias por padrão, justamente pra te deixar retomar sessão
O formato é JSONL, no caminho ~/.claude/projects/<projeto>/<session-id>.jsonl, em que <projeto> é o caminho do teu diretório de trabalho com os caracteres não alfanuméricos trocados por hífen
Se liga nisso, porque é o ponto central deste post: a transcrição é uma segunda cópia das tuas notas, em texto puro, fora do vault
Tu pode ter o vault num disco separado, numa pasta escondida, com nome inocente
O trecho do diário que o agente leu na terça passada continua legível ali, em ~/.claude/projects/, sem nenhum backup teu envolvido
Esse prazo é ajustável: a retenção local das transcrições é controlada pela configuração cleanupPeriodDays, com padrão de 30 dias
E as settings do Claude Code vivem em três lugares:
~/.claude/settings.json: do usuário, vale pra todos os projetos.claude/settings.json: do projeto, versionado.claude/settings.local.json: do projeto, não versionado
Repara na diferença entre os dois últimos, ela é ULTRA importante quando o "projeto" é o teu vault
Regra de privacidade que tu escreve no arquivo versionado vai junto se aquele vault for pro Git
Retenção e treinamento: conta de consumidor contra termos comerciais
A mesma sessão, o mesmo vault, o mesmo prompt: o destino do dado muda conforme a conta que tu usa
| Conta de consumidor (Free, Pro, Max) | Termos comerciais (Team, Enterprise, API, plataformas de terceiros, Claude Gov) | |
|---|---|---|
| Uso pra melhoria do modelo | Escolha do usuário, e isso inclui as sessões do Claude Code feitas com essas contas | A Anthropic não treina modelos generativos com código ou prompts enviados ao Claude Code, salvo opt-in do cliente |
| Retenção | Até 5 anos em formato desidentificado nos pipelines de treinamento com a opção ligada, 30 dias com ela desligada | Entradas e saídas excluídas automaticamente em até 30 dias, com exceções pra serviços de retenção mais longa, acordos específicos ou obrigação legal e de aplicação da política de uso |
| Retenção zero de dados | Não se aplica | Vale pra APIs elegíveis, produtos com chave de API de organização comercial (incluindo o Claude Code acessado via API) e Claude Code no plano Enterprise |
Uma nota que muda a decisão: a preferência de uso dos dados pra melhoria do modelo pode ser alterada a qualquer momento nas configurações de privacidade da conta Claude
Porém, desligar vale pra conversas e sessões de código novas ou retomadas, e não remove o que já entrou em treinamentos iniciados
Traduzindo pro teu caso: virar a chavinha hoje não desfaz a leitura do diário que rolou mês passado
Ah, e o que NÃO vai junto também importa: o Claude Code envia métricas operacionais como latência, confiabilidade e padrões de uso, e esse registro não inclui código nem caminhos de arquivo
A exportação por OpenTelemetry é opt-in e exige configuração explícita, e conteúdo bruto de arquivo e trechos de código não entram nas métricas e eventos
Auto mode vira padrão em 14 de agosto de 2026: o que muda para quem abre o vault
A partir de 14 de agosto de 2026, o auto mode passa a ser o modo de permissão padrão em novas sessões do Claude Code nos planos Pro, Max e Team (anúncio da Anthropic)
Quem já tinha um modo padrão definido recebe uma notificação única no app e pode voltar atrás
O comportamento: no auto mode o Claude Code prossegue sem pedir aprovação, exceto quando a ação é considerada irreversível, destrutiva ou fora do ambiente do usuário
Um classificador avalia cada chamada de ferramenta na hora
E tem número bom no meio disso: em estudo controlado citado pela Anthropic, revisores humanos identificaram um comando perigoso plantado em 13,6% das vezes, enquanto o auto mode identificou em 89%
De segurança contra estrago, é um ganho difícil de discutir
Mas repara no recorte: o auto mode olha pro que é destrutivo, irreversível ou fora do ambiente
"Ler o diário e mandar pro modelo" não destrói nada, não é irreversível no disco e não sai do teu ambiente de arquivos
É leitura, e leitura é justamente o que tu queria controlar aqui
Menos prompts significa menos pontos onde tu freia uma leitura no susto
Então a contenção sai da tecla ENTER e vai pra configuração, que é o assunto da próxima seção
Como limitar o que o Claude Code enxerga do seu vault
A ideia é montar camadas, da mais grossa pra mais fina, e não confiar em uma só
- Escolhe direito onde tu inicia a sessão. O Claude Code só escreve na pasta onde foi iniciado e nas subpastas dela, e não modifica arquivos em diretórios acima sem permissão explícita. Abrir na subpasta certa já é a maior contenção que existe, de graça. Erro comum: iniciar na raiz do vault por comodidade, porque "aí eu não preciso pensar"
- Entende como funciona a leitura fora do limite. Ler caminhos fora do diretório de trabalho com as ferramentas Read, Grep e Glob é possível depois de um prompt de aprovação. Aquele prompt não é burocracia, é a tua última porta. Erro comum: aprovar no automático, no piloto de "sim, sim, sim"
- Usa
--add-dircom consciência. Dá pra estender o limite de diretórios com--add-dir,/add-dirou a configuraçãoadditionalDirectories, e aí os arquivos ficam legíveis sem prompt, seguindo as mesmas regras de permissão do diretório original
claude --add-dir ../pesquisa
Ou seja: --add-dir não é atalho de conveniência, é tu abrindo mão do pedido de aprovação naquela pasta. Se quiser que o CLAUDE.md e os arquivos de regras do diretório adicionado sejam carregados, precisa definir a variável de ambiente CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD. Erro comum: adicionar a raiz do vault "só pra essa tarefa" e esquecer o que isso desligou
- Regras deny de Read e Edit nas pastas sensíveis. As regras de permissão do Claude Code valem pra Bash, Read, Edit, WebFetch, MCP e as demais ferramentas, e são avaliadas antes de qualquer ferramenta rodar. Aqui vem o detalhe que separa quem configurou de quem acha que configurou: regras deny de Read e Edit valem pras ferramentas de arquivo internas e pros comandos de arquivo que o Claude Code reconhece no Bash (como
cat,head,tailesed), mas não valem pra subprocessos arbitrários que leem arquivos por conta própria, tipo um script Python ou Node. Erro comum: tratar deny como cofre. Ele é porta trancada, não parede
- Lembra do conjunto interno de comandos somente leitura. O Claude Code reconhece um conjunto de comandos Bash como somente leitura e os executa sem prompt de permissão em qualquer modo, entre eles
ls,cat,echo,pwd,head,tail,grep,find,wc,which,diff,stat,du,cde formas somente leitura dogit. Olha a lista de novo:categrepestão lá. Pra um vault de texto puro, isso é o suficiente pra ler tudo
- Hook PreToolUse como trava dura. Um hook
PreToolUsepode cancelar uma chamada de ferramenta devolvendohookSpecificOutputcompermissionDecisionigual a"deny"e umpermissionDecisionReason, ou saindo com código 2 e escrevendo o motivo nostderr
{
"hookSpecificOutput": {
"permissionDecision": "deny",
"permissionDecisionReason": "pasta do diario fora do escopo desta sessao"
}
}
A vantagem do hook é ser código teu: tu decide a regra, não depende de casar um padrão de caminho na mão
- Sandbox pro que roda no Bash. As restrições de sistema de arquivos do sandbox combinam as configurações de
sandbox.filesystemcom as regras deny de Read e Edit, e o sandbox se aplica apenas a comandos Bash e seus processos filhos. É aqui que tu tapa parte do buraco do passo 4, o dos subprocessos. Erro comum: achar que sandbox cobre as ferramentas internas também
- Plan mode pras sessões de exploração. O plan mode faz o Claude pesquisar e propor mudanças sem executá-las: ele lê arquivos, roda comandos de exploração e escreve um plano, mas não edita o código. Entra com
Shift+Tabou prefixando o prompt com/plan. Tome cuidado com a leitura errada disso: plan mode protege as tuas notas de serem alteradas, não de serem lidas. Pra privacidade, ele resolve metade do problema
- Ajusta o rastro local. Diminui o
cleanupPeriodDaysse 30 dias de transcrição em texto puro te incomoda
{
"cleanupPeriodDays": 7
}
E, se quiser, desativa as pesquisas de feedback com a variável de ambiente CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 (as respostas dessas pesquisas, incluindo transcrições enviadas, não podem ser usadas pra treinar modelos)
O que nunca deveria entrar no vault que você abre para a IA
Agora a parte de arquitetura, que vale mais que qualquer configuração
Configuração tu esquece de aplicar num sábado à noite
Pasta separada tu não esquece
Dois vaults, não um. Vault de trabalho (o que tu abre pro agente) e vault pessoal (o que nunca é diretório de trabalho de sessão nenhuma). Essa é a camada do passo 1, a mais barata e a mais eficaz. Todo o resto é remendo em cima de uma decisão que tu podia ter tomado na origem
Diário fica fora do escopo aberto. Se por algum motivo ele precisa morar no mesmo vault, aí sim entram deny mais hook PreToolUse, porque grep roda sem prompt e texto puro não se defende sozinho
Material de cliente sob contrato não é "mais uma nota". Se tu assinou confidencialidade, a decisão não é técnica, é contratual: aquilo não pode virar contexto enviado nem transcrição em texto puro no teu disco. Vault separado, e sessão que nunca aponta pra lá
Ideia não publicada depende do tipo de conta. Rascunho de produto, roteiro, tese que tu ainda vai lançar: em conta de consumidor, quem decide se aquilo alimenta melhoria futura do modelo é a tua preferência de privacidade. Confere a chavinha antes, não depois
Credencial e dado de terceiro em texto puro viram transcrição em texto puro. Aquela nota com token de API, ou com o e-mail e o telefone de um cliente, não some quando tu fecha o terminal: ela pode estar em ~/.claude/projects/<projeto>/<session-id>.jsonl pelo período do cleanupPeriodDays. Dado de terceiro é o pior caso, porque a escolha não era tua pra fazer
Sessão de exploração usa plan mode. Quando tu só quer que o agente entenda a estrutura das notas e proponha algo, entra no plan mode e pronto, sem risco de edição no meio das tuas anotações
E tem os casos em que a resposta é simplesmente não abrir o agente ali: reorganizar cinco notas na mão é mais rápido do que configurar hook, e vale lembrar quando não usar o Claude Code antes de apontar ele pro cofre inteiro
Conclusão
A régua da decisão cabe em três frases
O agente só envia o que consegue ler, então o que tu escolhe como diretório de trabalho vale mais do que qualquer regra fina depois
O rastro local é tão sensível quanto a nota original, porque a transcrição em ~/.claude/projects/ é texto puro igualzinho ao Markdown do vault
E o tipo de conta define retenção e treinamento, com a preferência valendo só pra sessões novas ou retomadas
Próximo passo concreto, antes da tua próxima sessão:
- Abre as configurações de privacidade da conta Claude e confere a preferência de melhoria do modelo
- Decide teu
cleanupPeriodDayse escreve ele nas settings - Separa o vault em dois: o que a IA abre e o que a IA nunca abre
Três tarefas, uns quinze minutos, e o teu segundo cérebro para de ser uma pasta aberta por padrão 🙂
Se tu já organiza teu vault assim, ou fez diferente, me conta como ficou
Até o próximo post!
Perguntas frequentes
O Claude Code consegue ler qualquer pasta do meu vault do Obsidian sem eu autorizar?
Não. A escrita fica limitada ao diretório de trabalho onde o Claude Code foi iniciado e às subpastas dele. Ler caminhos fora desse limite com Read, Grep ou Glob exige um prompt de aprovação, a menos que tu estenda o limite com –add-dir, /add-dir ou a configuração additionalDirectories, aí o acesso passa a valer sem prompt.
Dá para bloquear o Claude Code de ler uma pasta específica do vault, tipo o diário?
Dá, com uma regra deny de Read e Edit, e ela vale tanto para as ferramentas internas de arquivo quanto para comandos do Bash que o Claude Code reconhece, como cat, head, tail e sed. Ela não cobre subprocessos arbitrários, então um script Python ou Node chamado à parte pode ler o arquivo mesmo assim. Pra fechar essa brecha, um hook PreToolUse pode negar a chamada devolvendo permissionDecision como deny, ou saindo com código 2 e o motivo no stderr.
Onde ficam guardadas as conversas que o Claude Code teve com as minhas notas?
Localmente, em texto puro, em ~/.claude/projects/, no formato JSONL, com o caminho ~/.claude/projects/<projeto>/<session-id>.jsonl. O padrão é manter isso por 30 dias, mas o prazo é ajustável pela configuração cleanupPeriodDays nas settings do Claude Code.
Preciso de conta paga pra impedir que minhas notas sejam usadas para treinar o modelo?
Não exatamente: em conta de consumidor (Free, Pro e Max) a escolha é tua, nas configurações de privacidade da conta Claude, e isso inclui as sessões do Claude Code feitas com essas contas. Sob termos comerciais (Team, Enterprise, API, plataformas de terceiros e Claude Gov) a Anthropic não treina modelos generativos com código ou prompts enviados ao Claude Code, salvo se o cliente optar por fornecer os dados.
O plan mode é uma forma mais segura de explorar o vault com o Claude Code?
Sim, nesse sentido: no plan mode o Claude pesquisa e propõe mudanças sem executá-las, lendo arquivos e rodando comandos de exploração, mas sem editar nada. Entra-se nele com Shift+Tab ou prefixando o prompt com /plan, útil quando tu quer ver o que ele faria antes de deixar ele mexer nas notas.
O que muda na prática com o auto mode virando padrão em 14 de agosto de 2026?
A partir dessa data, o auto mode passa a ser o modo de permissão padrão em novas sessões dos planos Pro, Max e Team, e nele o Claude Code prossegue sem pedir aprovação, exceto quando a ação é considerada irreversível, destrutiva ou fora do ambiente do usuário. Quem já tinha um modo padrão definido recebe uma notificação única no app e pode voltar atrás, e vale lembrar do estudo citado pela Anthropic: humanos identificaram um comando perigoso plantado em 13,6% das vezes, contra 89% do auto mode.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação A popularidade da automação de processos com o n8n está em alta, principalmente […]
