WhatsApp et RGPD : opt-out et consentement pour agents IA

Gérer STOP, le consentement et la mention « vous parlez à une IA » pour un agent IA WhatsApp : RGPD, AI Act, LGPD brésilienne, règles WhatsApp et note CNIL 2026.

Un interrupteur minimaliste en position arrêt à côté d'une bulle de discussion arrondie, l'interrupteur bordé de vert.

L’essentiel

  • Le consentement n'est qu'une base légale parmi d'autres (une sur six dans le RGPD, une sur dix dans la LGPD brésilienne), mais le droit d'arrêter n'est pas facultatif : selon le RGPD, une personne peut s'opposer à tout moment à la prospection directe, et retirer son consentement doit être aussi simple que le donner.
  • L'AI Act européen impose depuis le 2 août 2026 que les chatbots disent aux gens qu'ils parlent à une IA, au plus tard lors de la première interaction.
  • Sur whasp, un STOP, UNSUBSCRIBE, OPTOUT, CANCEL, END ou QUIT exact en majuscules, ou n'importe quelle graphie de « opt out », bloque automatiquement la conversation ; « stop » en minuscules et « s'il te plaît, arrête » sont à vous de les repérer.
  • whasp lève son blocage quand la personne écrit de nouveau : tenez donc votre propre registre de qui a accepté quoi, et quand.
  • Les serveurs de whasp ne conservent aucun message : l'historique, la conservation et la suppression sont votre travail, et la note de la CNIL de juillet 2026 sur l'IA agentique suggère une mémoire qui expire et qui se supprime facilement.

Un agent IA sur WhatsApp a besoin de quatre choses : une désinscription (opt-out) qui fonctionne toujours, une base légale pour les données de conversation qu’il conserve, une mention claire que l’utilisateur parle à une IA, et des preuves de ces trois points. Les règles viennent du RGPD, de l’AI Act européen (article 50, depuis le 2 août 2026), de la LGPD brésilienne et des politiques propres à WhatsApp.

Pourquoi l’opt-out compte-t-il doublement pour un agent WhatsApp ?

L’opt-out compte pour deux raisons distinctes : la loi, et la santé de votre numéro.

La loi fixe des plafonds élevés. Une violation des conditions du consentement ou des droits d’une personne peut coûter jusqu’à 20 millions d’euros ou 4 % du chiffre d’affaires annuel mondial (article 83(5)). La LGPD brésilienne autorise des amendes de 2 % du chiffre d’affaires réalisé au Brésil, plafonnées à R$50 millions par infraction, applicables depuis le 1er août 2021 (articles 52 et 65). L’AI Act prévoit 15 millions d’euros ou 3 % en cas de manquement à l’obligation de transparence (article 99(4)).

Le numéro a son propre risque. Les comptes personnels relèvent des conditions d’utilisation générales de WhatsApp, et les numéros qui se comportent comme des bots, surtout ceux qui écrivent à des inconnus, se font bannir. Sur la Business Platform, la Business Messaging Policy de WhatsApp, mise à jour le 23 septembre 2026, indique que les entreprises ne peuvent contacter que les personnes qui ont donné leur opt-in, qu’elles doivent respecter les demandes d’opt-out, et que des retours négatifs importants de la part des utilisateurs peuvent entraîner des limitations ou un retrait. Traitez un blocage sur un numéro personnel de la même façon : c’est le signal le moins coûteux qu’un utilisateur puisse envoyer, et un STOP qui fonctionne lui offre une meilleure option. La règle de whasp selon laquelle l’utilisateur écrit toujours en premier existe pour la même raison : les messages à froid sont ce qui fait bannir les numéros personnels. Pourquoi WhatsApp bannit des numéros passe en revue les autres signaux.

Que demandent le RGPD et la LGPD brésilienne ?

Les deux lois traitent le numéro de téléphone, le nom et les messages comme des données personnelles, et toutes deux donnent aux personnes un contrôle sur ces données. Si vous proposez l’agent à des personnes dans l’UE, le RGPD s’applique. La LGPD couvre les traitements réalisés au Brésil, les services destinés à des personnes au Brésil et les données collectées sur place (article 3). Les deux textes se recoupent largement :

