- Contrôle des accès
- Des rôles au sein de l'organisation, avec une table d'implications : propriétaire, administrateur, conseiller du support, relecteur, éditeur de la base de connaissances, observateur. Le droit est vérifié à chaque requête, et pas seulement à la connexion.
- Identifiants des canaux
- Les clés de la messagerie, de l'envoi de messages et des autres canaux sont stockées chiffrées, avec une procédure de rotation prévue.
- Import de contenu depuis une URL
- Protégé contre l'accès aux adresses internes du réseau : une liste des schémas autorisés, la vérification de chaque adresse IP et de chaque saut de redirection, une limite de taille comptée pendant le téléchargement, et aucune transmission des en-têtes d'authentification.
- Le widget sur un domaine tiers
- Un jeton de courte durée dans l'en-tête plutôt qu'un cookie, ainsi qu'une liste de domaines autorisés réglée séparément pour chaque organisation. Une requête venue d'un domaine hors de cette liste n'est pas servie.
- Événements entrants
- Vérification de la signature et protection contre la répétition d'un même événement, fondée sur son identifiant.
- Coupe-circuits
- Appliqués dans la couche de transport, pas dans l'interface. Un canal désactivé n'envoie aucun message, même lorsqu'une couche supérieure le demande.
- Configuration de production
- L'application refuse de démarrer dès qu'elle détecte des réglages prévus pour le travail local. Un environnement de production ne peut pas démarrer par accident en mode test.