Contrôle d'accès par rôle
RBAC natif : Roles, RolePermissions, jointures User-Role. Les rôles sont globaux (à l'échelle admin) ou ciblés par Customer (département, BU, équipe régionale). Les jeux de permissions sont granulaires — création de campagne, export de liste, configuration de serveur d'envoi, gestion des forfaits. Les nouveaux rôles sont définis par l'admin ; pas besoin de reconstruire le modèle quand votre organigramme change.
Journal d'audit des activités
Chaque action côté client et côté admin écrit une entrée dans activity_logs : qui a fait quoi, quand, sur quelle ressource. Changements d'abonnement, actions client, événements de changement de forfait, envois de campagne, édits manuels d'abonnés. Vue d'audit par client pour le journal du client ; vue d'audit globale pour le journal de l'équipe sécurité. La rétention est de votre ressort — les lignes vivent dans votre base de données, votre politique d'archivage s'applique.
Quotas et droits par forfait
Chaque Plan porte quatre jeux de limites : crédits, quotas, droits, rate-limits. Les quotas gatent les compteurs de ressources statiques (listes, abonnés, automatisations). Les droits gatent les fonctionnalités (autoriser un serveur d'envoi personnalisé, autoriser l'accès API programmatique). Les rate limits gatent le volume d'envoi par fenêtre. Gating des départements dans une install multi-tenant : Ingénierie sur un forfait haut quota, Marketing sur le forfait promotionnel en masse, Support client sur un forfait transactionnel uniquement.
Cascade RGPD de droit à l'effacement
Quand un abonné exerce son droit à l'effacement, la cascade se déclenche : la fiche d'abonné est purgée, les lignes d'historique d'envoi sont anonymisées, le désabonnement est propagé vers les audiences ad-platforms connectées (Facebook, Google) pour que l'e-mail ne soit pas recréé en aval. L'entrée du journal d'audit préserve l'action (ID du sujet hashé) pour documenter la suppression elle-même dans la piste d'audit.
Serveurs d'envoi personnalisés (SES privé, Postal, Exim)
Faites passer les envois par une identité Amazon SES privée, un MTA Postal on-prem, un relais Exim interne ou n'importe quelle combinaison. Les nouveaux vendeurs d'envoi arrivent sous forme de plugin sending-driver à une seule classe. Utile quand la politique d'entreprise exige que tout le courrier sortant traverse un relais SMTP interne, ou quand un scan DLP se fait sur le chemin d'egress.
Stack standard — Laravel, MySQL, Redis
PHP 8.2+, MySQL 5.7+ / MariaDB 10.3+, Redis (optionnel, pour cache et queues). Serveur Linux standard. Votre équipe plateforme fait déjà tourner cette stack — pas de nouveau moteur de base de données, pas de nouveau runtime, pas de nouvelle orchestration de conteneurs à introduire. Mêmes playbooks de backup, monitoring, scaling et patching. Onze docs développeur parcourent chaque surface d'extension.