SymbifoxGuide d'utilisation English

Partie 6 · Sécurité, conformité et vie privée

Tokens OTP

Garder ses codes à usage unique dans un coffre personnel chiffré dans le navigateur, les ranger par client et les partager avec son téléphone.

Symbifox 18.0 (catalogue de septembre 2026) · Modules : OTP · Révisé le 2026-09-12

L'application Tokens OTP range les codes à usage unique qui servent de deuxième facteur à vos accès. Elle s'adresse à toute personne qui détient des accès pour elle-même ou pour des clients, et à l'organisation qui veut savoir ce qu'elle détient sans jamais pouvoir le lire. Le coffre est personnel : la graine de chaque code est chiffrée dans votre navigateur, par une clé tirée d'une phrase de passe qui ne part jamais. Le résultat : vos codes tiennent dans Symbifox, rangés par client et par mandat, et le serveur reste incapable d'en produire un seul.

Vue d'ensemble#

Deux écrans, deux usages. Mon coffre est l'écran vivant : il s'ouvre par une phrase de passe, affiche les codes, les copie, et se referme seul après cinq minutes sans activité. L'Inventaire est la liste au sens d'Odoo : il sert à ranger, à filtrer et à retrouver, jamais à produire un code.

Inventaire des tokens OTP, vide pour la personne connectée, avec son texte d'aide
L'inventaire des tokens

Un token est un compte protégé : un émetteur, un compte, un type, et la graine chiffrée qui produit le code. Deux types existent, le code qui change toutes les trente secondes et le code à compteur, qui avance d'un cran à chaque usage. Un coffre appartient à une personne et une seule; il porte les tokens, les clés d'accès enrôlées et les codes de relève.

Le principe du module tient en une phrase : produire un code exige la graine en clair, donc ce moment n'arrive jamais sur le serveur. Symbifox ne garde que du chiffré et un témoin, ce qui lui permet de dire « mauvaise phrase » sans rien savoir de la bonne. Émetteur et compte, eux, restent lisibles à dessein : c'est ce qui permet de chercher, de trier et de tenir l'inventaire.

Le rangement s'appuie sur deux applications voisines. Un token pointe vers un Client de l'application Contacts et vers un Projet; la fiche du contact et celle du projet comptent alors les tokens qui leur sont rattachés, par un bouton d'accès rapide.

Configuration#

Accès et droits#

Un seul groupe existe, Utilisateur. Il ouvre l'application, le coffre de la personne et son inventaire. Il n'ouvre rien chez les autres : une règle limite chaque coffre à son propriétaire, et une personne qui tente d'ouvrir le token d'une autre reçoit un refus d'accès, administration comprise.

Message de refus d'accès à un token qui appartient à une autre personne
Un coffre n'appartient qu'à une personne

Le coffre exige une connexion sécurisée. Servi sans HTTPS, il refuse de fonctionner et le dit en un bandeau, plutôt que d'échouer champ par champ.

Paramètres#

Le module n'ajoute aucun réglage aux Paramètres généraux. Tout ce qui se règle appartient au coffre lui-même : la phrase de passe, les clés d'accès et les codes de relève, tous trois gérés depuis Mon coffre.

Données de base#

Rien n'est à créer d'avance, à trois réserves près. Choisissez votre phrase de passe et rangez-la ailleurs que dans le service que ces codes protègent. Décidez de vos regroupements : sans étiquette, c'est le client qui sert de regroupement, et à défaut l'émetteur dès qu'il porte plus d'un token. Enfin, les clients et les projets auxquels vous rattacherez vos tokens doivent exister dans Contacts et dans Projet.

Premiers pas#

Ce parcours crée votre coffre et y range un premier code. Il se fait entièrement dans votre navigateur, sur une adresse en HTTPS.

  1. Ouvrez Tokens OTPMon coffre.
  2. Saisissez la phrase de passe qui ouvrira ce coffre, puis confirmez-la.
  3. Ajoutez un token en collant l'adresse de configuration que le service vous donne à la place de son code QR, ou en saisissant ses éléments à la main.
  4. Vérifiez l'Émetteur et le Compte proposés, puis enregistrez le token.
  5. Créez un code de relève et rangez-le hors ligne, dans une enveloppe ou un coffre-fort.
  6. Ouvrez Tokens OTPInventaire et sélectionnez le token que vous venez de créer.
  7. Renseignez Client, Projet et Regroupement, puis enregistrez.

Résultat : le code paraît dans Mon coffre et se copie d'un geste; l'inventaire, lui, montre à qui ce token appartient et pour quel mandat. La graine, elle, n'a jamais quitté votre navigateur autrement que chiffrée.

