Sécurité
Lire une métrique est peu de chose. Modifier une consigne de refroidissement, non. Tout ce qui suit existe parce que le second cas exige une réponse plus stricte que le premier.
01 / Isolation
Chaque client dispose de sa propre base Postgres, provisionnée à l'inscription. Pas d'un schéma partagé avec une colonne tenant_id : une clause WHERE oubliée ne peut pas exposer le parc d'un autre client, car les données ne sont pas dans la même base.
Les rôles admin, opérateur, lecteur et personnalisés sont évalués côté serveur à chaque requête modifiante. Masquer un bouton dans l'interface est une politesse, pas un contrôle — nous le traitons comme tel.
Un utilisateur peut être limité à certains sites. La restriction s'applique dans la couche de requête : les appels API d'un opérateur restreint renvoient exactement ce que montre son tableau de bord.
02 / Chemin d'écriture
Aucune action n'atteint un équipement sans franchir les cinq, et aucune n'est optionnelle ni désactivable de notre côté.
Le suggesteur rédige une action avec sa justification, l'économie estimée et la cible.
Limite de débit, unicité par cible, plage horaire et garde-fous de consigne sont vérifiés.
Les actions réversibles à faible risque peuvent s'appliquer seules ; les autres attendent une validation nommée.
L'état antérieur est enregistré avant tout changement : la restauration est une donnée, pas une supposition.
Toute action appliquée peut être annulée pendant sept jours, depuis l'interface ou l'API.
03 / Pratique
Chaque requête modifiante est enregistrée avec l'acteur, la cible, l'avant/après et la source. Les entrées sont dénormalisées pour survivre à la suppression de l'objet décrit — un journal qui disparaît avec la preuve n'en est pas un.
Les mots de passe sont hachés en bcrypt. Les jetons d'agent sont propres à chaque serveur et révocables. Les identifiants d'équipement (SNMP v3, Redfish) sont chiffrés au repos, jamais renvoyés par l'API, et utilisés uniquement par le collecteur.
Les agents n'établissent que des connexions sortantes — aucun port entrant sur vos hôtes. Les collecteurs s'exécutent dans votre réseau et atteignent les équipements sur le VLAN d'administration ; rien de ce VLAN n'a besoin d'être exposé.
L'ensemble de la plateforme s'exécute en conteneurs sur vos propres Postgres et Mongo. Si votre politique interdit la sortie des données, elles ne sortent pas.
Nous préférons y répondre avant le pilote plutôt que pendant l'achat. Joignez-le à une demande de contact : un ingénieur, et non un service administratif, le traitera.