Sujet RGPD (UE) LGPD (Brésil)
Le consentement est-il obligatoire ? Une base légale parmi six (art. 6(1)) ; le contrat et les intérêts légitimes peuvent couvrir une conversation lancée par l’utilisateur Une base légale parmi dix (art. 7)
Données sensibles (santé, vie sexuelle) Exige une exception comme le consentement explicite (art. 9(2)(a)) Consentement spécifique et en évidence, ou un autre motif listé (art. 11)
Prouver le consentement Le responsable de traitement doit pouvoir le démontrer (art. 7(1)) La charge de la preuve pèse sur le responsable (art. 8, § 2)
Retirer son consentement Aussi simple que de le donner (art. 7(3)) À tout moment, par une procédure gratuite et facilitée (art. 8, § 5)
Ce que vous devez dire aux utilisateurs Responsable, finalités, base légale, durée de conservation, droits (art. 13) Finalité, durée, responsable, contact, droits (art. 9)
Suppression Effacement quand les données ne sont plus nécessaires ou que le consentement est retiré (art. 17) Effacement des données traitées avec consentement (art. 18, VI)
Amende maximale 20 millions d’euros ou 4 % du chiffre d’affaires annuel mondial 2 % du chiffre d’affaires au Brésil, jusqu’à R$50 millions par infraction

Trois points comptent surtout pour un agent de conversation.

Choisissez une base pour chaque finalité. Répondre à une personne qui s’est inscrite à votre service peut reposer sur le contrat. Le consentement convient aux à-côtés : données de santé, réutilisation des conversations pour un usage que la personne n’attendait pas, tout ce qu’elle peut refuser sans perdre le service. Le consentement doit aussi être spécifique, et le RGPD demande de tenir le plus grand compte du fait que l’exécution du service soit subordonnée ou non au consentement à des données qui ne lui sont pas nécessaires (article 7(4)).

Le droit d’arrêter est distinct du consentement. Selon le RGPD, une personne peut s’opposer à tout moment à la prospection directe, et ses données ne doivent plus être traitées à cette fin (article 21(2) et (3)). C’est le cœur juridique de STOP.

Répondez à temps aux demandes de suppression. Le RGPD fixe un délai d’un mois, prolongeable de deux mois (article 12(3)).

L’AI Act européen impose-t-il de dire qu’on est une IA ?

Oui, depuis le 2 août 2026, avec une exception étroite. L’article 50(1) de l’AI Act impose aux fournisseurs de concevoir les systèmes d’IA qui interagissent avec des personnes de façon que celles-ci soient informées qu’elles échangent avec une IA. L’exception ne vaut que lorsque c’est évident pour une personne raisonnablement bien informée, attentive et avisée. L’article 50(5) précise que l’information doit être claire et fournie au plus tard lors de la première interaction. Une conversation qui démarre dans WhatsApp, depuis un contact avec un nom et une photo, doit donc l’indiquer dans le profil et dans le premier message.

Le délai de grâce jusqu’au 2 décembre 2026 ne couvre que le marquage lisible par machine des contenus générés, prévu à l’article 50(2), pour les systèmes déjà sur le marché. Il ne couvre pas l’article 50(1). Les règles de sécurité des compagnons IA donnent les détails, avec les obligations de la Californie et de New York.

Que change la note de la CNIL de juillet 2026 pour les agents dotés de mémoire ?

Le 20 juillet 2026, la CNIL et le Conseil de l’IA et du Numérique ont publié une note exploratoire sur l’IA agentique et les données personnelles. Elle ne crée aucune obligation nouvelle. Elle affirme que le RGPD s’applique pleinement aux systèmes agentiques, c’est-à-dire aux programmes construits sur des modèles génératifs qui décident, orchestrent des actions et appellent des services tiers.

