Preuve d'opt‑in pour les notifications : modéliser le consentement par canal
Mettez en place une preuve d'opt‑in pour les notifications par canal, enregistrez des preuves claires et gérez les changements et audits sans embrouiller vos utilisateurs ni votre équipe.

Que signifient vraiment le consentement et la preuve d'opt-in
Le consentement signifie qu'une personne a clairement accepté de recevoir un type précis de message sur un canal précis. Cette distinction compte parce que l'email, le SMS et les push ne sont pas perçus de la même façon par les utilisateurs, les opérateurs, les plateformes d'app et les lois sur la vie privée. Quelqu'un peut apprécier une mise à jour de livraison par email, mais se sentir surpris par un SMS promotionnel.
La preuve est ce que vous pouvez montrer plus tard quand quelqu'un demande : « Pourquoi m'avez-vous envoyé un message ? » La preuve d'opt‑in n'est pas une capture d'écran d'un formulaire ou une note vague comme « utilisateur abonné ». C'est un enregistrement qui vous permet de retracer qui a accepté, à quoi il a accepté, quand cela s'est produit et comment cela a été capturé.
Quand les enregistrements sont faibles, les problèmes apparaissent vite. Le support ne peut pas expliquer des messages inattendus, les remboursements augmentent et la confiance diminue. Si une plainte monte en puissance, vous pouvez aussi avoir du mal à montrer que le consentement existait au moment de l'envoi — souvent le détail le plus important.
Le consentement, ce n'est pas juste un popup
Beaucoup d'équipes se concentrent sur l'interface (cases à cocher, interrupteurs, dialogues de permission OS) et oublient la piste d'audit derrière. L'objectif réel est la confiance et la traçabilité. Un modèle de consentement clair facilite la bonne décision à chaque fois, même quand le personnel change, que les systèmes migrent ou que les utilisateurs changent d'avis.
Un enregistrement de consentement pratique répond à quelques questions de base :
- Qui a accepté (l'identifiant utilisateur et, si pertinent, la destination comme une adresse email ou un numéro de téléphone)
- Quoi ils ont accepté (canal et type de message ou finalité)
- Quand cela s'est produit (horodatage en UTC, ou horodatage plus fuseau horaire)
- Comment cela s'est passé (où la demande a été affichée et ce que l'utilisateur a vu, y compris version et langue)
- Contexte qui aide à résoudre les litiges quand c'est pertinent (par exemple, infos app/terminal ou adresse IP)
Pourquoi cela construit de la confiance
Les utilisateurs vous jugent sur les moments qui semblent intrusifs : push tard le soir, facturation surprise par SMS, un email dont ils ne se souviennent pas s'être inscrit. Si vous pouvez afficher l'événement de consentement exact et l'expliquer en langage simple, vous pouvez résoudre les tickets calmement et de manière cohérente.
Si vous construisez avec une plateforme comme AppMaster, traitez le consentement comme une donnée de première classe dès le début : structurée, consultable et difficile à écraser par erreur.
Types de notifications et pourquoi les règles diffèrent
Toutes les notifications ne sont pas traitées de la même façon car elles servent des finalités différentes et atteignent les personnes à différents endroits. Pour obtenir une preuve d'opt‑in fiable pour les notifications, commencez par étiqueter les messages par finalité et par canal.
Transactionnel vs marketing (sens simple)
Les messages transactionnels sont déclenchés par une action de l'utilisateur, ou concernent quelque chose qu'il doit savoir pour utiliser le service. Pensez aux réinitialisations de mot de passe, reçus, alertes de sécurité ou changements de statut de compte. Les gens s'attendent à ces messages, et les bloquer peut casser l'expérience produit.
Les messages marketing sont promotionnels. Pensez aux newsletters, offres produit, campagnes de réengagement ou envois « voici les nouveautés ». Ceux-ci doivent être optionnels, et les utilisateurs doivent pouvoir dire « non » sans perdre l'accès aux fonctionnalités principales.
Règle pratique : si le message est nécessaire pour délivrer ce que l'utilisateur a demandé, il est probablement transactionnel. S'il vise à augmenter l'engagement ou les ventes, il est marketing.
Canaux : email, SMS, push et in-app
Les canaux se comportent différemment, donc le consentement et la preuve sont généralement suivis par canal, pas par une case globale.
L'email est souvent utilisé pour du transactionnel et du marketing. Beaucoup de produits traitent l'email transactionnel comme faisant partie du service de base, mais l'email marketing nécessite généralement un « oui » clair et un moyen évident d'arrêter.
Le SMS semble plus intrusif, peut coûter de l'argent selon les configurations et est soumis à des règles strictes des opérateurs et fournisseurs. Traitez le consentement SMS comme une décision à part.
Les push sont contrôlés par la permission du système d'exploitation et les réglages utilisateur. Votre app peut avoir un token d'appareil, mais l'utilisateur peut désactiver les push à tout moment. Cela change ce que vous pouvez envoyer.
Les messages in‑app apparaissent à l'intérieur du produit. Ils suivent souvent les règles UX produit plus que celles des télécoms, mais les utilisateurs s'attendent toujours à du contrôle, surtout pour les bannières promotionnelles.
Parce que les exigences varient selon les pays et les politiques des fournisseurs, beaucoup d'équipes optent pour une base simple : opt‑in clair pour le marketing par canal, et documentation soigneuse pour tout ce qui pourrait être contesté.
Le « soft opt‑in » est une zone grise courante. En pratique, cela signifie souvent que vous contactez quelqu'un en raison d'une relation existante (par exemple, un client) même s'il n'a pas coché une case marketing dédiée. Même dans ce cas, la documentation compte : quelle était la relation, ce que vous avez envoyé et comment la personne peut se désabonner.
Si vous construisez cela dans AppMaster, gardez le modèle simple : un utilisateur peut accepter l'email marketing mais refuser le SMS, tout en continuant à recevoir les alertes transactionnelles nécessaires. Cette séparation facilite conformité et confiance.
Comment modéliser les opt‑ins par canal (données à stocker)
Pour obtenir une preuve d'opt‑in fiable pour les notifications, votre modèle de données doit être spécifique. « L'utilisateur a accepté » ne suffit pas. Le consentement dépend du canal (email, SMS, push) et de la finalité (marketing, mises à jour produit, alertes de sécurité).
Une approche pratique consiste à traiter le consentement comme un enregistrement à part entière, pas comme une case à cocher enfouie dans le profil utilisateur. Un utilisateur peut avoir plusieurs enregistrements de consentement, et chaque enregistrement doit correspondre à un seul canal et une seule finalité.
Les champs minimums qui vous évitent des ennuis
Commencez par un enregistrement Consentement structuré ainsi : user + channel + purpose + status. Ajoutez ensuite les détails qui rendent l'enregistrement compréhensible plus tard.
Au minimum, la plupart des produits ont besoin de :
- user_id
- channel (email, sms, push - gardez une liste fixe)
- purpose (marketing, product_updates, account_security - gardez une liste fixe)
- status (opted_in, opted_out, pending, unknown)
- opted_in_at / opted_out_at
Pour éviter les suppositions, capturez aussi où cela s'est produit et quand cela a été confirmé pour la dernière fois :
- source (signup_form, settings_page, checkout, support_action)
- last_confirmed_at (utile après les changements de politique)
Instantanés du texte de consentement (pour prouver ce que l'utilisateur a vu)
Le consentement n'est pas juste un clic. C'est l'accord sur des mots précis. Stockez une consent_text_version (ou un court snapshot_id) qui pointe vers le texte exact affiché à ce moment.
Gardez le snapshot simple : le message, la langue/locale et la période d'activité. Si le libellé change, créez une nouvelle version au lieu de modifier l'ancienne.
Un exemple compact ressemble à ceci :
{
"user_id": "u_123",
"channel": "sms",
"purpose": "marketing",
"status": "opted_in",
"opted_in_at": "2026-01-25T10:15:00Z",
"source": "checkout",
"consent_text_version": "sms_mkt_v3",
"last_confirmed_at": "2026-01-25T10:15:00Z"
}
Si vous construisez avec AppMaster, cela se mappe proprement sur un modèle Data Designer (Consent plus ConsentTextSnapshot) et une logique simple dans le Business Process Editor. L'objectif principal est la cohérence : chaque canal et finalité suit la même structure pour que les rapports et audits ne tournent pas au chaos.
Ce qui compte comme preuve, et quoi capturer
La « preuve » est tout ce qui vous permet de répondre à deux questions plus tard : à quoi l'utilisateur a‑t‑il consenti, et comment a‑t‑il consenti ? Pour la preuve d'opt‑in pour les notifications, vous voulez des enregistrements spécifiques, horodatés et liés à une action utilisateur réelle (pas seulement « consent = true").
Commencez par l'action elle‑même. Si le consentement est donné par une case à cocher, un interrupteur ou un lien de double opt‑in, stockez l'interaction et le texte exact affiché (ou un ID de version). Les captures d'écran sont rarement scalables ; une étiquette de copie/version suffit.
Capturez assez de détails pour rendre le moment reproductible :
- type d'action (a coché une case, a activé un interrupteur, a cliqué un lien de confirmation)
- horodatage en UTC
- canal et finalité
- version du texte de consentement ou identifiant de politique/version
- nom de la page ou de l'écran et langue
Ajoutez le contexte technique avec parcimonie. Il peut aider à résoudre des litiges, mais augmente aussi le risque pour la vie privée. Pour le web, l'IP et l'user agent peuvent être utiles dans certains cas. Pour le mobile, considérez un identifiant d'appareil déjà présent dans votre modèle d'identité, mais évitez de collecter d'autres identifiants « au cas où ».
Si vous passez par des fournisseurs, conservez aussi leurs identifiants. Les IDs de message fournis (email, SMS, push) aident à montrer qu'un enregistrement de consentement précis a été utilisé pour un envoi donné lors d'enquêtes ou problèmes de délivrabilité.
Enfin, décidez ce qu'il ne faut pas stocker. Bonne preuve ne signifie pas tout collecter. Évitez de stocker le contenu entier du message si des templates suffisent, et évitez les données d'appareil non liées. Si vous construisez ce flux dans AppMaster, traitez les champs de preuve comme sensibles : maintenez-les cohérents et limitez l'accès aux rôles appropriés.
Étape par étape : mettre en place un flux de consentement et de preuve
Commencez par décider ce pour quoi vous allez demander la permission. Le consentement n'est pas juste « notifications oui/non ». Les gens veulent souvent recevoir les reçus mais pas les promotions. Rédigez vos finalités de notification en langage clair, puis mappez chaque finalité aux canaux prévus.
Concevez les écrans de consentement par canal plutôt qu'un seul prompt mixte. Chaque écran doit préciser ce qui sera envoyé et comment le modifier plus tard. Formulez précisément : « Reçus de commande par email » est plus clair que « Messages transactionnels ».
Un flux pratique ressemble à ceci :
- définir les finalités et lesquelles nécessitent un opt‑in (par ex. marketing vs reçus)
- demander au moment opportun (checkout pour les reçus, après l'onboarding pour les conseils)
- choisir des valeurs par défaut sûres (off pour le marketing ; activé uniquement pour ce qui est nécessaire au service)
- quand un utilisateur change une bascule, écrire immédiatement un enregistrement d'événement (qui, quoi a changé, quand et où)
- placer les vérifications de consentement dans le chemin d'envoi pour que rien ne les contourne, y compris les outils admin et les jobs automatisés
Cet enregistrement d'événement est ce qui prouve le consentement plus tard. Traitez‑le comme un reçu bancaire : append‑only et difficile à modifier après coup. Dans AppMaster, les équipes gardent souvent une table d'état courant pour des vérifications rapides et écrivent des événements de consentement via un Business Process pour que chaque mise à jour produise une entrée d'audit correspondante.
Avant la mise en production, testez les opt‑out et les cas limites. Vous voulez le même résultat que l'utilisateur change ses paramètres sur le web, le mobile ou via la suppression de compte. Portez une attention particulière à :
- se désabonner sur un appareil alors que l'on est connecté ailleurs
- changement de numéro de téléphone ou d'email
- réinstallation de l'app (les tokens push changent)
- achat en tant qu'invité vs utilisateur connecté
- comptes supprimés ou désactivés (ne plus envoyer, tout en conservant la preuve si requis)
Gérer les opt‑out, changements et cycle de vie du compte
L'opt‑in n'est que la moitié du travail. Les gens changent d'avis, changent d'appareil, perdent l'accès à un email ou demandent au support de corriger des réglages. Si se désabonner est difficile, les utilisateurs le remarquent vite et votre « preuve » devient douteuse.
Rendez l'opt‑out aussi simple que l'opt‑in. Placez‑le là où les gens s'attendent à le trouver : paramètres de notification, pied de page des emails marketing, et instructions STOP claires pour le SMS quand c'est requis. Ne le cachez pas derrière « contactez le support » ou des étapes supplémentaires avant que quelqu'un puisse partir.
Quand vous envoyez une confirmation, gardez‑la minimale et n'utilisez‑la que si nécessaire (ou si la loi l'exige). Un seul email « Vous êtes désabonné » peut suffire. Les relances répétées comme « Êtes‑vous sûr ? » ressemblent à du spam. Pour le SMS, une confirmation unique après STOP est souvent attendue. Pour le push, un changement de statut discret dans l'app suffit en général.
Le cycle de vie du compte est un point où beaucoup de systèmes de consentement cassent. Prévoyez ces cas tôt :
- Utilisateurs déconnectés : si quelqu'un se désabonne par email sans être connecté, enregistrez‑le contre l'adresse email, pas seulement contre une session.
- Comptes supprimés : honorez les demandes de suppression, mais conservez un enregistrement minimal de non‑contact quand c'est autorisé pour éviter de les ré‑ajouter par erreur.
- Comptes fusionnés : ne supposez jamais que le consentement se transmet ; résolvez les conflits en choisissant l'option la plus respectueuse de la vie privée.
- Changements d'appareil : un nouveau téléphone crée un nouveau token push ; traitez le token comme une donnée technique et le consentement push de l'utilisateur comme la règle de contrôle.
Écrivez des règles de rétention et appliquez‑les de manière cohérente. Conservez les logs de consentement assez longtemps pour répondre aux plaintes, audits ou rétrofacturations, mais ne gardez pas plus de données personnelles que nécessaire. Si vous devez supprimer des données utilisateur, décidez ce qui peut être anonymisé (par ex. hachage d'un email) tout en conservant l'historique d'événements utile.
Les modifications pilotées par le support nécessitent un processus interne clair. Limitez qui peut éditer le consentement, exigez un code motif (comme « utilisateur a demandé via chat ») et enregistrez qui a fait le changement et quand. Dans AppMaster, les équipes modélisent souvent cela avec une petite table PostgreSQL pour les événements de consentement et une seconde table pour les actions support, puis utilisent un Business Process pour appliquer les changements et écrire une entrée d'audit à chaque fois.
Erreurs courantes qui détruisent la confiance (et votre piste d'audit)
Beaucoup d'équipes ajoutent un interrupteur de consentement, puis le sabotent plus tard avec des raccourcis. Le résultat est prévisible : les utilisateurs se sentent trompés, et quand vous avez besoin de preuve d'opt‑in pour les notifications, les enregistrements ne tiennent pas.
Un piège fréquent est de traiter le consentement comme un oui/non global. Email, SMS et push ont des attentes différentes et souvent des règles juridiques distinctes. Un seul drapeau comme marketing_ok=true rend trop facile l'envoi sur un canal auquel l'utilisateur n'a jamais consenti.
Un autre tueur de confiance est une conception de choix floue. Cases pré‑cochées, mentions minuscules ou contrôles qui regroupent plusieurs finalités (« Mises à jour produit et offres ») entraînent des utilisateurs confus. Votre base peut indiquer « consenti », mais la boîte de support dira le contraire.
Les erreurs qui brisent le plus souvent à la fois la confiance et la preuve sont :
- ne sauvegarder que l'état de consentement le plus récent et supprimer l'historique
- ne pas stocker le texte exact du consentement (et sa version)
- logger « utilisateur opt‑in » sans canal, horodatage et source
- permettre des campagnes manuelles qui contournent les vérifications de consentement
- « corriger » un mauvais réglage en éditant la base, ce qui efface ce qui s'est passé
Un échec typique ressemble à ceci : un utilisateur active le push lors de l'onboarding, désactive ensuite le SMS marketing dans les paramètres, puis se plaint d'un SMS indésirable. Si votre système a écrasé l'ancien enregistrement, vous ne pouvez pas montrer ce qu'il a vu ni quand il s'est désabonné. Pire : vous ne pouvez pas prouver que le consentement SMS a jamais existé.
Traitez le consentement comme l'historique financier : conservez l'état courant pour des contrôles rapides, mais ne perdez pas le passé. Des garde‑fous simples aident : séparer le consentement par canal et par finalité, stocker un ID de texte/locale, forcer chaque chemin d'envoi à travers la même vérification, et écrire de nouveaux événements au lieu de modifier les anciens.
Si vous construisez dans AppMaster, modélisez les événements de consentement comme une table dédiée et imposez la vérification dans un Business Process partagé afin que les notifications automatisées et les actions opérateur suivent les mêmes règles.
Vérifications rapides avant le lancement
Avant d'envoyer de vraies notifications, testez votre piste de consentement comme vous testeriez les paiements. Si vous ne pouvez pas expliquer qui a opté, sur quel canal et sous quel libellé, vous misez la confiance sur des suppositions.
Pour chaque canal (email, SMS, push), assurez‑vous de pouvoir montrer le moment où l'utilisateur a opté et où cela s'est produit. « Où » doit signifier un écran ou un nom de formulaire précis, plus si c'était l'inscription, les paramètres, le checkout ou le support.
Assurez‑vous aussi de pouvoir rejouer le libellé du consentement. Stocker « marketing=true » ne suffit pas. Conservez la version du texte (ou l'ID du template) et la langue affichée. Si le texte change plus tard, vous devez encore pouvoir présenter l'ancien libellé pour ceux qui y ont consenti.
Une courte checklist pré‑lancement qui évite la plupart des problèmes :
- Vous pouvez afficher horodatage, source (web, iOS, Android) et l'emplacement UI pour chaque opt‑in.
- Vous pouvez récupérer le libellé exact du consentement et la langue affichée à l'époque.
- Le dernier opt‑out écrase tout et se reflète partout (y compris dans les jobs en file d'attente).
- Le support peut répondre à « pourquoi ai‑je reçu ceci ? » en moins de 2 minutes depuis une vue utilisateur unique.
- Les logs de consentement ne sont pas éditables et l'accès est limité aux rôles autorisés.
Faites un exercice : un collègue s'inscrit sur le web, se désabonne sur mobile, puis demande au support une explication. Si la réponse nécessite de fouiller des tables brutes ou plusieurs outils, les utilisateurs ressentiront aussi cette friction.
Si vous bâtissez sur AppMaster, traitez la preuve de consentement comme un modèle de données et un process dédié, pas comme un effet secondaire. Une entité de log de consentement dédiée et une vue interne simple pour le support et les auditeurs font la différence, surtout si vous restreignez qui peut y accéder.
Exemple : une utilisatrice, trois canaux, choix qui évoluent
Mina crée un compte sur votre site pour suivre ses commandes. Lors de l'inscription, elle voit des choix séparés pour email, SMS et push. Elle accepte les push pour les mises à jour de commande (une fois l'app installée), garde le marketing email désactivé et laisse le SMS non coché.
Une semaine plus tard, elle installe l'app mobile et se connecte. L'app demande la permission OS pour les push, et elle accepte. C'est là que beaucoup d'équipes se trompent : la permission OS n'est pas la même chose que votre consentement métier. Vous voulez les deux, enregistrés séparément, pour que la preuve d'opt‑in reste claire en cas d'audit.
Voici comment l'histoire de Mina évolue et ce que le support devrait voir comme timeline claire.
Chronologie et instantanés de preuve
- Inscription web (Jour 1)
Vous enregistrez ce qu'elle a choisi (ou pas) sur le web, plus le contexte de la demande.
- Installation mobile et permission push (Jour 8)
Vous enregistrez le token d'appareil et le résultat de la permission OS, liés au compte de Mina, plus la version exacte du prompt affiché dans l'app.
- Changement de numéro (Jour 20)
Elle ajoute un nouveau numéro pour la coordination de livraison. Traitez‑le comme une nouvelle destination SMS et exigez un nouvel opt‑in. Ne transposez pas le consentement de l'ancien numéro.
- SMS révoqué (Jour 35)
Elle répond STOP ou désactive le SMS dans les paramètres. Vous enregistrez l'événement d'opt‑out et cessez d'envoyer immédiatement.
À quoi peut ressembler l'enregistrement d'audit
Voici un exemple simplifié de la piste que le support peut lire quand Mina dit « Je n'ai jamais accepté le SMS ».
[
{
"ts": "2026-01-02T10:14:22Z",
"user_id": "u_123",
"channel": "email",
"purpose": "marketing",
"action": "no_opt_in",
"capture": {"surface": "web_signup", "form_version": "signup_v3"},
"evidence": {"ip": "203.0.113.10", "user_agent": "Chrome"}
},
{
"ts": "2026-01-09T08:03:11Z",
"user_id": "u_123",
"channel": "push",
"purpose": "order_updates",
"action": "opt_in",
"capture": {"surface": "ios_app", "prompt_version": "push_prompt_v2"},
"evidence": {"device_id": "d_77", "os_permission": "granted", "push_token": "..."}
},
{
"ts": "2026-01-21T16:40:05Z",
"user_id": "u_123",
"channel": "sms",
"purpose": "delivery_updates",
"action": "opt_in",
"capture": {"surface": "account_settings", "form_version": "sms_optin_v1"},
"evidence": {"phone": "+15551234567", "verification": "code_confirmed"}
},
{
"ts": "2026-02-05T09:12:44Z",
"user_id": "u_123",
"channel": "sms",
"purpose": "delivery_updates",
"action": "opt_out",
"capture": {"surface": "sms_reply", "keyword": "STOP"},
"evidence": {"phone": "+15551234567"}
}
]
Si vous bâtissez sur une plateforme comme AppMaster, vous pouvez modéliser les événements de consentement dans le Data Designer et les appender via des Business Process à chaque fois qu'un utilisateur touche une bascule, confirme un code ou que l'app reçoit un résultat de permission. L'important est que le support puisse répondre avec des dates, des surfaces et des choix exacts, pas des suppositions.
Étapes suivantes : intégrer cela dans votre workflow produit
Traitez le consentement comme une fonctionnalité produit, pas comme une case à cocher. Le moyen le plus simple de maintenir une preuve d'opt‑in pour les notifications est de l'intégrer au même workflow que vous utilisez pour envoyer des messages, gérer les tickets support et réaliser des audits.
Commencez par un modèle minimal qui sépare préférence courante et preuve historique. Un schéma simple qui fonctionne pour la plupart des produits :
- Users (identité et statut du compte)
- ConsentPreferences (on/off courant par canal, et par finalité si besoin)
- ConsentEvents (chaque changement avec horodatages et contexte)
- MessageSends (chaque tentative d'envoi, incluant la décision de consentement au moment)
Décidez qui peut voir quoi. La preuve de consentement peut contenir IP, user agent, numéro de téléphone ou autres détails sensibles : verrouillez‑la avec un contrôle d'accès basé sur les rôles. Le support a souvent besoin d'une vue chronologique du consentement, mais seul un groupe restreint doit pouvoir l'exporter.
Créez une petite vue interne qui répond rapidement à la question : « Pourquoi avons‑nous contacté cet utilisateur ? » Recherche par utilisateur, filtrage par canal et possibilité d'exporter une timeline quand nécessaire.
Ensuite, automatisez les vérifications de consentement. Chaque envoi doit appeler la même logique : vérifier les ConsentPreferences les plus récentes, confirmer qu'il existe un ConsentEvent valide pour ce canal et cette finalité, et enregistrer la décision dans MessageSends même quand l'envoi est bloqué.
Si vous utilisez déjà AppMaster, un pattern pratique est de garder les tables de consentement dans le Data Designer et d'insérer la porte de consentement dans un Business Process partagé qui s'exécute avant tout email, SMS ou push. Ainsi, les règles restent cohérentes sur le web, les jobs backend et les apps natives.
Une règle simple tient dans le temps : si quelqu'un peut envoyer une notification sans passer par la vérification de consentement, un bug finira par se retrouver en production.
FAQ
Le consentement signifie que la personne a clairement accepté de recevoir un type précis de message sur un canal précis. La preuve d'opt‑in est la pièce justificative que vous pouvez afficher ensuite pour montrer qui a accepté, à quoi ils ont consenti, quand cela s'est produit et comment l'accord a été capturé.
Suivez le consentement séparément pour chaque canal et chaque finalité parce que les attentes et les règles diffèrent. Un modèle simple consiste en un enregistrement de consentement par utilisateur, par canal, par finalité, avec un statut clair et des horodatages.
Un enregistrement de consentement de base doit inclure un identifiant utilisateur, la destination si pertinente (email ou téléphone), le canal, la finalité, le statut courant et la date du changement de statut. Ajoutez la source de la capture et une version du texte de consentement pour pouvoir expliquer la décision plus tard sans deviner.
Enregistrez une version de texte de consentement ou un identifiant de snapshot lié au libellé exact et à la langue affichée au moment de l'accord. Quand le texte change, créez une nouvelle version au lieu de modifier l'ancienne, afin que les anciens opt‑ins restent compréhensibles.
La permission OS montre seulement que l'appareil autorise les notifications ; elle ne signifie pas automatiquement que l'utilisateur a accepté vos finalités métier spécifiques. Enregistrez la permission OS comme état technique et conservez votre propre consentement métier pour des finalités comme le marketing ou les mises à jour de commande.
Par défaut, mettez le marketing sur off et demandez l'autorisation au bon moment (après l'onboarding ou dans les paramètres), plutôt que d'enterrer l'option dans l'inscription. Expliquez simplement et précisément ce que l'utilisateur recevra et comment s'y opposer.
Enregistrez immédiatement un événement d'opt‑out et faites en sorte que le chemin d'envoi vérifie le dernier opt‑out avant d'envoyer quoi que ce soit, y compris les tâches en file d'attente. Rendre l'opt‑out simple évite aux utilisateurs de devoir contacter le support et garantit une timeline claire.
Considérez une nouvelle adresse email ou un nouveau numéro de téléphone comme une nouvelle destination et exigez un consentement frais pour des canaux comme le SMS. Ne supposez pas que le consentement se transfère depuis l'ancienne valeur, car la preuve doit correspondre à la destination exacte que vous avez contactée.
Conservez un tableau d'état courant pour des vérifications rapides, mais gardez aussi un journal append-only qui enregistre chaque changement avec horodatage et contexte. Évitez de modifier ou supprimer les événements passés, car c'est ce qui casse votre capacité à expliquer « pourquoi je reçois ce message ? » plus tard.
Modélisez le consentement comme des données structurées et faites en sorte que chaque changement de bascule crée systématiquement un événement d'audit. Dans AppMaster, les équipes créent typiquement Consent, ConsentTextSnapshot et ConsentEvents dans le Data Designer et imposent la vérification du consentement dans un Business Process partagé avant tout envoi.