Tâches courantes#

Ajouter un token à la main#

Le cas courant est le service qui affiche un code QR sans donner de texte : il offre presque toujours une clé à recopier.

  1. Ouvrez Tokens OTPMon coffre et saisissez votre phrase de passe.
  2. Demandez l'ajout d'un token, puis choisissez la saisie manuelle.
  3. Saisissez l'Émetteur et le Compte, puis collez la clé fournie par le service.
  4. Vérifiez le Type, l'Algorithme, le nombre de Chiffres et la Période (s).
  5. Enregistrez.

Résultat : le token paraît dans le coffre et produit son code. La graine est chiffrée avant d'être envoyée; le serveur ne reçoit que le chiffré et son vecteur.

Retrouver et copier un code#

Un coffre qui compte des dizaines d'accès se parcourt au clavier, pas à la souris.

  1. Ouvrez Mon coffre et saisissez votre phrase de passe.
  2. Tapez les premières lettres de l'émetteur ou du compte.
  3. Appuyez sur Entrée pour copier le code affiché.
  4. Appuyez sur Échap pour refermer le coffre.

Résultat : le code est dans le presse-papiers et la date de dernière utilisation du token est mise à jour, ce qui fait remonter les accès dont vous vous servez vraiment.

Ranger un token par client et par mandat#

Le rangement se fait depuis l'inventaire, pas depuis le coffre : ces champs ne touchent pas à la graine.

  1. Ouvrez Tokens OTPInventaire et sélectionnez le token.
  2. Renseignez Client et Projet.
  3. Saisissez au besoin un Regroupement, par exemple « Production » ou le nom d'une équipe.
  4. Cochez Sensible pour que le code reste masqué jusqu'à ce qu'on le demande.
  5. Enregistrez.

Résultat : la fiche du contact et celle du projet comptent ce token dans leur bouton d'accès rapide, et le coffre le range sous son regroupement.

Enrôler une clé d'accès#

Une clé d'accès ouvre le coffre par une empreinte, un visage ou une clé matérielle, au lieu de la phrase.

  1. Ouvrez Mon coffre et saisissez votre phrase de passe.
  2. Ouvrez le panneau des clés d'accès et demandez l'ajout d'un appareil.
  3. Nommez l'appareil, par exemple « portable » ou « clé jaune ».
  4. Confirmez avec votre phrase de passe.
  5. Touchez le capteur ou insérez la clé.

Résultat : l'appareil ouvre désormais le coffre. La clé du coffre n'a pas changé, donc aucune graine n'a été rechiffrée; l'enrôlement redemande la phrase exprès, parce qu'ajouter un moyen d'ouvrir un coffre se confirme par ce qu'on sait.

Poser un code de relève#

Une clé d'accès est liée à un appareil et à un domaine. Le code de relève, lui, tient dans une enveloppe et survit au portable.

  1. Ouvrez Mon coffre et saisissez votre phrase de passe.
  2. Demandez la création d'un code de relève.
  3. Indiquez où il sera rangé, par exemple « enveloppe au coffre-fort ».
  4. Copiez le code affiché et rangez-le immédiatement hors ligne.

Résultat : le code ouvre le coffre comme la phrase. Il est montré une seule fois et n'est jamais envoyé au serveur : rien nulle part ne permet de le retrouver. Cinq codes au plus par coffre.

Importer un coffre existant#

L'import reconnaît la provenance au contenu du fichier, sans que vous ayez à la déclarer.

  1. Ouvrez Mon coffre et saisissez votre phrase de passe.
  2. Demandez l'import, puis choisissez le fichier : un export Symbifox, un export de Google Authenticator ou un export du gestionnaire de codes de Nextcloud.
  3. Saisissez la phrase qui protège ce fichier, s'il est chiffré.
  4. Confirmez la reprise.

Résultat : les tokens entrent dans votre coffre, déchiffrés puis rechiffrés dans la page. Les rattachements reviennent par le nom, et seulement quand le nom désigne un seul client ou un seul projet de l'instance.

Exporter son coffre#

L'export sert à changer d'instance ou à garder une copie hors ligne.

  1. Ouvrez Mon coffre et saisissez votre phrase de passe.
  2. Demandez l'export.
  3. Choisissez une phrase propre au fichier, différente de celle du coffre.
  4. Enregistrez le fichier produit.

Résultat : un fichier chiffré, relisible sur une autre instance puisqu'il ne dépend pas de la clé du coffre. Il n'existe aucun export en clair, et c'est délibéré.

Retirer un token sans le détruire#

