HWKeeper voit les numéros de série, les programmes installés et le réseau de chaque ordinateur que vous connectez. Cette page explique comment nous protégeons ces données et ce que l’agent peut et ne peut pas faire. Tout ce qui figure ici décrit le service tel qu’il fonctionne aujourd’hui ; nous mettons la page à jour lorsque quelque chose change.
1. En bref
- Toutes les connexions — site, tableau de bord et agents — sont chiffrées (HTTPS/TLS).
- Chaque organisation ne voit que ses propres données ; la séparation est appliquée au sein même de la base de données, et pas seulement dans l’application.
- Les mots de passe sont conservés sous forme de hachages bcrypt ; les codes et liens de connexion uniquement sous forme de hachages SHA-256.
- Chaque agent dispose de sa propre clé, liée à un seul ordinateur. L’agent se connecte uniquement en sortie vers notre serveur ; il n’ouvre aucun port pour les connexions entrantes et ne dispose d’aucun shell distant.
- L’agent ne collecte pas les captures d’écran, les frappes au clavier, le contenu des fichiers, les documents, les e-mails, l’historique de navigation ni les mots de passe.
- Les données sont stockées dans l’Union européenne. Les sauvegardes quotidiennes sont conservées jusqu’à 14 jours.
2. Chiffrement
- Le site, le tableau de bord et l’API des agents sont servis uniquement en HTTPS ; les requêtes HTTP en clair sont redirigées vers HTTPS.
- Les mots de passe ne sont jamais stockés en clair : bcrypt avec 12 tours. Les liens de confirmation d’adresse e-mail, les liens de réinitialisation de mot de passe et les codes de connexion sont conservés uniquement sous forme de hachages SHA-256 et expirent.
- Les e-mails sortants sont envoyés depuis notre propre serveur de messagerie avec des signatures DKIM ; nous n’utilisons pas de services d’e-mail tiers.
3. Isolation des données de chaque organisation
Chaque client est une organisation distincte. Toutes les données du parc portent l’identifiant de l’organisation, et la base de données (PostgreSQL) applique une sécurité au niveau des lignes : l’application travaille sous un rôle de base de données restreint, et une requête ne peut lire ou modifier que les lignes qui appartiennent à l’organisation de l’utilisateur ou de l’agent connecté. Sans contexte d’organisation, aucune ligne n’est visible.
4. Comptes et accès
- Rôles. Un observateur ne fait que consulter ; un gestionnaire peut ajouter et modifier ; seul un administrateur peut supprimer et gérer les utilisateurs. Les rôles sont vérifiés sur le serveur à chaque requête.
- Inscription. Un nouveau compte doit confirmer son adresse e-mail ; l’e-mail de confirmation contient un lien « ce n’était pas moi » qui annule l’inscription.
- Protection de la connexion. Les tentatives sont limitées par adresse e-mail et par adresse IP ; après un trop grand nombre d’échecs, la connexion est suspendue pendant 15 minutes. Les connexions réussies et échouées, les demandes de code et les inscriptions sont enregistrées avec l’adresse IP.
- Sessions. Les jetons d’accès sont valables 15 minutes et sont renouvelés au moyen d’un jeton de rafraîchissement valable 30 jours. La déconnexion supprime les jetons du navigateur ; le changement de mot de passe invalide tous les jetons précédemment émis sur tous les appareils.
- Administration de la plateforme. Il existe un seul compte de super-administrateur de la plateforme ; il se connecte uniquement avec un code à usage unique envoyé par e-mail, ne peut pas être créé via l’API ni la ligne de commande, et n’appartient à aucune organisation cliente.
5. L’agent
- Enrôlement. Chaque organisation dispose de son propre jeton d’enrôlement. Lorsqu’un agent s’enregistre, il reçoit sa propre clé, liée à ce seul ordinateur ; la clé ne peut pas être utilisée pour un autre ordinateur ni pour une autre organisation.
- Connexions sortantes uniquement. L’agent se connecte à notre API en HTTPS et n’ouvre aucun port pour les connexions entrantes (pour la découverte réseau, il se contente d’écouter les annonces multicast sur le réseau local). Il ne peut pas servir à contrôler l’ordinateur à distance.
- Pas de shell distant. Le serveur peut seulement demander à l’agent d’envoyer un instantané immédiatement, de lancer la découverte réseau, d’appliquer les règles USB que vous avez configurées ou de se mettre à jour. Les mises à jour sont téléchargées depuis notre serveur en HTTPS et installées uniquement après vérification que la somme de contrôle SHA-256 du fichier correspond à celle publiée par le serveur ; une mise à jour sans somme de contrôle est refusée.
- Ce qu’il collecte est indiqué dans la Politique de confidentialité. Il ne collecte pas les captures d’écran, les frappes au clavier, le contenu du presse-papiers, le contenu des fichiers, les documents, les e-mails et messages, l’historique de navigation, les mots de passe, les numéros de téléphone, les contacts ni les SMS.
- La localisation et la découverte réseau peuvent être désactivées dans la configuration de l’agent.
- Utilisation des ressources. L’agent est un seul petit programme (environ 10 Mo) qui envoie un instantané complet toutes les 15 minutes, uniquement lorsque quelque chose a changé, et un bref signal de présence chaque minute.
6. Infrastructure
- Le service fonctionne sur un serveur situé dans l’Union européenne. La base de données n’est pas accessible depuis Internet ; seule l’application s’y connecte.
- Les sauvegardes quotidiennes de la base de données sont conservées jusqu’à 14 jours.
- Les déploiements sont automatiques depuis la branche principale du dépôt de code source ; chaque modification est enregistrée dans le système de gestion de versions.
- Google Analytics fonctionne uniquement sur le site public, jamais dans le tableau de bord. Le tableau de bord ne charge aucun script tiers.
7. Ce que nous ne faisons pas
- Nous ne vendons pas de données, ne les utilisons pas à des fins publicitaires et ne les partageons pas avec des annonceurs.
- Nous n’accédons pas aux données des clients, sauf pour fournir le service, pour résoudre un problème signalé par le client ou lorsque la loi l’exige.
- Nous n’entraînons pas de modèles d’apprentissage automatique sur les données des clients.
8. Signaler une vulnérabilité
Si vous pensez avoir découvert un problème de sécurité dans HWKeeper, écrivez à privacy@hwkeeper.com (adresse également indiquée dans notre fichier security.txt). Décrivez ce que vous avez trouvé et comment le reproduire ; nous accuserons réception et vous tiendrons informé. Nous vous demandons de ne pas accéder aux données d’autres clients, de ne pas perturber le service et de nous laisser un délai raisonnable pour corriger le problème avant d’en publier les détails. Nous sommes reconnaissants pour les signalements de bonne foi et n’engagerons pas de poursuites judiciaires contre les chercheurs qui respectent ces règles.
9. Ce que nous n’avons pas encore
HWKeeper est un produit jeune. Nous ne détenons pas de certifications SOC 2 ni ISO 27001, nous n’avons pas encore commandé de test d’intrusion indépendant et nous n’avons pas de programme de bug bounty rémunéré. Nous préférons le dire clairement plutôt que de prétendre le contraire. Questions sur la sécurité : privacy@hwkeeper.com.