Les rôles
Un rôle, c’est une liste de cases à cocher.
La liste est une seule liste : 35 choses qu’une personne peut faire, en 7 groupes, et elle vit dans le produit lui-même plutôt que dans une table que quelqu’un entretient. Quand une nouvelle fonction arrive, sa case arrive avec elle, sur tous les comptes, le jour même.
Les mots à côté des cases sont les vrais. L’éditeur de rôles du portail est dessiné à partir de cette même liste, par le serveur qui l’applique, alors « Play back call recordings » ou « View the whole organization’s call history » veut dire exactement ça, et non une version plus aimable rédigée des mois plus tard.
Un changement s’applique tout de suite. Ce qu’une personne peut faire est établi à l’arrivée de chaque requête, d’après le rôle vers lequel son compte pointe à cet instant : une modification à un rôle est donc en vigueur dès le clic suivant, et non la prochaine fois que la personne se connecte.
Les groupes et leur taille, comme l’éditeur de rôles les liste (dans les mots du portail). Un rôle à vous est une sélection là-dedans, et nulle part ailleurs.
Chaque case fait quelque chose.
Pendant un bout de temps, dix de ces cases ne faisaient rien. Elles étaient dans l’éditeur, on pouvait les cocher et les décocher, et rien sur le serveur ne les vérifiait : décocher « Send SMS » pour un rôle ne changeait rien, et n’importe qui, une fois connecté, pouvait lire tout l’historique de messages de l’entreprise ou supprimer n’importe quel message vocal. Ça n’a jamais été un client qui voyait les données d’un autre ; c’était l’écart entre ce que l’éditeur promettait et ce que le serveur faisait, un défaut difficile à remarquer.
Alors chaque case a maintenant un test qui donne à un rôle seulement celle-là, puis vérifie les deux sens : l’écran qu’elle doit ouvrir, et l’écran voisin qu’elle ne doit pas ouvrir. Ne vérifier que le refus passerait tout aussi bien contre un serveur qui refuse tout, et c’est le genre de test qui donne l’impression qu’un trou est bouché.
Trois rôles prêts à l’emploi, et autant des vôtres que vous voulez.
Chaque entreprise démarre avec les trois ci-dessous, et personne ne peut les modifier ni les supprimer, pas même vous. La raison est étroite et bien réelle : les modifier permettrait à quelqu’un de décocher, sur le rôle qu’il porte lui-même, les cases qui lui donnent accès à l’écran des rôles, et de là, il n’y a plus de chemin de retour.
Un rôle à vous que des gens portent encore ne se supprime pas dans leur dos. On vous dit combien de personnes l’ont et on vous demande de les déplacer d’abord, parce que le supprimer changerait ce que ces gens peuvent faire sans que personne ait décidé que ça change.
Une chose qu’un rôle ne décide pas : pour quelles équipes une personne répond. Un rôle dit si vous pouvez créer une équipe et choisir qui en fait partie. En faire partie appartient à la personne, pas à son rôle : deux personnes aux rôles identiques peuvent donc répondre à des appels complètement différents.
Comment un appel en attente les trouveRôle système
Tenant Admin
Accès complet à toutes les fonctions, y compris la facturation, les rôles et les réglages de l’organisation. Défini comme tout plutôt que comme une liste : ce qui sortira le mois prochain sera à la portée d’un administrateur le jour même, sans rien à passer sur votre compte pour le lui accorder.
Rôle système
Supervisor
Prend des appels et supervise l’équipe, sans accès à la facturation ni aux réglages de l’organisation. Peut voir le menu téléphonique mais pas le changer, et la ligne est tracée là exprès : la personne qui doit répondre à « pourquoi cet appel est-il tombé dans la boîte vocale ? » doit pouvoir voir l’acheminement, tandis que changer où vont les appels d’une entreprise est une décision d’administrateur.
Rôle système
Agent
Prend les appels, les messages et s’occupe des contacts. Le nécessaire pour répondre au téléphone, tout simplement. Voir le bottin en fait partie : les sélecteurs de transfert et d’ajout d’un collègue sont bâtis à partir de lui, et un rôle qui ne l’a pas offre une liste vide au lieu d’une erreur.
Vous ne pouvez pas vous enfermer dehors.
Retirez, au rôle que porte votre unique administrateur, les deux cases qui permettent d’inviter des gens et de modifier les rôles, et plus personne dans l’entreprise ne pourrait administrer quoi que ce soit : ni réinviter un administrateur, ni modifier un rôle, ni atteindre la facturation. S’en sortir voudrait dire que nous allons dans la base de données pour vous. Alors le produit refuse de le faire, sur chaque chemin qui pourrait y mener.
Le refus nomme la sortie au lieu de dire non : donnez d’abord un rôle d’administrateur à quelqu’un d’autre, ou gardez l’une des deux cases sur celui-ci.
Les dossiers de votre entreprise sont à vous seuls.
Les dossiers de tous les clients sont dans la même base de données, et chaque ligne porte l’entreprise à qui elle appartient. Quelle entreprise vous êtes est établi à partir de votre session, jamais à partir de ce qu’une requête raconte, alors il n’y a rien à trafiquer. Et une suite de vérifications automatisées n’existe que pour lancer la session d’une entreprise contre les dossiers de toutes les autres, et prouver que tout échoue.
Le même terrain, écrit pour une revue de sécuritéCertaines choses sont des réglages d’entreprise, pas de rôle.
Deux questions n’entrent pas dans un rôle, et les y forcer, c’est ainsi que la réponse finit par dépendre de l’écran par lequel on est entré.
L’enregistrement est le cas net. Que les appels soient enregistrés ou non est un réglage unique pour toute l’entreprise (toujours, au choix de la personne, ou jamais), avec un deuxième interrupteur pour dire si la personne en ligne peut arrêter un enregistrement déjà en cours. Le rôle décide qui peut appuyer sur Enregistrer et, séparément, qui peut réécouter après. Le réglage d’entreprise décide si appuyer était même une option.
Ce que ça donne pendant un appelVotre propre disponibilité
Aucune permission là-dessus. Chacun règle la sienne.
Celle de quelqu’un d’autre
Une permission, et vérifiée seulement quand ce n’est pas la vôtre : c’est ce que fait vraiment une personne qui supervise quand elle met un collègue absent.
Votre historique d’appels
Une case distincte de celle de toute l’entreprise. L’un des rares endroits où la liste trace une ligne entre le mien et celui de tout le monde.