Retirer est réversible; détruire ne l'est pas, et se demande en deux gestes.

  1. Ouvrez Mon coffre et saisissez votre phrase de passe.
  2. Mettez le token à la corbeille.
  3. Pour le rendre, sortez-le de la corbeille; pour l'effacer, confirmez la destruction.

Résultat : un token à la corbeille ne paraît plus dans la liste des codes, garde sa date de mise au rebut, et rien ne le détruit tout seul.

Apparier l'application mobile#

L'application mobile lit les codes QR par la caméra, ce que le navigateur du poste ne fait pas.

  1. Ouvrez Symbifox dans le navigateur de votre téléphone et connectez-vous.
  2. Ouvrez Tokens OTPMon coffre et demandez l'appariement d'un appareil.
  3. Laissez l'application prendre le relais et nommez l'appareil.
  4. Ouvrez votre coffre sur le téléphone avec votre phrase de passe.

Résultat : le téléphone lit les codes QR, chiffre la graine sur place et l'envoie déjà scellée. Les codes copiés sur le téléphone remontent dans le tri par usage, et le compteur d'un code à compteur avance là où le code a été produit. Le reste du parcours mobile est décrit au chapitre Applications mobiles et extension.

Retrouver ce qu'on détient pour un client#

C'est la question du jour où quelqu'un part, ou du jour où un client demande des comptes.

  1. Ouvrez Tokens OTPInventaire.
  2. Regroupez par Client, ou saisissez son nom dans la recherche.
  3. Lisez la colonne Dernière utilisation pour repérer les accès dormants.

Résultat : la liste de ce que vous détenez pour ce client, avec le projet et le regroupement de chaque token. Le même compte s'obtient depuis la fiche du contact, par son bouton d'accès rapide.

Les menus, un à un#

Tokens OTPMon coffre : l'écran du coffre, servi dans la page plutôt que par le serveur. Il s'ouvre par la phrase de passe ou par une clé d'accès enrôlée, affiche les codes avec les favoris en tête, offre la recherche au clavier, l'ajout, l'import, l'export, les clés d'accès, les codes de relève et la corbeille. Sur la démo, servie sans HTTPS, il n'affiche qu'un bandeau d'avertissement.

Bandeau « Chiffrement indisponible » sur l'écran Mon coffre de la démo, servie sans HTTPS
Le coffre exige une connexion sécurisée

Tokens OTPInventaire : la liste des tokens de votre coffre, avec les colonnes Émetteur, Compte, Regroupement, Client, Projet, Sensible et Dernière utilisation, plus l'étoile des favoris en tête de ligne. Regroupez par client ou par projet pour un état des lieux. L'écran est vide tant que votre coffre l'est, et son texte d'aide rappelle que les tokens s'ajoutent depuis Mon coffre : cet inventaire sert à les ranger, pas à les créer.

Référence#

Champs du formulaire Token#

Champ Description Obligatoire ou par défaut
Compte Le compte protégé, tel que le service le nomme Obligatoire
Émetteur Le service qui délivre le code Facultatif
Type Code à durée, ou code à compteur Obligatoire
Algorithme, Chiffres, Période (s) Les réglages que le service impose Repris de l'adresse de configuration
Compteur Position d'un code à compteur, avancée là où le code est produit Codes à compteur seulement
Client, Projet Le rattachement qui range le token et alimente les compteurs des fiches Facultatifs
Regroupement Étiquette libre; à défaut, le client sert de regroupement Facultatif
Favori Remonte le token en tête, au-dessus des regroupements Décoché
Sensible Le code reste masqué jusqu'à ce qu'on le demande, et n'est pas copié par mégarde Décoché
Dernière utilisation Posée à chaque code copié; c'est elle qui fait remonter les accès utiles Calculée
Graine chiffrée, Vecteur Le chiffré produit par le navigateur; le serveur ne peut pas le lire Obligatoires
Mis à la corbeille Depuis quand le token est retiré; rien ne le détruit tout seul Vide

Rapports et exports#

L'application ne produit aucun rapport imprimable. Le seul fichier qui sort du coffre est son export chiffré, protégé par une phrase choisie à l'export. L'inventaire s'exporte par ailleurs comme toute liste de Symbifox, mais il ne contient aucune graine lisible.

Automatisations#

Une passe horaire retire les appariements d'appareils restés en chemin. Le reste tient dans la page : le coffre se referme seul après cinq minutes sans activité, la date de dernière utilisation s'inscrit à chaque code copié, et le compteur d'un code à compteur avance à l'endroit où le code a été produit, poste ou téléphone.

Pages publiques et portail#

