Claude Code em escritórios contábeis: anonimização e permissões para dados de clientes
Fluxo seguro para isolar, anonimizar e validar dados de clientes antes de usar o Claude Code.
Em um escritório contábil, apagar apenas o nome da empresa antes de entregar ao Claude Code um balancete ou um CSV de folha de pagamento costuma provocar uma revisão tardia. O nome do responsável, o e-mail, a conta bancária, o nome de um fornecedor ou cliente e um número de identificação fiscal podem continuar em outra coluna ou até no nome do arquivo. Com esses dados, ainda é possível deduzir a quem o material pertence. O primeiro ponto a corrigir não é o prompt: é a fronteira entre a pasta dos arquivos originais e a pasta de trabalho da IA.
Para preparar um comentário mensal, por exemplo, não é necessário abrir o CSV original. Um JSON de trabalho que troque a empresa por “Cliente A” e converta a receita exata em uma faixa como “de 10 milhões a 15 milhões de ienes” já permite elaborar perguntas de confirmação. O cálculo tributário, a decisão sobre a declaração e o envio continuam com uma pessoa.
Este artigo mostra como um escritório contábil pode isolar os dados de clientes, criar uma cópia anonimizada e entregar ao Claude Code somente essa cópia de trabalho. As permissões não serão tratadas como a única garantia: uma inspeção antes da entrada e a aprovação humana serão acrescentadas ao fluxo. O CTA principal é treinamento e consultoria para definir também os papéis internos e o processo de aprovação.
Pontos principais
- Separe os originais em
raw-client-data/e as cópias destinadas à IA emai-work/; configure o Claude Code para não conseguir ler os originais. - Anonimizar não é apenas apagar nomes. Revise contatos, contas bancárias, números de identificação, contrapartes, valores precisos demais e campos de texto livre.
- Deixe o Claude Code classificar os dados já anonimizados, montar tabelas de diferenças, preparar perguntas e redigir rascunhos. Uma pessoa decide questões tributárias, envio, prazo de retenção e aprovação de exceções.
- Os três casos de uso são comentário mensal, e-mail de documentos pendentes e checklist antes da declaração.
- Meça o ROI pelo tempo de preparação por cliente, quantidade de devoluções, bloqueios na inspeção prévia e minutos gastos na aprovação.
Fluxo de trabalho: crie uma cópia antes de permitir acesso ao original
Divida as pastas de trabalho do escritório em quatro áreas: originais, transformação, trabalho da IA e saídas aprovadas. Nos originais ficam CSVs contábeis, folhas de pagamento, documentos de declaração e e-mails dos clientes. Na pasta da IA entram apenas JSON, Markdown ou CSV com os campos estritamente necessários para a finalidade. A saída aprovada deve ser guardada separadamente, com o nome do revisor e a data da conferência.
| Pasta | Conteúdo | Tratamento pelo Claude Code |
|---|---|---|
raw-client-data/ | Originais recebidos do cliente | Recusar leitura e gravação |
transform/ | Script de anonimização e tabela de campos | Uma pessoa revisa e executa |
ai-work/ | Cópia de trabalho pseudonimizada e com valores em faixas | Permitir leitura e gravação |
approved-output/ | Textos e checklists aprovados por uma pessoa | Salvar e enviar por ação humana |
A primeira tarefa é escrever em uma linha a finalidade do material entregue à IA. “Criar o texto do relatório mensal” é amplo demais. Restrinja para algo como: “A partir da faixa de receita, da variação mensal da margem bruta e da quantidade de valores não recebidos, gerar três perguntas para o diretor”. Quanto mais estreita for a finalidade, menos campos precisam ser enviados.
Em seguida, monte uma tabela dos campos. Nome da empresa, nome de pessoas, endereço, telefone, e-mail, conta bancária e número de identificação fiscal são itens a remover. Nomes de contrapartes, atividades muito incomuns, receita exata e textos livres também devem virar pseudônimos ou faixas. Registre ainda quem fez a conversão, quando ela ocorreu e qual regra foi aplicada.
A Comissão de Proteção de Informações Pessoais do Japão apresenta, neste alerta sobre serviços em nuvem, pontos de atenção para situações em que o uso de um serviço pode caracterizar terceirização do tratamento de dados pessoais. O escritório precisa verificar as medidas de segurança do serviço, as responsabilidades contratuais e a supervisão do fornecedor. Dados que incluam o My Number, o identificador pessoal japonês, exigem uma consulta separada às diretrizes para empresas. A configuração deste artigo não substitui a análise da legislação nem do contrato aplicável.
O que delegar ao Claude Code e o que uma pessoa decide
Delegue ao Claude Code somente a organização do material já anonimizado, a procura por lacunas, a elaboração de perguntas e a preparação de rascunhos. A partir de fatos como “a faixa de receita aumentou em relação ao mês anterior, mas a margem bruta caiu” e “a quantidade de valores não recebidos cresceu em dois”, ele pode sugerir perguntas para o responsável confirmar com o cliente. O nome real da empresa e o saldo bancário exato não são necessários.
Uma pessoa decide a conclusão tributária, valida os números, escolhe como perguntar ao cliente, define o destinatário, o prazo de retenção, a exclusão e o tratamento de exceções. Nenhuma afirmação da IA deve ser enviada diretamente. O contador verifica a documentação de suporte e os requisitos aplicáveis antes de aprovar.
As permissões também devem ser vistas em duas camadas. As regras de recusa de Read/Edit do Claude Code alcançam as ferramentas integradas. A documentação oficial de configuração de permissões explica que elas não necessariamente bloqueiam da mesma forma os subprocessos iniciados pelo Bash; por isso, deve-se combinar um sandbox com restrições no nível do sistema operacional. A ordem de avaliação das regras é deny, ask, allow. Primeiro negue o acesso aos originais e só depois permita a pasta de trabalho.
Três casos de uso
Caso de uso 1: criar perguntas para o comentário mensal
- Entrada: ID do cliente, faixa de receita, variação mensal da margem bruta, quantidade de valores não recebidos e notas factuais do responsável.
- Saída: três perguntas para o cliente, rascunho do comentário mensal e campos de entrada usados como base.
- Revisão humana: aprovar números contábeis, avaliação tributária, circunstâncias específicas do cliente, texto enviado e destinatário.
Mesmo sem fornecer a receita exata ou o nome da empresa, é possível criar a estrutura do comentário. Instrua o Claude Code a não afirmar causas para os aumentos e quedas, não completar razões ausentes na entrada e transformar a incerteza em perguntas. O responsável define a prioridade dessas perguntas olhando os originais. A composição do relatório completo está detalhada no artigo sobre relatórios mensais de escritórios contábeis.
Caso de uso 2: redigir o e-mail de documentos pendentes
- Entrada: Cliente A, mês de referência, tipos de documentos ainda não entregues, data desejada para resposta e opções de envio.
- Saída: assunto, corpo, lista dos documentos pendentes e observação para a resposta.
- Revisão humana: confirmar os documentos realmente pendentes, o prazo, o destinatário, os anexos e a ausência do nome de outra empresa.
Nesse tipo de e-mail, o acidente geralmente está no destinatário errado ou no nome de outro cliente que permaneceu no texto, não na qualidade da redação. Não coloque nomes reais na cópia usada pela IA; insira-os no sistema de e-mail somente depois da aprovação. Estabeleça essa fronteira de entrada antes do processo de redação descrito em e-mails para clientes e checklist de confirmação.
Caso de uso 3: procurar lacunas no checklist pré-declaração
- Entrada: tipo de pessoa jurídica pseudonimizado, procedimento, categorias de documentos, indicadores de recebimento e função do revisor.
- Saída: documentos não recebidos, perguntas a devolver ao responsável e proposta de checklist com campo de aprovação.
- Revisão humana: decidir obrigação de declarar, prazo, documentos necessários, requisitos aplicáveis, declaração eletrônica e envio final.
Também aqui o Claude Code não decide se uma declaração pode ou deve ser enviada. Ele compara os itens do checklist com o procedimento existente e aponta possíveis lacunas. Uma pessoa verifica nos originais o tipo de imposto, o exercício fiscal, o estado das notificações e os requisitos de eventuais regimes especiais. Mantenha na saída os campos “revisor”, “data da revisão” e “documentação de suporte”.
Prompt pronto para copiar
O prompt abaixo pressupõe que apenas os materiais anonimizados foram colocados em ai-work/. Não acrescente nomes reais nem números de identificação exatos ao prompt.
Você auxilia a revisão mensal de um escritório contábil.
Leia somente ./ai-work/client-C017.json e produza a resposta nesta ordem.
1. Fatos escritos na entrada
2. Pontos que não podem ser determinados apenas pela entrada
3. Três perguntas de confirmação para o cliente
4. Rascunho do comentário mensal
5. Itens que uma pessoa deve conferir nos originais
Restrições:
- Não afirmar conclusões tributárias
- Não completar nomes de empresas, pessoas, valores ou motivos ausentes na entrada
- Não enviar e-mail, excluir arquivos ou fazer comunicação externa
- Se encontrar um valor que pareça dado pessoal, interromper o processamento e informar somente o nome do campo
- Terminar a saída com "Não enviar antes da revisão do contador"
Antes de usar o prompt, faça uma verificação automática para confirmar que a cópia contém somente os campos esperados. O arquivo scripts/check-tax-accountant-ai-input.mjs, incluído com este artigo, examina JSON, CSV, Markdown e texto. Ao encontrar nomes de campos que parecem conter nomes ou contatos, e-mails, telefones, identificadores de 12 dígitos ou códigos postais, ele interrompe a execução com o código de saída 1.
node scripts/check-tax-accountant-ai-input.mjs
node scripts/check-tax-accountant-ai-input.mjs ./ai-work
if ($LASTEXITCODE -ne 0) { throw "AI入力前チェックで停止しました" }
Essa inspeção não garante que não haverá vazamento. Ela não entende completamente o sentido de um texto livre nem detecta toda possibilidade de reidentificação pela combinação de campos. Mesmo depois da verificação, uma pessoa deve abrir e revisar a cópia de trabalho.
Configuração de permissões que funciona
No arquivo .claude/settings.json do projeto, negue primeiro os originais e permita apenas a pasta de trabalho da IA. Em uma configuração do Claude Code, a / inicial de /raw-client-data/** indica um caminho relativo à raiz do projeto. Um caminho absoluto a partir da raiz do computador começa com //; não confunda as duas formas.
{
"permissions": {
"deny": [
"Read(/raw-client-data/**)",
"Edit(/raw-client-data/**)",
"Read(/secrets/**)",
"Edit(/secrets/**)",
"Bash(git push *)"
],
"allow": [
"Read(/ai-work/**)",
"Edit(/ai-work/**)",
"Bash(node scripts/check-tax-accountant-ai-input.mjs *)"
]
},
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false,
"filesystem": {
"denyRead": ["./raw-client-data", "./secrets"],
"denyWrite": ["./raw-client-data", "./secrets"]
}
}
}
Segundo a documentação oficial do sandbox, quando ele não pode ser iniciado, o comportamento padrão é exibir um aviso e prosseguir sem isolamento. Nesta configuração, failIfUnavailable: true interrompe o processo, e allowUnsandboxedCommands: false desativa a rota de escape. O suporte ao sandbox pressupõe macOS, Linux ou WSL2. Escritórios que trabalham no Windows devem executar o fluxo dentro do WSL2 e não tratar dados de clientes em computadores nos quais a configuração não funcione.
Depois de configurar, teste também se o acesso é realmente recusado. Em uma pasta de validação que contenha apenas dados fictícios, confirme que a leitura de raw-client-data/ é bloqueada e que apenas a cópia em ai-work/ pode ser lida. A mera existência do arquivo de configuração não é critério de aprovação. O guia de permissões do Claude Code complementa o raciocínio por trás das regras deny.
Armadilhas: onde a anonimização e as permissões falham
A primeira armadilha é considerar o material anonimizado depois de apagar apenas o nome da empresa. O nome do representante, uma transação rara, um valor exato ou um texto livre ainda podem revelar a origem. A correção é definir uma lista de campos permitidos para cada finalidade e exportar para ai-work/ apenas o resultado dessa transformação.
A segunda é acreditar que negar Read também bloqueia o Bash. As regras das ferramentas Read/Edit e as restrições aplicadas a subprocessos são camadas diferentes. Combine denyRead e denyWrite do sandbox e use failIfUnavailable para interromper o fluxo quando o isolamento não iniciar.
A terceira é declarar o arquivo seguro porque a inspeção encontrou zero ocorrências. Expressões regulares deixam passar imagens, texto dentro de PDF, variações de escrita e dados pessoais dedutíveis pelo significado. Use uma lista de campos permitidos e trate inspeção prévia, revisão visual humana, log de processamento e prazo de exclusão como um conjunto.
A quarta é testar o processo com dados reais. Valores podem ficar registrados em logs e capturas de tela durante a validação. Teste as permissões de negação e autorização somente com dados fictícios e escreva em uma página o procedimento de interrupção em caso de incidente.
Como medir um ROI pequeno
Nas duas primeiras semanas, limite o teste a um cliente e a um tipo de comentário mensal. Antes de adotar o fluxo, registre cinco vezes os “minutos entre a conferência do original e o rascunho concluído”, o “número de correções do responsável” e a “quantidade de devoluções do diretor”. Depois da adoção, meça os mesmos itens e acrescente a quantidade de vezes em que a inspeção prévia bloqueou a entrada.
Como exemplo, se a preparação de 20 casos por mês cair de 18 para 11 minutos por caso, a redução será de 140 minutos mensais. Desconte qualquer aumento no tempo de aprovação. Além da conversão em receita, registre quantos envios incorretos, nomes de outras empresas e acessos ao original foram interrompidos antes de acontecer. Se a equipe acompanhar apenas a velocidade, surgirá pressão para pular a anonimização.
Compare antes e depois com quantidade de casos × (minutos de preparação + aprovação + retrabalho) e coloque ao lado o número de bloqueios. Assim, velocidade e segurança ficam visíveis ao mesmo tempo.
Perguntas frequentes
P. Posso usar o arquivo diretamente depois de trocar o nome do cliente por um pseudônimo?
Não. Revise também nome do responsável, endereço, e-mail, conta bancária, My Number, contrapartes, valores exatos e textos livres. Ao final, uma pessoa confirma se a combinação de vários valores ainda permite identificar o cliente.
P. Executar localmente torna o processo seguro?
O local de execução, sozinho, não decide isso. Verifique o tratamento de dados do serviço, autenticação, computador, logs, comunicação externa, permissões e contrato. Crie primeiro uma fronteira que impeça o acesso aos originais.
P. O script de inspeção também verifica PDFs e imagens?
Não. O script deste artigo aceita somente JSON, CSV, Markdown e texto. PDFs e imagens devem ser bloqueados e passar por outro procedimento de conversão aprovado. Um formato fora do escopo não deve prosseguir silenciosamente.
P. Posso anonimizar o My Number e entregá-lo à IA?
Este artigo não toma essa decisão para um caso específico. Por padrão, não inclua esse dado na cópia de trabalho. O responsável do escritório deve verificar as diretrizes da Comissão de Proteção de Informações Pessoais do Japão, o contrato, a finalidade de uso e as normas internas.
Defina as fronteiras em um treinamento ou consultoria
Ao usar o Claude Code em um escritório contábil, criar apenas um arquivo de configuração não basta. Se não estiver claro quem anonimiza, quem aprova exceções e onde a saída será salva, a operação contorna a regra. É necessário separar os responsáveis pelos originais, pelas cópias de trabalho, pelas saídas da IA e pelos textos aprovados.
Em treinamento e consultoria, estruturamos a tabela de campos dos clientes, as fronteiras entre pastas, as permissões, a inspeção prévia e a folha de aprovação sem transportar dados reais. Na primeira conversa, verificamos somente os nomes atuais das pastas e o tipo de resultado desejado; os originais não são compartilhados.
Resultado do teste prático
Para este artigo, o autoteste de scripts/check-tax-accountant-ai-input.mjs foi executado somente com um JSON de cliente fictício. O exemplo seguro produz zero detecções; o exemplo de risco, que contém nome do responsável, e-mail e identificador de 12 dígitos, foi projetado para interromper o processo. Código, comandos, links internos, URLs oficiais, CTA, frontmatter e imagem de destaque também foram incluídos na revisão antes da publicação.
A primeira tarefa de hoje é criar pastas vazias chamadas raw-client-data/ e ai-work/ e confirmar, com arquivos fictícios, que a pasta de originais é recusada e apenas a cópia de trabalho pode ser lida. Mesmo depois de passar no teste, comece sempre por uma cópia anonimizada.
Artigos relacionados
Reforço escolar: como agilizar relatórios e reuniões com pais usando Claude Code
Para donos de reforço escolar: agilize relatórios de aula e reuniões com pais usando Claude Code, com prompts e proteção de dados.
Claude Code em escritório de advocacia: organizar notas de atendimento e rascunhar peças mais rápido
IA em escritório de advocacia: organize notas de atendimento e rascunhe peças mais rápido, com prompt pronto e script de verificação.
Estúdio de yoga e pilates: agendamentos e cancelamentos sem sufoco com Claude Code
Claude Code no estúdio de yoga e pilates para responder reservas e cancelamentos: o que delegar, prompt pronto e script de checagem.
PDF grátis: cheatsheet do Claude Code
Informe seu e-mail e baixe uma página com comandos, hábitos de revisão e workflows seguros.
Cuidamos dos seus dados e não enviamos spam.
Sobre o autor
Masa
Engenheiro focado em workflows práticos com Claude Code.