Ce qui tourne en dessous
Le catalogue, c’est 35 clés de permission en 7 groupes, tenu par le code source plutôt que par une table, servi à l’éditeur de rôles par le serveur même qui l’applique, et résolu en permissions effectives à chaque requête, dans la même requête de base de données que la vérification du compte.
Ce qu’un rôle système accorde est lu dans le code au moment de la décision ; la copie rangée à côté dans la base est tenue à jour mais n’a jamais voix au chapitre, de sorte qu’une ligne périmée ou retouchée à la main ne peut pas élargir Supervisor ni rétrécir le rôle Agent. Un rôle personnalisé est validé contre le catalogue à l’enregistrement, et une clé inconnue est un échec de validation plutôt qu’une chaîne stockée puis ignorée.
Les dix permissions non contrôlées n’ont jamais été une fuite entre locataires : chaque requête était déjà bornée à son locataire, et une suite à part le prouve. Avant que leurs routes se mettent à refuser qui que ce soit, un rapport en lecture seule est passé sur les rôles réellement en place pour dire lesquels perdraient l’accès à l’instant où le contrôle entrerait en vigueur. Un refus nomme maintenant les clés manquantes, puisque qui peut modifier les rôles peut lire la liste au complet de toute façon.
Le garde-fou du dernier administrateur vit dans le service par lequel chaque chemin doit passer, pas sur un formulaire : rétrogradation, désactivation, réaffectation, suppression d’un rôle et modification de ses permissions. La variante pour la modification des permissions cherche un administrateur ailleurs que dans le rôle en cours d’édition, parce que décocher une case rétrograde tous les porteurs du rôle au même instant. Quand une modification passe, les identifiants de tous les porteurs sont invalidés et ils se reconnectent ; l’autorisation, elle, avait changé à l’instant où la ligne a été écrite.
L’identifiant de locataire d’une requête vient du jeton de session vérifié et de nulle part ailleurs ; aucun gestionnaire de route n’en lit un dans le corps d’une requête ni dans une chaîne de paramètres. Un deuxième garde-fou transforme une requête sans locataire en refus, parce que la couche de données traite un filtre absent comme aucun filtre. La suite d’isolation lance la session d’un locataire contre chaque routeur borné, d’un coup, et exige que chacun échoue en « introuvable » plutôt qu’en « pas permis », pour que la réponse ne confirme jamais que l’enregistrement existe. Les sessions des clients et celles de la console d’exploitation sont signées avec des clés différentes, et la deuxième est dérivée de la première par HMAC sur une chaîne de domaine plutôt que posée comme un second secret : un jeton sans ses attributs échoue à la signature, et il n’y a aucune façon de déployer sans la séparation.
Les questions qu’on nous pose
Comment retirer l’accès de quelqu’un qui part ?
Un administrateur, ou quiconque dont le rôle permet de gérer les personnes, désactive son compte. Ses sessions en cours prennent fin sur-le-champ, et chaque laissez-passer déjà émis cesse de fonctionner à sa prochaine utilisation plutôt que d’attendre sa propre échéance. Son nom reste sur les appels qu’elle a traités, parce qu’un registre d’appel doit dire qui a répondu. Rien à l’extérieur de Ringfully ne le fera à votre place : c’est donc un point à mettre sur la liste du dernier jour.
Puis-je empêcher quelqu’un de réécouter les enregistrements ?
Oui. Réécouter un enregistrement est une case à part, distincte de celle qui permet d’appuyer sur Enregistrer pendant un appel : une personne peut donc avoir le droit d’enregistrer sans avoir celui de réécouter, ou l’inverse. Décochez-la sur son rôle et le changement s’applique dès son prochain clic.
Qui peut voir l’historique des appels ?
Ceux à qui vous cochez la case. Vos propres appels et ceux de toute l’entreprise sont deux cases distinctes, un des rares endroits où la liste sépare les miens de ceux de tout le monde. Le reste vaut pour l’entreprise entière : un rôle qui voit les contacts voit tout le carnet plutôt que le coin d’une seule équipe.
Deux personnes peuvent-elles partager un rôle ?
Oui, et c’est le cas ordinaire. Un rôle est une liste de cases cochées et autant de personnes que vous voulez peuvent tenir le même, ce qui fait que le modifier change ce que toutes peuvent faire au même moment. Un rôle encore tenu par des gens ne peut pas non plus leur être retiré sous les pieds : on vous dit combien le tiennent et on vous demande de les déplacer d’abord.
Qu’arrive-t-il à son numéro quand quelqu’un part ?
Les numéros appartiennent à votre entreprise plutôt qu’à la personne : rien n’y change quand un compte est désactivé. Si un numéro sonnait directement chez elle, il continue de pointer vers elle tant que personne ne le réattribue, et son numéro de poste reste pris tant que vous ne le libérez pas. Les deux valent la peine d’être faits le même après-midi que la désactivation.
Ce que ça ne fait pas
Les gens se connectent avec un courriel et un mot de passe conservés ici. Il n’y a rien à raccorder à ce que votre entreprise emploie déjà pour laisser entrer son monde : un compte Ringfully se crée ici et se retire ici. Et le retirer est justement une chose à ne pas oublier quand une personne part, parce que rien à l’extérieur ne le fera pour vous.
Une permission veut dire la même chose partout où elle s’applique. À part votre propre historique d’appels contre celui de l’organisation, il n’y a pas de tranche plus fine à distribuer : un rôle qui voit les contacts voit tout le bottin, pas le coin d’une seule équipe. Si ce qu’il vous faut est un rôle qui n’atteint qu’une partie de l’entreprise, c’est un vrai manque et non un réglage qu’on aurait caché.
Rien ici n’est temporaire. Une permission reste accordée jusqu’à ce que quelqu’un la décoche ; il n’y a pas d’accès qui s’éteint de lui-même vendredi, et rien ne demande à un deuxième administrateur d’approuver le changement avant qu’il prenne effet.
Et les rôles appartiennent à une seule organisation. Il n’y a pas de bottin de groupes ailleurs d’où tirer les appartenances, et pas de rôle écrit une fois puis poussé vers plusieurs comptes : qui porte quoi se règle dans le portail, par une personne, entreprise par entreprise.
Si l’un de ces points est ce sur quoi votre examen va vraiment bloquer, dites lequel dans le premier courriel. Nous préférons vous dire où ça en est réellement plutôt que vous laisser le découvrir au deuxième appel.