Le module n'expose aucune page publique. Les adresses qu'il sert à l'application mobile, pour l'appariement, l'enrôlement d'une clé d'accès et l'enregistrement d'un token, exigent toutes une session ouverte. Seule une sonde d'habillage répond avant la connexion, et elle ne rend que le nom de la société et deux couleurs.

Modules qui enrichissent cette application#

Aucun module satellite ne s'ajoute à Tokens OTP. Le module s'appuie en revanche sur l'application Projet, qui fournit le champ Projet du token, et sur Contacts pour le champ Client; sans elles, le rangement perd ses deux axes. Les compteurs qui paraissent sur la fiche d'un contact et sur celle d'un projet viennent de ce module et ne comptent que vos propres tokens.

Comprendre#

Qui produit, détient. Un code à usage unique se calcule à partir d'une graine en clair. Un service qui produit vos codes détient donc vos secrets, quoi qu'il en dise. Ce module déplace le calcul dans votre page : le serveur n'a ni la clé, ni de quoi la dériver, et aucune bibliothèque de chiffrement n'est même chargée de son côté.

Pourquoi aucune empreinte de la phrase n'est gardée. Conserver un condensat de la phrase donnerait à qui lit la base un meilleur point de départ que le chiffré lui-même. À la place, le coffre garde un témoin : un texte connu, chiffré avec la clé, qui permet de dire « mauvaise phrase » sans rien révéler de la bonne.

Pourquoi les icônes sont embarquées. Une trentaine de services courants ont leur icône dans le module. Aucune n'est récupérée sur le web : la requête révélerait au service, et à qui regarde le réseau, la liste des comptes que vous protégez. Ce qui n'est pas reconnu reçoit une pastille de couleur calculée à partir du nom.

Pourquoi une clé d'accès ne remplace pas la phrase. Une clé d'accès est liée à un appareil et à une origine : celle enrôlée sur un domaine n'ouvrira pas le coffre depuis un autre, ni depuis une extension de navigateur. Elle scelle une copie de la clé du coffre, elle ne la remplace pas. La phrase reste le recours, et le code de relève est la seule façon de survivre à sa perte.

Pourquoi il n'existe aucun export en clair. Un fichier de graines lisibles oublié dans un dossier de téléchargements est un coffre ouvert dont plus personne ne se souvient trois mois plus tard. L'export est donc toujours chiffré, sous une phrase distincte de celle du coffre, pour qu'il se relise ailleurs sans dépendre de cette instance.

Ce que le module ne fait pas. Le partage d'un token entre deux personnes n'existe pas : il exigerait un chiffrement par enveloppe, où la clé de chaque token est scellée pour chaque destinataire. La lecture d'un code QR par la caméra n'existe pas non plus sur le poste; l'application mobile s'en charge, et sur poste il faut coller le contenu du code.

Ce que le serveur voit tout de même. L'émetteur et le compte sont en clair, à dessein : sans eux, ni recherche, ni tri, ni inventaire. Une personne qui administre l'instance peut donc voir qu'un token existe et le retirer, jamais lire le code qu'il produit.

Dépannage#

Symptôme Cause probable Correctif
Le bandeau « Chiffrement indisponible » remplace le coffre La page est servie sans connexion sécurisée Ouvrez Symbifox en HTTPS; le chiffrement du navigateur n'existe pas autrement
L'inventaire est vide alors que des collègues ont des tokens Chaque coffre n'appartient qu'à son propriétaire C'est le comportement attendu; demandez à la personne de produire son propre inventaire
La phrase de passe est refusée Le témoin du coffre ne correspond pas à la phrase saisie Vérifiez la disposition du clavier; à défaut, ouvrez le coffre avec un code de relève ou une clé d'accès
Aucun moyen d'ouvrir le coffre ne fonctionne La phrase est perdue et aucun code de relève n'a été posé Les tokens sont perdus; refaites-les depuis chaque service, puis posez un code de relève
La clé d'accès n'est pas proposée Elle a été enrôlée sur un autre domaine ou sur un autre appareil Ouvrez le coffre avec la phrase, puis enrôlez une clé sur cet appareil
Le coffre se referme pendant le travail Fermeture automatique après cinq minutes sans activité Rouvrez-le; c'est le comportement prévu, sur tous les appareils
Des lignes sont refusées à l'import Graines en clair, doublons ou entrées illisibles Corrigez le fichier source; le module refuse plutôt que d'accepter en silence
Le champ Projet reste introuvable L'application Projet n'est pas installée Installez Projet, ou rangez les tokens par Client et Regroupement

Voir aussi#