Approuver des actions Claude Code depuis ton téléphone est plutôt sûr si le setup reste restreint : seuls les téléphones que tu as appairés peuvent répondre, le téléphone ne peut répondre qu'aux prompts que Claude Code t'aurait de toute façon affichés, et tes règles deny s'appliquent quoi que dise le téléphone. Les vrais risques sont humains et pratiques : approuver une commande que tu n'as pas lue sur un petit écran, quelqu'un d'autre qui tient ton téléphone déverrouillé, et des détails du projet qui transitent par un service relais et s'affichent sur l'écran verrouillé. Un bon outil d'approbation à distance limite les premiers ; tu gères les seconds avec quelques réglages.
01Comment fonctionne l'approbation à distance
Claude Code a un événement de hook appelé PermissionRequest. Il se déclenche quand Claude Code s'apprête à te demander la permission d'utiliser un outil. Un hook peut répondre par une décision, allow ou deny, et Claude Code l'utilise au lieu d'attendre ta réponse dans le terminal. Les outils d'approbation à distance s'appuient sur ce hook : il envoie la demande à ton téléphone, attend, puis renvoie ta réponse. Le guide PermissionRequest montre le JSON.
Trois propriétés de ce design comptent pour la sécurité. Toutes viennent de la documentation des hooks d'Anthropic :
- Il ne se déclenche que s'il y aurait un prompt. Si ton mode de permission ou tes règles allow laissent déjà passer une action, il n'y a pas de demande. L'approbation à distance ne peut pas donner à Claude plus de pouvoir que tu n'en aurais eu au clavier.
- Les règles deny ont toujours le dernier mot. Un hook qui renvoie
allowne contourne pas les règles deny de tes réglages. Si tu interdisRead(./.env), un tap sur un téléphone ne peut pas laisser Claude le lire. - Le hook tourne avec ton identité. Les hooks de type commande s'exécutent avec toutes tes permissions utilisateur. Le programme que tu installes comme hook peut lire et modifier tout ce que ton compte peut. Le choix de l'outil fait donc partie de ta sécurité, pas seulement le téléphone.
02Les risques, et ce qui limite chacun
Quelqu'un d'autre répond
Le pire cas, c'est qu'une personne ou un appareil que tu n'avais pas prévu approuve une action. Ce qui limite ce risque :
- L'appairage. Un téléphone ne peut répondre que pour un ordinateur auquel il a été appairé. Avec Claude Code Notifier, l'appairage passe par un QR code ou un code à 6 chiffres valable 24 heures, et chaque ordinateur peut avoir jusqu'à trois téléphones.
- La révocation.
ccn devicesliste les téléphones appairés à un ordinateur, etccn devices revoke <name>en retire un.ccn forgetefface l'ordinateur et ses appairages du serveur. - Le verrouillage de ton téléphone. N'importe qui tenant ton téléphone déverrouillé peut répondre. Considère ton téléphone comme une clé de tes sessions Claude Code, et utilise un code ou un verrouillage biométrique.
Tu approuves quelque chose que tu n'as pas lu
Sur un téléphone, on survole facilement une longue commande shell. Quelques réflexes aident :
- Lis toute la commande avant de taper sur allow. Si elle n'est pas clairement sans risque, refuse-la et regarde le terminal plus tard.
- Privilégie autoriser une fois plutôt que autoriser pour la session pour tout ce qui modifie un état en dehors du projet, comme
git push, les déploiements ou les installations de paquets. - Place les commandes risquées derrière des règles
asket les secrets derrière des règlesdenydans tes paramètres : ainsi, les cas dangereux sont tranchés par des règles que tu as écrites à tête reposée, pas par un tap dans une file d'attente. Le guide des modes de permission détaille la syntaxe.
Tu es réellement devant ton clavier
Si une demande arrive sur ton téléphone alors que tu es assis devant l'ordinateur, deux « personnes » (toi et ton téléphone) peuvent répondre au même prompt. Claude Code Notifier vérifie ta présence sur l'ordinateur : si tu as tapé quelque chose dans les 30 dernières secondes, rien n'attend le téléphone et le terminal pose la question comme d'habitude. Si tu es absent, le terminal attend la réponse du téléphone jusqu'à un délai maximum que tu choisis, et arrête d'attendre dès que tu touches le clavier. La détection d'inactivité se fait sur l'ordinateur et son résultat n'est jamais envoyé.
Les détails du projet quittent ton ordinateur
Pour t'afficher une demande, il faut bien envoyer ses détails à ton téléphone. C'est le compromis de confidentialité de toute notification mobile pour Claude Code, fait maison ou non. Avec Claude Code Notifier, comme l'indique sa Politique de confidentialité :
- Il n'y a pas de comptes. Chaque ordinateur et chaque téléphone est identifié par un ID aléatoire.
- Ce qu'une notification peut contenir : le nom du projet et le chemin de son dossier, le message de Claude ou la question qu'il pose, le début de ton prompt et, pour une demande de permission, le nom de l'outil et un résumé de son entrée, comme la commande shell ou le chemin du fichier (jusqu'à 200 caractères).
- Par où elle passe : par le serveur relais de TouchTap, hébergé sur Cloudflare, et une version raccourcie part chez Apple ou Google pour livrer le push. Les chemins des dossiers de projet ne sont pas envoyés à Apple ni à Google.
- Combien de temps elle est conservée : le serveur supprime les notifications, ainsi que tes réponses, sous 48 heures. Le serveur relais ne stocke pas ton adresse IP.
- En transit : toutes les communications avec le serveur passent par TLS (HTTPS et WSS). Le relais détient le contenu de la notification pour la livrer : il s'agit donc d'un chiffrement en transit, pas d'un chiffrement de bout en bout.
- Pas de revente : les données ne sont ni vendues ni utilisées à des fins publicitaires.
Sur l'ordinateur, l'identifiant de ccn est un token aléatoire. Par défaut, il est stocké dans le Trousseau macOS ou le Gestionnaire d'identifiants Windows, et sous Linux dans un fichier lisible uniquement par ton compte utilisateur ; ccn config set credential_store permet de basculer entre le trousseau système et un fichier.
Si tu travailles sur du code confidentiel, la politique elle-même te conseille de te demander si les notifications mobiles sont appropriées, et lesquelles activer sur chaque ordinateur. Tu peux désactiver notify_on_done, notify_on_permission ou notify_on_question séparément, ordinateur par ordinateur, depuis la ligne de commande ou l'app mobile.
L'écran de verrouillage en montre trop
Une bannière affichant une commande ou le nom d'un projet client est visible par quiconque jette un œil à ton téléphone. iPhone comme Android te permettent de masquer les aperçus des notifications tant que le téléphone n'est pas déverrouillé, pour toutes les apps ou pour une seule. Sur iPhone, c'est dans Réglages, puis Notifications. Sur Android, c'est dans les paramètres de notification de l'écran de verrouillage, généralement via une option pour masquer le contenu sensible.
03Approbation à distance faite maison
Tu peux construire toi-même ton système d'approbation à distance avec un hook PermissionRequest et un bot de chat ou un service de push. Mais tu construis alors un système d'authentification : toi seul dois pouvoir répondre, une ancienne réponse ne doit pas s'appliquer à une nouvelle demande, et une demande bloquée ne doit pas laisser une session coincée. Sur un serveur de push public partagé, le nom du topic est la seule chose qui tient les inconnus à distance : traite-le comme un mot de passe. Les guides sur ntfy et Telegram, Slack ou Discord couvrent des configurations de notification seule, bien moins risquées puisqu'elles ne peuvent rien approuver.
04Les hooks de dépôts que tu n'as pas écrits
Un dernier risque concerne tous les hooks, pas seulement l'approbation. Les hooks peuvent être commités dans le .claude/settings.json d'un projet. En session interactive, Claude Code bloque les hooks tant que tu n'as pas accepté la boîte de dialogue de confiance de l'espace de travail pour ce dossier : lis donc les fichiers .claude/ d'un dépôt avant de lui faire confiance. Avec claude -p et le SDK, il n'y a pas de boîte de dialogue et le dossier est considéré comme fiable, donc les hooks commités s'exécutent. Pour des exécutions scriptées sur du code que tu n'as pas écrit, passe --settings '{"disableAllHooks": true}'.
05Où se situe Claude Code Notifier
Claude Code Notifier est un outil indépendant créé par TouchTap Ltd. Il n'est ni créé, ni approuvé, ni sponsorisé par Anthropic. Son outil en ligne de commande, ccn, tourne sous forme de hooks Claude Code sur Mac, Windows et Linux, et ses apps iPhone et Android te permettent d'autoriser une fois, d'autoriser pour la session ou de refuser. Le code source de ccn est disponible sur GitHub : tu peux donc lire exactement ce qui s'exécute comme hook avant de l'installer. Le guide d'approbation depuis le téléphone explique la mise en place.
06FAQ
Une approbation depuis le téléphone peut-elle passer outre mes règles deny ?
Non. Claude Code applique les règles deny quoi que renvoie un hook. Une approbation à distance ne peut répondre qu'à un prompt que Claude Code allait de toute façon afficher.
Claude Code Notifier est-il chiffré de bout en bout ?
Non. Le trafic vers et depuis le serveur relais passe par TLS, et le serveur supprime les notifications et les réponses sous 48 heures. Le relais détient le contenu le temps de le livrer, et une version raccourcie part chez Apple ou Google pour le push.
Et si je perds mon téléphone ?
Sur chaque ordinateur, lance ccn devices pour lister les téléphones appairés, puis ccn devices revoke <name> pour retirer celui que tu as perdu. D'ici là, c'est le verrouillage de ton téléphone qui empêche quelqu'un de répondre.
Mon code quitte-t-il mon ordinateur ?
ccn n'envoie pas tes fichiers. Les notifications contiennent les détails nécessaires pour afficher une demande : le nom et le dossier du projet, le message ou la question de Claude, le début de ton prompt et un court résumé de la commande ou du fichier concerné. Le message de Claude peut citer du code : désactive donc les types de notification dont tu n'as pas besoin sur les projets sensibles.