Elle ne fait pas du consentement la réponse. Son inquiétude, c’est la mémoire. Une mémoire persistante construit des profils détaillés, met à mal la limitation des finalités, la minimisation des données et la limitation de la conservation, et rend les droits difficiles à exercer quand les données sont réparties à plusieurs endroits et que la personne ne peut pas savoir ce qui a été conservé ni où cela est passé. Ses pistes pour les concepteurs : une mémoire séparée par agent et par finalité, une mémoire de taille limitée ou qui expire, une trace des données et des services utilisés pour chaque tâche, un contrôle de l’utilisateur sur ce à quoi l’agent peut accéder, une validation humaine pour les actions critiques et un interrupteur d’arrêt (kill switch). Si votre agent WhatsApp conserve des notes sur les personnes, ces pistes font un bon cahier des charges.

Comment un agent doit-il gérer STOP et les autres demandes d’opt-out ?

Sur whasp, STOP fonctionne au niveau du numéro, et vous ajoutez le reste. Un message entrant qui est exactement STOP, UNSUBSCRIBE, OPTOUT, CANCEL, END ou QUIT (en majuscules), ou n’importe quelle graphie de « opt out », désinscrit automatiquement la conversation. Les envois vers cette conversation renvoient 403 chat_opted_out, et les messages encore dans la file échouent avec message.failed et la même erreur. Un envoi avec "override_optout": true passe malgré tout : c’est ainsi que vous confirmez la désinscription. Le blocage se lève dès que la personne écrit de nouveau.

Deux lacunes vous reviennent. Le « stop » en minuscules et les demandes polies (« s’il te plaît, arrête », « laisse-moi tranquille ») ne sont pas reconnus. Et comme le blocage se lève quand la personne écrit, whasp ne peut pas savoir si elle veut de nouveau recevoir des relances. Tenez votre propre indicateur.

declare function recordOptOut(chat: string, messageId: string, text: string): Promise<void>;
declare function hasFollowUpConsent(chat: string): Promise<boolean>;

// whasp bloque STOP, UNSUBSCRIBE, OPTOUT, CANCEL, END, QUIT exacts en majuscules et "opt out".
// Tout le reste est à vous.
const WHOLE_MESSAGE = /^\s*(please\s+|s'il te pla[iî]t,?\s+)?(stop|unsubscribe|opt[ -]?out|arr[êe]te|d[ée]sinscris[- ]moi)( now| please| maintenant| s'il te pla[iî]t)?\s*[.!]*\s*$/i;
const PHRASES = /\b(stop (texting|messaging|writing to|contacting) me|leave me alone|no more (messages|texts)|don'?t (text|message|contact) me|ne m'[ée]cris plus|arr[êe]te de m'[ée]crire|laisse[- ]moi tranquille|plus de messages)\b/i;

export async function onInbound(message: { id: string; chat: string; text: string | null }) {
  const text = message.text ?? "";
  if (!WHOLE_MESSAGE.test(text) && !PHRASES.test(text)) return false;

  await recordOptOut(message.chat, message.id, text); // qui, quand, quel message, quels mots
  await fetch("https://api.whasp.ai/v1/messages", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.WHASP_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": `optout-${message.id}`,
    },
    body: JSON.stringify({
      to: message.chat,
      text: "Désinscription faite. Je n'enverrai plus rien de moi-même. Écris-moi quand tu veux.",
      override_optout: true, // laisse passer cette seule confirmation
    }),
  });
  return true; // traité : ne pas le transmettre au modèle
}

// whasp lève son blocage quand la personne écrit de nouveau. Votre indicateur ne se lève que sur un oui explicite.
export const mayStartFollowUp = (chat: string) => hasFollowUpConsent(chat);

Le premier motif ne correspond que lorsque le message entier est la demande : « stop, tu me fais rire » ou « arrête de rire » passent donc à votre modèle. Le second attrape les formulations courantes où qu’elles se trouvent. Pour moins de ratés, demandez aussi à votre modèle de classer les messages courts, et gardez les motifs comme plancher. Testez avec les langues dans lesquelles écrivent vos utilisateurs.

