Aprovar ações do Claude Code pelo celular é razoavelmente seguro se a configuração for restrita: só celulares que você pareou podem responder, o celular só pode responder a prompts que o Claude Code já ia mostrar para você, e suas regras de deny continuam valendo, não importa o que o celular diga. Os riscos reais são humanos e práticos: aprovar um comando que você não leu numa tela pequena, outra pessoa com seu celular desbloqueado, e detalhes do projeto passando por um serviço de relay e aparecendo na tela de bloqueio. Uma boa ferramenta de aprovação remota limita o primeiro grupo; o segundo você controla com algumas configurações.
01Como funciona a aprovação remota
O Claude Code tem um evento de hook chamado PermissionRequest. Ele roda quando o Claude Code está prestes a pedir sua permissão para usar uma ferramenta. Um hook pode responder com uma decisão, allow ou deny, e o Claude Code a usa em vez de esperar sua resposta no terminal. Ferramentas de aprovação remota usam esse hook: ele envia a solicitação para o seu celular, espera e devolve sua resposta. O guia do PermissionRequest mostra o JSON.
Três características desse design importam para a segurança. Todas vêm da documentação de hooks da Anthropic:
- Só dispara quando haveria um prompt. Se seu modo de permissão ou suas regras de allow já liberam uma ação, não há solicitação. A aprovação remota não pode dar ao Claude mais poder do que você teria no teclado.
- Regras de deny continuam valendo. Um hook que retorna
allownão ignora as regras de deny das suas configurações. Se você bloqueiaRead(./.env), um toque no celular não deixa o Claude ler o arquivo. - O hook roda como você. Hooks de comando rodam com todas as permissões do seu usuário. Qualquer programa que você instalar como hook pode ler e alterar tudo o que sua conta pode. Por isso, a escolha da ferramenta faz parte da sua segurança, não só o celular.
02Os riscos e o que limita cada um
Outra pessoa responde
O pior caso é uma pessoa ou dispositivo que você não pretendia aprovar uma ação. O que limita isso:
- Pareamento. Um celular só pode responder por um computador com o qual foi pareado. No Claude Code Notifier, o pareamento usa um QR code ou um código de 6 dígitos válido por 24 horas, e cada computador pode ter até três celulares.
- Revogação.
ccn deviceslista os celulares pareados com um computador, eccn devices revoke <name>remove um deles.ccn forgetapaga o computador e seus pareamentos do servidor. - O bloqueio do seu celular. Qualquer pessoa com seu celular desbloqueado pode responder. Trate o celular como uma chave para as sessões do Claude Code no seu computador e use senha ou bloqueio biométrico.
Você aprova algo que não leu
No celular, é fácil passar o olho num comando de shell longo. Alguns hábitos ajudam:
- Leia o comando inteiro antes de tocar em permitir. Se não estiver claramente tudo certo, negue e confira no terminal depois.
- Prefira permitir uma vez em vez de permitir durante a sessão para qualquer coisa que altere o estado fora do projeto, como
git push, deploys ou instalação de pacotes. - Coloque comandos arriscados atrás de regras
aske segredos atrás de regrasdenynas suas configurações, para que os casos perigosos sejam decididos por regras que você escreveu com calma, e não por um toque numa fila. O guia de modos de permissão mostra a sintaxe.
Você está de fato no teclado
Se uma solicitação chega ao celular enquanto você está sentado no computador, duas "pessoas" (você e seu celular) podem responder ao mesmo prompt. O Claude Code Notifier verifica sua presença no computador: se você digitou nos últimos 30 segundos, nada espera pelo celular e o terminal pergunta normalmente. Se você estiver ausente, o terminal espera a resposta do celular até um limite que você escolhe e para de esperar assim que você toca no teclado. A verificação de inatividade acontece no computador e o resultado nunca é enviado.
Detalhes do projeto saem do seu computador
Para mostrar uma solicitação, algo precisa enviar os detalhes dela para o seu celular. Esse é o custo de privacidade de qualquer notificação no celular para o Claude Code, feita por você ou não. Com o Claude Code Notifier, conforme descrito na Política de Privacidade:
- Não há contas. Cada computador e celular é identificado por um ID aleatório.
- O que uma notificação pode conter: o nome e o caminho da pasta do projeto, a mensagem do Claude ou a pergunta que ele está fazendo, o início do seu prompt e, no caso de um pedido de permissão, o nome da ferramenta e um resumo da entrada, como o comando de shell ou o caminho do arquivo (até 200 caracteres).
- Para onde vai: pelo servidor de relay da TouchTap, que roda na Cloudflare, e uma versão resumida para a Apple ou o Google entregarem o push. Os caminhos de pasta do projeto não são enviados à Apple nem ao Google.
- Por quanto tempo fica guardado: o servidor apaga as notificações, e suas respostas a elas, em até 48 horas. O servidor de relay não armazena seu endereço IP.
- Em trânsito: toda a comunicação com o servidor usa TLS (HTTPS e WSS). O relay guarda o conteúdo da notificação para entregá-lo, então isso é criptografia em trânsito, não criptografia de ponta a ponta.
- Não é vendido: os dados não são vendidos nem usados para publicidade.
No computador, a credencial do ccn é um token aleatório. Por padrão, ela fica no Keychain do macOS ou no Gerenciador de Credenciais do Windows e, no Linux, num arquivo que só a sua conta de usuário pode ler; ccn config set credential_store alterna entre o keychain do sistema e um arquivo.
Se você trabalha com código confidencial, a própria política recomenda avaliar se notificações no celular são adequadas e quais tipos ativar em cada computador. Você pode desativar notify_on_done, notify_on_permission ou notify_on_question separadamente, por computador, pela linha de comando ou pelo app do celular.
A tela de bloqueio mostra demais
Um banner com um comando ou o nome do projeto de um cliente fica visível para qualquer um que olhe para o seu celular. Tanto o iPhone quanto o Android permitem ocultar a pré-visualização das notificações até o celular ser desbloqueado, para todos os apps ou para um só. No iPhone, isso fica em Ajustes, depois Notificações. No Android, fica nas configurações de notificação da tela de bloqueio, geralmente como uma opção para ocultar conteúdo sensível.
03Aprovação remota feita por você mesmo
Você mesmo pode montar a aprovação remota com um hook PermissionRequest e um bot de chat ou serviço de push. Nesse caso, você está construindo um sistema de autenticação: só você pode conseguir responder, uma resposta antiga não pode valer para uma nova solicitação e uma solicitação travada não pode deixar a sessão presa. Num servidor de push público compartilhado, o nome do tópico é a única coisa que impede estranhos de entrar, então trate-o como uma senha. Os guias de ntfy e de Telegram, Slack ou Discord cobrem configurações só de notificação, que têm muito menos risco porque não conseguem aprovar nada.
04Hooks de repositórios que você não escreveu
Há mais um risco que vale para todo hook, não só para aprovação. Hooks podem ser commitados no .claude/settings.json de um projeto. Numa sessão interativa, o Claude Code segura os hooks até você aceitar o diálogo de confiança do workspace para a pasta, então leia os arquivos .claude/ de um repositório antes de confiar nele. Em execuções com claude -p e pelo SDK, não há diálogo e a pasta é tratada como confiável, então os hooks commitados rodam. Para execuções por script sobre código que você não escreveu, passe --settings '{"disableAllHooks": true}'.
05Onde o Claude Code Notifier se encaixa
O Claude Code Notifier é uma ferramenta independente feita pela TouchTap Ltd. Ela não é feita, endossada nem patrocinada pela Anthropic. A ferramenta de linha de comando, ccn, roda como hooks do Claude Code no Mac, Windows e Linux, e os apps para iPhone e Android permitem que você permita uma vez, permita durante a sessão ou negue. O código do ccn está disponível no GitHub, então você pode ler exatamente o que roda como seu hook antes de instalar. O guia de aprovação pelo celular explica a configuração.
06Perguntas frequentes
Uma aprovação pelo celular pode passar por cima das minhas regras deny?
Não. O Claude Code avalia as regras deny independentemente do que um hook retorna. Uma aprovação remota só pode responder a um prompt que o Claude Code já ia mostrar.
O Claude Code Notifier tem criptografia de ponta a ponta?
Não. O tráfego de e para o servidor de relay usa TLS, e o servidor apaga notificações e respostas em até 48 horas. O relay guarda o conteúdo enquanto o entrega, e uma versão resumida vai para a Apple ou o Google para o push.
E se eu perder meu celular?
Em cada computador, rode ccn devices para listar os celulares pareados e ccn devices revoke <name> para remover o que foi perdido. Até lá, o bloqueio do próprio celular é o que impede alguém de responder.
Meu código sai do meu computador?
O ccn não faz upload dos seus arquivos. As notificações levam os detalhes necessários para mostrar uma solicitação: o nome e a pasta do projeto, a mensagem ou pergunta do Claude, o início do seu prompt e um resumo curto do comando ou arquivo envolvido. A mensagem do Claude pode citar código, então desative os tipos de notificação de que você não precisa em projetos sensíveis.