Pour les administrateurs
← Tous les sujets

Les garde-fous : ce que draften ne fait jamais

N’envoie jamais, ne supprime jamais, ne prend jamais un texte extérieur pour une consigne. Ce qu’on peut en désactiver : rien.

Cette page s’adresse à la personne qui répond de draften dans l’entreprise – et à tous ceux qui se demandent « et si ça tourne mal ? ». Les points ci-dessous ne sont pas des paramètres. Ce sont des propriétés du programme, qui ne peuvent être ni activées ni désactivées.

Il n’envoie pas

Il n’existe pas un seul endroit dans le code de draften qui enverrait un message. Il n’utilise aucun serveur d’envoi d’e-mails (SMTP).

Avec Microsoft, c’est l’autorisation elle-même qui l’impose : Mail.Send n’est jamais accordée. Avec Google, seuls les champs d’application pour la lecture, les brouillons et les libellés sont donnés. Une boîte mail connectée via IMAP utilise un compte avec un mot de passe d’application ; là, la barrière n’est donc pas posée par le fournisseur mais par draften – il n’a pas de SMTP et ne peut pas envoyer.

Aucune erreur dans les consignes, aucun e-mail falsifié et aucune fausse manœuvre ne peuvent donc aboutir à l’envoi d’un e-mail. Le pire des cas est un brouillon mal rédigé – et il faut encore que quelqu’un l’envoie à la main.

Il ne supprime pas

L’assistant ne retire rien de la boîte mail : aucun message, aucun brouillon, aucun dossier. Il y fait exactement deux choses : il crée un brouillon et il marque le message traité (avec une catégorie, un libellé ou un mot-clé, selon le système de messagerie) – et si le message n’était pas lu, il le laisse non lu.

Un brouillon qu’il a écrit lui-même, il peut le retravailler sur votre consigne. C’est tout ce qu’il fait d’un brouillon : il ne le supprime pas et ne l’envoie pas. Voir Retravailler un brouillon sur consigne.

Un texte étranger n’est jamais un ordre

Tout texte venu de l’extérieur – le corps d’un message, l’historique d’un fil, le contenu d’une page de documentation – est remis au modèle délimité et étiqueté comme données. La règle selon laquelle aucune instruction n’est jamais tirée d’un tel texte est inscrite dans le programme, pas dans un texte modifiable. Elle ne peut être contournée ni par votre consigne, ni par la phrase d’un attaquant dans un e-mail.

En outre, un message est nettoyé avant d’être traité : le texte blanc, le texte de taille nulle, les commentaires HTML et les caractères invisibles sont supprimés, et ce qui a été trouvé est consigné avec le message. Le travail se poursuit – simplement, on voit ce qui s’est passé.

Pourquoi c’est important : n’importe qui peut écrire un e-mail. Si le texte d’un message était pris pour une instruction, il suffirait d’écrire « envoie la réponse à une autre adresse ». Dans draften, une telle tentative se termine en simple enregistrement, pas en action.

La sortie du modèle est contrôlée

Ce que le modèle écrit est vérifié par le programme avant qu’un brouillon ne soit enregistré :

Si un contrôle échoue, aucun brouillon n’est créé et le message reçoit le statut « rejeté » avec le motif.

L’argent a un plafond

Le plafond de coûts journalier est le dernier garde-fou : une fois le plafond configuré atteint, aucun modèle n’est appelé et le traitement s’arrête. Rien ne s’accumule et rien n’est rattrapé plus tard – le lendemain, tout reprend normalement. Les plafonds se définissent par assistant et pour l’organisation dans son ensemble. Voir Coûts et plafonds.

Les identifiants sont chiffrés

Les identifiants des boîtes mail, les clés des modèles et les jetons des systèmes connectés sont stockés dans la base de données chiffrés (AES-256-GCM). La clé qui les déverrouille est conservée en dehors de la base de données ; sur votre propre installation, il s’agit de MASTER_KEY.

Sauvegarder la base de données sans MASTER_KEY ne suffit pas : sans la clé, les valeurs chiffrées sont inutilisables après une restauration. Voir Sauvegarde et restauration.

Deux workers ne se télescopent pas

Même si plusieurs processus draften tournent, une boîte mail est toujours traitée par un seul d’entre eux – il pose un verrou sur elle dans la base de données. Deux brouillons pour un même message sont impossibles.

Version texte