Que faut-il consigner, et pendant combien de temps ?

Tenez un petit journal des consentements et des opt-out, car le RGPD comme la LGPD font peser la charge de la preuve sur vous. Pour chaque personne, conservez :

  • le numéro de téléphone et votre identifiant utilisateur interne
  • ce à quoi elle a consenti, la formulation exacte qu’elle a vue, la version de votre notice et l’heure
  • le moment où vous lui avez dit qu’elle parlait à une IA
  • chaque opt-out : l’identifiant du message, les mots employés et l’heure
  • chaque demande de suppression et la date à laquelle vous l’avez traitée

Les serveurs de whasp ne conservent aucun message. WhatsApp garde les conversations sur le téléphone du numéro, comme n’importe quel téléphone, et le téléphone et ses données sont effacés quand le numéro prend fin. Un message entrant ne vous parvient qu’une fois, dans l’événement message.received, et les fichiers envoyés par les gens restent téléchargeables 24 heures. L’historique, la conservation et la suppression relèvent de votre système. Écrivez une règle de conservation par type de données, informez-en les utilisateurs dans votre notice et lancez la suppression selon le calendrier prévu. La mémoire de conversation présente un schéma avec expiration, et la gestion des webhooks explique comment recevoir les événements en sécurité.

Que faire ensuite ?

  1. Ajoutez le gestionnaire d’opt-out ci-dessus et testez « stop » en minuscules, « s’il te plaît, arrête » et les langues de vos utilisateurs.
  2. Rédigez votre notice : qui vous êtes, ce que fait l’agent, qu’il s’agit d’une IA, ce que vous conservez et pendant combien de temps, et comment arrêter ou supprimer.
  3. Affichez la notice avant le début de la conversation et écrivez « IA » dans le profil et dans le premier message.
  4. Consignez les consentements et les opt-out avec l’heure, et fixez une règle de conservation.

Cet article décrit le texte des lois et des politiques au 19 octobre 2026. Il ne constitue pas un avis juridique : faites relire votre notice et votre base légale par un juriste.

Questions

Faut-il un consentement pour faire tourner un chatbot IA sur WhatsApp ?

Pas toujours. Selon le RGPD, le consentement est une base légale parmi six, et répondre à une personne qui vous a écrit pour un service peut reposer sur le contrat. Il faut un consentement explicite pour les données de catégories particulières, comme la santé (article 9(2)(a)), et une personne peut toujours s'opposer à la prospection directe (article 21(2)).

Qu'est-ce qui compte comme un opt-out pour un agent IA WhatsApp sur whasp ?

Un message qui est exactement STOP, UNSUBSCRIBE, OPTOUT, CANCEL, END ou QUIT (en majuscules), ou n'importe quelle graphie de « opt out ». Les envois vers cette conversation renvoient ensuite 403 chat_opted_out. Les demandes polies comme « s'il te plaît, arrête » sont à vous de les repérer.

Un agent IA WhatsApp doit-il dire qu'il est une IA ?

Dans l'UE, oui, sauf si c'est évident pour une personne raisonnablement bien informée : l'article 50(1) de l'AI Act s'applique depuis le 2 août 2026. La Californie et New York ajoutent des obligations pour les chatbots compagnons. L'indiquer dans le profil et dans le premier message est l'habitude la plus simple.

Combien de temps puis-je conserver l'historique des conversations WhatsApp ?

Il n'y a pas de durée fixe. Le RGPD demande de ne pas conserver les données personnelles plus longtemps que nécessaire pour la finalité (article 5(1)(e)), et vous devez indiquer aux utilisateurs la durée ou les critères (article 13(2)(a)). Fixez une règle de conservation, écrivez-la et supprimez selon le calendrier prévu.

whasp stocke-t-il les messages de mes utilisateurs ?

Non. whasp fait transiter les messages vers votre webhook ou vers WhatsApp. Un message entrant ne vous parvient qu'une fois, dans l'événement message.received, et les fichiers envoyés par les gens restent téléchargeables 24 heures. Votre système conserve l'historique.

Tous les articles