Laisse ton IA envoyer des secrets sans les lui donner.
Comment le MCP PrivateNote transmet des fichiers par e-mail, Slack, Discord et WhatsApp — sans que le modèle les lise
Ton assistant peut envoyer un contrat, un mot de passe ou un CSV aujourd’hui. Il ne devrait pas avoir à lire ces fichiers pour le faire. Passe des chemins locaux au MCP PrivateNote et ne mets qu’un lien éphémère dans le canal que tu utilises déjà.
À retenir
- Transmets des chemins de fichiers, pas les octets — le MCP local chiffre, le modèle n’a pas besoin de la charge utile.
- Tu approuves un aperçu qui lie les octets exacts, les options et la destination. Créer une note n’autorise pas à l’envoyer.
- E-mail, Slack, Discord et WhatsApp ne doivent porter que l’URL PrivateNote une fois sendAuthorized — jamais le fichier. Laisse le mode one-shot désactivé si l’agent peut aussi envoyer des messages.
- L’URL déchiffrable est une capacité au porteur que l’agent peut voir après confirmation. Ne la journalise pas. Après l’envoi, interroge l’ouverture ou révoque une note non ouverte.
L’utile d’un assistant IA, ce n’est pas qu’il puisse lire un contrat, un fichier de mots de passe ou un export client. L’utile, c’est qu’il puisse faire arriver cette charge à la bonne personne, sur le canal où elle vit déjà, sans transformer l’assistant en copie du secret.
C’est le travail du quotidien : envoyer un PDF à un client par e-mail, déposer un mot de passe de staging à un coéquipier dans Slack, remettre un token de bot à un modérateur sur Discord, ou poser un login à usage unique dans un fil WhatsApp. Les gens le font déjà en collant. Les agents rendent le collage plus rapide — et la fuite plus large, parce que le secret se retrouve aussi dans le contexte du modèle, la transcription du chat et chaque journal que l’hôte conserve.
Le serveur MCP de PrivateNote est construit pour la séparation inverse. L’agent orchestre. Un processus local gère le secret. Tu approuves le fichier exact et la destination. L’e-mail, Slack, Discord et WhatsApp ne portent qu’un lien. On dit au modèle de passer des chemins de fichiers, pas des octets. Le chiffrement a lieu sur ta machine après ta confirmation. Ce qui revient est une URL dont le fragment porte la clé — le même modèle de lien secret à usage unique que l’app web. Créer une note n’autorise pas à l’envoyer.
Le travail, c’est d’envoyer, pas de savoir
La plupart des conseils « IA + secrets » supposent encore que le modèle doit voir l’identifiant pour aider. C’est vrai si tu veux que le modèle explique le fichier, réécrive le contrat ou débugue la clé. Ce n’est pas vrai si tu veux qu’il le livre.
La livraison est un problème de logistique : quel fichier, quelle personne, quel canal, combien de temps l’accès doit durer, s’il doit brûler après la première vue. Aucune de ces décisions n’exige le texte en clair. Elles exigent un outil qui peut lire un chemin local, chiffrer et renvoyer un handle que le reste de la pile a le droit de voir.
C’est à ça que sert privatenote-mcp. Les hôtes qui respectent les instructions MCP reçoivent, dans l’ordre : si l’utilisateur a nommé un fichier local, passer le chemin absolu ; ne pas l’ouvrir, le cat ou le résumer ; appeler create_private_note (un aperçu) ; attendre ton approbation ; puis appeler confirm_private_note. Seulement ensuite un autre outil peut envoyer l’URL — et seulement vers la destination que tu as approuvée.
La règle
Si l’assistant peut terminer la tâche avec un chemin, il ne doit pas la terminer avec le contenu. Coller dans le prompt est un dernier recours — une fois que le secret est déjà dans le chat.
Pourquoi les canaux que tu utilises déjà gardent la mauvaise copie
L’e-mail, Slack, Discord et WhatsApp sont bons pour la conversation. Ce sont de mauvais coffres. Le chiffrement en transit, même de bout en bout, ne décide pas combien de temps une copie cherchable reste sur les appareils, dans les exports d’espace, les sauvegardes cloud ou les aperçus de notification. C’est la même distinction que pourquoi l’e-mail est le pire endroit pour les secrets et pourquoi les secrets ne doivent jamais être collés dans le chat.
- L’e-mail stocke les pièces jointes dans les deux boîtes, sur les serveurs de messagerie, dans les legal holds et dans « rechercher tous les messages ». Transférer multiplie des copies que tu ne pourras plus révoquer.
- Slack est indexé par l’espace de travail. Les admins, les exports de conformité et les fonctions d’IA qui résument les canaux peuvent tous retrouver un mot de passe des mois plus tard.
- Discord a l’air éphémère sur un serveur animé. Il ne l’est pas. Les épingles, la recherche et les MP gardent les tokens de bot et les secrets d’admin à côté des mèmes.
- WhatsApp est souvent le seul canal qu’un prestataire ou un client ouvrira vraiment. C’est aussi une boîte familiale : les captures circulent, les ordinateurs liés se synchronisent, et les sauvegardes survivent à la mission.
Le but n’est pas d’abandonner ces outils. Le but est d’arrêter d’y mettre la charge utile. Ils restent l’enveloppe. La note est la lettre. Les destinataires n’ont toujours pas besoin de compte PrivateNote : ils ouvrent le lien dans un navigateur, comme n’importe quelle autre URL que tu leur envoies déjà.
La séparation en trois
| Rôle | Ce qu’il peut voir | Ce qu’il ne doit pas voir |
|---|---|---|
| Agent IA (Cursor, Claude, Codex) | Qui, quel chemin, quel canal, expiration, burn-after-read. Après ta confirmation : l’URL déchiffrable | Les octets du fichier, les mots de passe, le corps de la note. Il ne doit pas envoyer l’URL tant que tu n’as pas approuvé cette destination |
| MCP PrivateNote (processus Node local) | Les fichiers sur le disque, pour le chiffrement seulement | Rien qu’il renverrait ensuite en clair |
| E-mail / Slack / Discord / WhatsApp | L’URL PrivateNote (et un objet lisible) | La pièce jointe, l’identifiant, la phrase secrète |
Le MCP n’envoie pas l’e-mail ni le message Slack à ta place. Créer une note n’autorise pas à l’envoyer. Après que tu approuves un aperçu qui nomme un canal et un destinataire exacts, le résultat peut inclure sendAuthorized: true — alors un outil mail ou chat peut envoyer seulement l’URL vers cette destination. Si aucune destination n’a été approuvée, sendAuthorized est false et l’agent doit te donner l’URL à coller, pas déclencher un autre outil.
L’URL est une capacité au porteur : quiconque l’a peut ouvrir la note. L’hôte MCP actuel renvoie secureUrl dans le résultat de l’outil, donc l’agent peut observer le lien même s’il ne peut pas observer les octets du fichier. Ne la journalise pas, ne la commite pas, ne la copie pas dans des outils sans rapport. Traite-la comme le secret.
Le reste de la charge renvoyée est petit : noteId, expiresAt, burnAfterReading, et le cas échéant passwordProtected et attachedFileNames. Les noms de fichiers sont des métadonnées, pas des contenus — évite quand même de mettre un secret dans le nom.
Ce que le MCP fait vraiment sur ta machine
Quand l’agent appelle create_private_note, un processus Node.js local — pas le modèle — canonise le chemin, le vérifie contre l’allowlist de l’espace de travail, hache le fichier et te montre un aperçu. Il ne renvoie pas encore d’URL déchiffrable. Après ton approbation, confirm_private_note rouvre ce même fichier, vérifie l’appareil, l’inode, la taille et le SHA-256, et chiffre ces octets. Si le fichier a changé, la confirmation échoue ; l’agent doit recommencer. Le texte chiffré AES-256-GCM est envoyé en POST à PrivateNote. La clé de déchiffrement est placée dans le fragment d’URL (#…). Les navigateurs n’envoient pas les fragments aux serveurs. L’API stocke un blob chiffré. Sans le fragment, ce blob est du bruit.
Préfère les paramètres de chemin pour que l’hôte n’ait jamais à mettre le secret dans les arguments d’appel construits par le modèle :
contentFilePath— fichier UTF-8 qui devient le corps de la note (un mot de passe, un code de récupération, une courte instruction).filePath/filePaths— pièces jointes locales (PDF, CSV, images). Exigesign_in. Maximum combiné de 20 fichiers.passwordFilePath— la première ligne d’un fichier local devient la phrase secrète de révélation (enveloppe Argon2id). Envoie cette phrase hors bande, jamais dans le même message que le lien.contentetpassword— derniers recours, seulement si l’utilisateur a déjà collé le secret dans le chat et qu’aucun fichier n’existe.
La politique par défaut correspond à une remise, pas à une archive : burnAfterReading est true, expiresIn vaut 24 heures par défaut. Plus court est mieux quand le destinataire attend de l’autre côté de Slack. La vue multiple (burnAfterReading: false) exige un compte Premium. La pièce jointe, la vérification du destinataire, les notifications d’ouverture et list/revoke exigent une session connectée ; les gates et les alertes exigent aussi un plan payant.
Les chemins sont contraints. Par défaut, seuls les fichiers sous l’espace de travail (le répertoire de travail du processus MCP) peuvent être lus. Définis PRIVATENOTE_MCP_ALLOWED_ROOTS s’il faut ajouter des dossiers. Les clés SSH, les répertoires d’identifiants cloud et le fichier de session MCP sont toujours bloqués, même si tu autorises $HOME ou /.
Tu approuves la remise exacte — pas un nom de chemin
Un agent qui peut créer un lien déchiffrable et envoyer un e-mail ou Slack est un confused deputy : il pourrait chiffrer le mauvais fichier, ou envoyer le bon lien à la mauvaise personne, en un tour. Le défaut de PrivateNote est que tu autorises trois choses ensemble : les octets exacts du fichier, les options exactes de la note (expiration, burn-after-read) et la destination exacte.
L’aperçu doit montrer la destination quand l’envoi est demandé, par exemple « Send via: Email / Recipient: alice@example.com ». Approuver cela ne doit jamais autoriser une autre adresse ou un autre canal Slack. confirm_private_note ne prend que confirmationId. L’agent ne peut pas remplacer le chemin, le destinataire, le canal, l’expiration ou la politique de destruction à la confirmation.
Créer une note sans destination renvoie sendAuthorized: false. C’est voulu. Un lien dans le chat reste sensible — mais ce n’est pas la permission de l’envoyer par mail.
N’active pas le one-shot si l’agent peut envoyer
PRIVATENOTE_MCP_ALLOW_ONE_SHOT saute l’aperçu humain. L’agent ne peut pas l’activer comme argument d’outil, et changer l’environnement plus tard n’a aucun effet tant que tu ne redémarres pas le serveur MCP. Laisse-le désactivé. L’activer alors que le même hôte peut envoyer e-mail, Slack, Discord ou des fichiers laisse le modèle créer un lien déchiffrable et l’expédier en une étape — y compris le mauvais fichier ou le mauvais destinataire. L’allowlist de chemins s’applique toujours ; ce n’est pas un substitut à ton approbation.
Le connecter une fois
Node.js 18+ est requis. Après l’enregistrement, redémarre le client MCP pour qu’il charge les schémas et instructions d’outils actuels. Les notes d’installation complètes sont sur la page d’intégration MCP.
{
"mcpServers": {
"privatenote": {
"command": "npx",
"args": ["-y", "privatenote-mcp"]
}
}
}Codex CLI : codex mcp add privatenote -- npx -y privatenote-mcp. Cela écrit ~/.codex/config.toml. Les notes propres à Codex sont dans Utiliser PrivateNote avec OpenAI Codex.
Auto-hébergé : définis PRIVATENOTE_API_BASE_URL et PRIVATENOTE_WEB_ORIGIN dans le bloc env du MCP pour que le texte chiffré ne quitte pas ton infrastructure. Optionnellement PRIVATENOTE_MCP_ALLOWED_ROOTS. N’ajoute pas PRIVATENOTE_MCP_ALLOW_ONE_SHOT sauf si tu as un hôte d’automatisation très cadré, sans outils d’envoi.
Usage quotidien : e-mail
L’e-mail reste le moyen dont les entreprises envoient contrats, NDA, factures avec coordonnées bancaires et exports clients. Le mode d’échec, c’est de joindre le fichier. La boîte garde alors une copie déchiffrable pendant des années, y compris côté destinataire, dans les traces BCC et l’e-discovery.
Le schéma MCP : l’agent connaît déjà l’adresse d’Alice et les deux PDF locaux. Il ne doit pas ouvrir ces PDF. Il se connecte si besoin, appelle create_private_note avec filePaths, sendChannel et sendRecipient pour que l’aperçu nomme Alice, attend ton approbation, puis confirm_private_note. Seulement alors l’outil mail peut mettre uniquement secureUrl dans le corps du message. Si tu utilises la vérification du destinataire, le lecteur doit prouver qu’il possède l’adresse avant que la note se déverrouille — ce gate n’envoie pas le mail ; ton outil mail le fait toujours.
Envoie ces deux fichiers à Alice par e-mail. Protège-les avec le mot de passe dans /absolute/path/client-password.txt. N’expose ni les fichiers ni le mot de passe au modèle : /absolute/path/contract.pdf /absolute/path/nda.pdf
- L’agent appelle
sign_ins’il n’y a pas de session plugin, puiscreate_private_noteavecfilePaths,passwordFilePath,sendChannel: "email"etsendRecipient. Tu approuves l’aperçu. Puisconfirm_private_note. - L’objet peut dire « dossier contrat » — il ne doit pas citer des clauses du PDF.
- Envoie la phrase secrète dans un second message, un appel ou un partage de gestionnaire de mots de passe — jamais dans le même mail que le lien. Voir comment partager un mot de passe en sécurité.
- Pour un destinataire nommé sur un plan payant :
requireRecipientVerification: trueetrecipientEmail: "alice@example.com".
C’est le même modèle de livraison que envoyer des documents sensibles en sécurité, sauf que l’assistant a le droit de l’exécuter sans devenir lecteur du dossier.
Usage quotidien : Slack
Slack, c’est là que l’astreinte se passe. Les mots de passe de base de staging, les tokens de déploiement et « le CSV de la finance » tombent dans un fil parce que tout le monde y est déjà. La recherche de l’espace en fait ensuite un wiki interne permanent de secrets.
Demande une remise basée sur un chemin et une mèche courte. Quinze minutes suffisent si le coéquipier est en ligne. Brûle après lecture pour qu’un hit de recherche plus tard soit un lien mort, pas un identifiant vivant. Traite l’URL comme le secret : ne la poste pas dans un canal public ; utilise un MP ou un canal privé dédié.
Envoie à Mark le mot de passe de base dans /absolute/path/secrets/db-password.txt sur Slack. Lecture unique, expiration dans 15 minutes. Ne lis pas le fichier dans le chat.
create_private_noteaveccontentFilePath,expiresIn: "15m",burnAfterReading: true, et la destination Slack liée à l’aperçu. Approuve, puisconfirm_private_note.- Si Slack est connecté comme autre outil MCP, l’agent ne peut poster que
secureUrlvers la destination approuvée une foissendAuthorizedà true. Sinon il te donne l’URL à coller. - Après que Mark l’a ouvert, fais tourner le mot de passe s’il s’agissait d’un secret de staging partagé — la note a réduit les copies restantes ; elle n’a pas rendu unique un identifiant partagé.
Usage quotidien : Discord
Discord est le canal ops par défaut de beaucoup de communautés produit et d’équipes proches du jeu. Les tokens de bot, les clés Cloudflare et « voici le tableur des utilisateurs signalés » sont collés dans les MP des mods parce que Discord est là où sont les mods.
Un message Discord reste un message stocké. Les membres du serveur avec le bon rôle, les sauvegardes d’appareils et la recherche de Discord le garderont. Le schéma MCP est identique à Slack : chiffrer le fichier ou le token localement, mettre le lien dans le MP, fixer une courte expiration. Si le token a déjà été collé plus tôt sur le même serveur, fais-le tourner — envelopper un secret déjà fuité ne défait pas la fuite.
Envoie en MP au responsable de communauté le token de bot dans /absolute/path/secrets/discord-bot.txt et l’export de modération à /absolute/path/reports/export.csv. Lecture unique, 1 heure, n’ouvre pas ces fichiers.
- Les pièces jointes exigent
sign_in. Une note qui n’est qu’un token peut utilisercontentFilePathsans session. - Lie la destination Discord à l’aperçu, approuve-la, puis
confirm_private_note. Seulement alors un outil Discord peut envoyer l’URL. - Préfère un MP utilisateur à un collage dans le canal mod. Un « canal privé » reste une transcription.
- Si l’export contient des données personnelles, ajoute un fichier de phrase secrète et dis la phrase au responsable lors d’un appel vocal.
Usage quotidien : WhatsApp
WhatsApp est le canal que tu utilises quand l’autre personne ne rejoindra pas Slack et ne regardera pas l’e-mail avant lundi. Un prestataire, un assistant de family office, un client sur un téléphone. Le chiffrement de bout en bout est réel. La persistance aussi : le chat est un enregistrement, souvent sur plusieurs appareils, souvent sauvegardé.
Tu n’as pas besoin qu’ils installent PrivateNote. Tu as besoin qu’ils tapent un lien. Le travail de l’assistant est de préparer ce lien à partir d’un fichier local que tu as déjà — PDF de facture, mot de passe Wi-Fi, code de portail à usage unique — sans le lire d’abord dans le fil Cursor ou Claude. Tu approuves toujours l’aperçu (fichier exact et destination WhatsApp) avant que confirm_private_note crée l’URL.
Envoie le pack d’onboarding à /absolute/path/client/onboarding.pdf à Ana sur WhatsApp. Brûle après lecture, expire demain. Ne lis pas le PDF.
WhatsApp prévisualise les URL. Cet aperçu est la page d’atterrissage PrivateNote, pas le fichier déchiffré. Quand même : ne mets pas la phrase secrète dans le même chat. Si le numéro peut être faux, crée la note, envoie le lien, et révoque si elle ne l’a jamais ouvert. Les avocats et autres expéditeurs professionnels qui ont besoin d’une page de révélation à leur marque plutôt que d’une bulle verte devraient lire la livraison client sécurisée pour les cabinets.
Connecte-toi quand la charge est un fichier
Les notes texte seules issues de contentFilePath peuvent être créées sans compte, sous les mêmes limites publiques que le site. La pièce jointe est différente. Le MCP doit d’abord appeler sign_in. Cela ouvre une page d’approbation dans le navigateur (l’autorisation est déjà dans l’URL — il n’y a pas de code à taper). Après que tu cliques sur Approve, l’agent rappelle sign_in avec pollDeviceCode. La session est stockée dans ~/.config/privatenote/mcp-session.json et envoyée en Authorization: Bearer. Elle ne remplace pas ta session cookie du site.
- L’agent lance sign_in() — le navigateur s’ouvre
- Tu cliques sur Approve sur la page PrivateNote
- L’agent interroge avec pollDeviceCode, puis whoami()
- L’agent appelle create_private_note avec des chemins de fichiers (aperçu — pas encore d’URL)
- Tu approuves les fichiers exacts, l’expiration et la destination
- L’agent appelle confirm_private_note, puis toi (ou un autre outil) n’envoies que secureUrl sur le canal humain
whoami montre le compte connecté. sign_out supprime le fichier de session du plugin. Traite ce fichier comme un identifiant pour cette machine.
Installe privatenote-mcp dans Cursor, Claude Desktop ou Codex. L’agent garde le flux ; le processus local garde le secret.
Ouvrir le guide d’installation MCPAprès l’envoi du lien
Une bonne remise ne s’arrête pas quand le message quitte Slack. Les sessions payantes et connectées peuvent traiter la livraison comme des événements, pas des contenus : créé, ouvert, expiré, révoqué. list_sent_notes renvoie des ids, un statut et openedAt — jamais le texte en clair. revoke_sent_note invalide une note non ouverte. notifyOnOpen envoie un e-mail à ton compte PrivateNote quand la note est ouverte pour la première fois ; l’agent apprend l’ouverture en interrogeant list_sent_notes. Il n’y a pas de webhook push vers Cursor.
sign_in()
create_private_note({
filePaths: [
"/absolute/path/signed-contract.pdf",
"/absolute/path/customer-export.csv"
],
expiresIn: "24h",
burnAfterReading: true,
requireRecipientVerification: true,
recipientEmail: "john@example.com",
notifyOnOpen: true,
label: "contract-for-john",
sendChannel: "email",
sendRecipient: "john@example.com"
})
# wait for user approval of that exact destination
confirm_private_note({ confirmationId: "<from preview>" })
# email or Slack only secureUrl to John
# later: list_sent_notes() and look for openedAt on that noteIdLa vérification du destinataire est un gate de déverrouillage sur PrivateNote, pas un substitut à l’envoi du message. Les alertes d’ouverture exigent un e-mail d’expéditeur vérifié sur le compte. Les accusés de statut seuls sont expliqués dans savoir quand un lien secret a été ouvert. Les agents avec un large accès aux outils ont toujours besoin du modèle de permissions de sécuriser les agents IA comme des employés.
La réserve honnête sur la vie privée
L’affirmation forte — « l’IA n’a jamais vu les octets du fichier » — tient quand l’hôte respecte les instructions chemin d’abord et que tu n’as jamais collé la charge dans le prompt. Elle ne signifie pas que l’agent ne peut pas voir secureUrl après confirmation. Un appel d’outil MCP normal peut encore exposer les arguments à l’hôte. C’est pourquoi les outils préfèrent les chemins : l’argument est /Users/you/secrets/db-password.txt, pas le mot de passe.
Si tu tapes create a PrivateNote for sk_live_abc123, un fournisseur de modèle cloud peut traiter cette chaîne avant que le MCP ne tourne. PrivateNote ne stockera toujours que du texte chiffré, et Slack ne recevra toujours qu’un lien. Tu as amélioré la fuite en aval. Tu n’as pas gardé le secret hors du modèle. Pour un maximum de confidentialité, garde les secrets dans des fichiers (ou utilise l’extension VS Code / Cursor pour que l’éditeur chiffre sans l’agent), et dis le chemin à l’assistant.
- Ne demande pas au modèle de « vérifier le PDF d’abord » ou de le résumer. Cela force une lecture avec un autre outil.
- Ne mets pas la phrase secrète dans le même Slack, WhatsApp ou e-mail que l’URL.
- Traite
secureUrlcomme le secret. L’agent peut la voir dans le résultat de l’outil. Ne la commite pas, ne la journalise pas, ne la colle pas dans un canal Discord public. - Recharge le client MCP après une mise à jour de
privatenote-mcppour que instructions et schémas restent à jour. Laisse le one-shot désactivé.
Questions fréquentes
Le MCP PrivateNote envoie-t-il lui-même Slack, Discord, WhatsApp ou l’e-mail ?
Non. Il chiffre localement et renvoie une URL plus des métadonnées. La livraison utilise ce que tu utilises déjà — un autre serveur MCP (Gmail, Slack, …), ou toi qui colles le lien. Créer une note n’est pas la permission de l’envoyer. sendAuthorized n’est true que si tu as approuvé ce canal et ce destinataire exacts dans l’aperçu.
Pourquoi dois-je confirmer avant que le lien soit créé ?
La confirmation lie les octets exacts du fichier, les options de la note et la destination. Sans elle, un agent qui a aussi des outils mail ou chat pourrait chiffrer le mauvais fichier ou envoyer le bon lien à la mauvaise personne en un tour. Le mode one-shot saute cet aperçu. Laisse-le désactivé, surtout si le même hôte peut envoyer des messages ou des fichiers.
L’agent peut-il voir l’URL déchiffrable ?
Oui, dans l’hôte MCP actuel. secureUrl est renvoyé dans le résultat de l’outil pour qu’un outil de livraison puisse l’envoyer. L’agent ne doit toujours pas voir les octets du fichier. Posséder l’URL peut déverrouiller la note — traite-la comme une capacité au porteur, pas comme « le modèle ne peut pas accéder au secret ».
Le destinataire doit-il installer quelque chose ?
Non. Il ouvre le lien complet dans un navigateur ordinaire. Aucun compte PrivateNote n’est requis pour révéler une note. Une phrase secrète ou une vérification e-mail peut encore être nécessaire si tu as activé ces gates.
Puis-je joindre des fichiers sans me connecter ?
Non. La pièce jointe, list/revoke, la vérification du destinataire et les notifications d’ouverture exigent sign_in. Une note texte seule issue de contentFilePath peut être créée sans session, dans les limites publiques.
Et si l’assistant lit quand même le fichier ?
Alors la frontière de confidentialité est déjà rompue pour ce tour. Les instructions MCP disent aux hôtes de ne pas le faire. Si ton client les ignore, continue d’utiliser l’extension de l’éditeur ou l’app web, et ne pointe pas l’agent vers le fichier. Tu peux toujours envoyer l’URL que l’extension a produite.
Le burn-after-read arrête-t-il les captures d’écran ?
Non. Une fois qu’un destinataire légitime déchiffre la note, il peut copier, photographier ou re-téléverser. Le burn-after-read et l’expiration réduisent les copies restantes sur le service et dans l’historique du chat. Ils ne peuvent pas effacer à distance ce que quelqu’un a déjà capturé. Pour les documents, l’accès fichier en lecture seule sur Business réduit le téléchargement occasionnel ; ce n’est pas une interdiction de photographier.
Laisse l’agent envoyer le lien. Garde le fichier hors du modèle.
Installe privatenote-mcp, pointe-le vers des chemins locaux, et continue d’utiliser l’e-mail, Slack, Discord et WhatsApp comme enveloppes — pas comme coffres. Laisse le one-shot désactivé si le même hôte peut envoyer des messages ou des fichiers.