Sécurité
Ce qui protège le registre
Vos travaux, les adresses de vos clients et votre argent sont ici. Cette page vous dit ce que nous avons construit pour les protéger, ce qui fonctionne en ce moment, et où ça s’arrête.
Séparation
Une entreprise ne peut jamais en voir une autre
Tout le reste dépend de ceci, alors nous le faisons deux fois et un ordinateur le vérifie pour nous.
Deux murs entre les entreprises, pas un seul
Chaque registre porte le sceau de l’entreprise propriétaire, et chaque requête que notre serveur fait à la base de données est limitée à l’entreprise qui l’a demandée. En dessous, la base de données maintient le même mur de son côté, avec sa propre règle sur chaque table qui garde des registres d’entreprise. Un bogue dans l’application ne suffit donc pas, à lui seul, à le franchir.
Un ordinateur vérifie le mur, pas la mémoire d’une personne
Un test automatique lit la base de données en direct, trouve chaque table qui garde un sceau d’entreprise, et échoue en nommant celle dont la règle manque. Nous comptons ce qui est couvert au lieu de le supposer, et la liste des exceptions est vide.
Nous testons une entreprise contre une autre avant de publier
Quand nous ajoutons une nouvelle adresse que l’application peut appeler, elle reçoit un test qui se connecte comme une entreprise et essaie de lire les données d’une autre entreprise. La synchronisation, les prix et les noms de fichiers stockés ont chacun leur propre test.
Intégrité
Le registre ne peut pas être réécrit en silence
Quand un travail tourne mal, l’historique est la preuve. Il est construit pour que personne, même pas nous, ne puisse le changer dans votre dos.
L’historique ne peut qu’être ajouté, et chaque ligne verrouille la précédente
Chaque ligne de l’historique porte une empreinte numérique de la ligne précédente, pour qu’une ligne ne puisse pas être changée ni supprimée en silence sans briser la chaîne. La base de données elle-même bloque tout changement ou suppression, et notre serveur refuse de démarrer si cette protection manque.
Les paiements ne sont jamais modifiés
Pour corriger une erreur, nous ajoutons une nouvelle ligne qui annule la précédente. Nous ne changeons jamais la précédente. Ce qui a été enregistré, et quand, reste lisible, et c’est là tout l’intérêt d’un historique de paiements.
Les liens de signature sont créés par notre serveur
Un lien pour signer un document fonctionne une seule fois, ne peut pas être deviné, et cesse de fonctionner après un temps fixe. Notre serveur le crée. L’application sur le téléphone n’en construit jamais un.
En transit, et une fois sauvegardées
Où vont les données
Cloudflare se trouve entre internet et le serveur auquel l’application parle. Il porte nos propres règles de blocage, et ralentit quiconque envoie trop de requêtes trop vite. Notre propre serveur applique les mêmes limites une deuxième fois derrière ça.
Chiffré en transit, partout
Tout ce qui voyage entre un téléphone et nous passe par HTTPS, qui le chiffre pour que personne au milieu ne puisse le lire. Le site en direct envoie aussi une instruction : un navigateur qui nous a déjà visités une fois ne doit jamais revenir à une connexion non chiffrée. Les requêtes passent par Cloudflare au lieu d’aller directement à notre propre serveur.
Les fichiers restent dans une région
Les photos, les documents et les signatures sont conservés dans un stockage de fichiers réglé sur une seule région fixe, l’est de l’Amérique du Nord. C’est le cas pour chaque entreprise, peu importe où elle travaille. Quand le serveur en direct démarre, il vérifie ce réglage, et il refuse de fonctionner si la région manque ou est sur « auto ».
Nous ne gardons jamais votre mot de passe
Nous ne gardons pas votre mot de passe, et nous ne pouvons pas le récupérer pour vous. Ce que nous gardons est une version brouillée (Argon2) qui ne peut pas être reconvertie en votre mot de passe : suffisant pour le vérifier quand vous vous connectez, jamais suffisant pour le lire. Il y a aussi une limite au nombre de fois que quelqu’un peut essayer de se connecter, s’inscrire ou réinitialiser un mot de passe en peu de temps.
Sur le téléphone
Le téléphone fait partie de ce que nous protégeons
Un téléphone traîne sur un hayon, il est prêté à un apprenti, il passe par-dessus un comptoir. Ce que nous construisons ici est fait pour ça, pas pour un bureau.
Un verrou optionnel dans l’application elle-même
Être déjà connecté ne devrait pas livrer toute une entreprise à la première personne qui ramasse le téléphone. Le verrouillage de l’application demande le verrou d’écran ou l’empreinte du téléphone lui-même avant de s’ouvrir. Il est désactivé tant que vous ne l’activez pas, et nous ne l’offrons que sur un téléphone qui a déjà un verrou d’écran configuré.
Les clés de connexion restent dans le stockage verrouillé du téléphone
L’application doit garder quelques éléments privés sur le téléphone, comme le laissez-passer qui vous garde connecté. Elle les met dans le keystore Android, le stockage verrouillé protégé par le matériel du téléphone lui-même, plutôt que dans des fichiers ordinaires de l’application.
Continuité
Sauvegardes, incidents et comment sortir vos données
Une copie verrouillée de la base de données, gardée hors du serveur
Chaque heure, nous faisons une copie complète de la base de données en direct. La copie est verrouillée par chiffrement avant d’être rangée, et le processus ne garde aucune copie non verrouillée : il vérifie que le fichier verrouillé est vraiment verrouillé avant de supprimer celui qui ne l’est pas. Il vérifie ensuite la liste du contenu de la copie elle-même, l’envoie vers un stockage séparé dont l’application n’a aucun identifiant de connexion, puis la relit pour confirmer qu’elle est bien arrivée. La base de données tient aussi un registre continu de chaque changement au moment où il se produit, et ce registre est copié hors du serveur lui aussi, donc remettre les choses en place ne se limite pas à la dernière copie complète. Les photos, les PDF et les images de signature sont copiés dans ce même stockage séparé. Les vieilles copies sont supprimées selon un calendrier fixe, aux deux endroits. Pour être franc avec vous : ce stockage séparé est un deuxième compartiment chez la même entreprise de stockage, pas chez une deuxième entreprise.
Nous remettons les sauvegardes en place pour prouver qu’elles fonctionnent
Une sauvegarde que personne n’a jamais remise en place est un espoir, pas un plan. Alors nous prenons une vraie copie de la base de données en direct, nous la chargeons dans une base de données de rechange, et nous vérifions que les registres y sont vraiment avant d’écarter celle de rechange, y compris en ouvrant une copie verrouillée déjà rangée plutôt qu’une copie fraîchement faite. Nous avons fait la même chose pour le stockage de fichiers : chaque fichier restauré a été vérifié contre l’empreinte enregistrée au moment de la copie. Chaque test est noté et daté. Voici ce que ces tests ne prouvent pas, parce que cela compte plus que ce qu’ils prouvent : nous n’avons jamais reconstruit le service sur de nouvelles machines, jamais rejoué le registre continu des changements jusqu’à un moment choisi, jamais remis une sauvegarde dans la base de données en direct, et jamais chronométré une reprise complète du début à la fin. C’est pourquoi nous ne publions aucun objectif de reprise.
Un plan écrit pour quand quelque chose va mal
Si quelque chose va mal, nous suivons un plan écrit plutôt que d’improviser. Les étapes sont : évaluer la gravité, l’empêcher de se propager, déconnecter tout le monde et couper les liens de paiement et l’accès du personnel, changer nos clés secrètes, sauvegarder l’historique et vérifier qu’il n’a pas été altéré, puis évaluer les dommages et avertir les personnes touchées. Nous promettons de vous avertir sans attendre plus que nécessaire. Nous ne publions pas de délai fixe, parce que nous n’avons pas prouvé que nous pouvons le tenir.
Vos données sortent quand vous le voulez
Vous pouvez télécharger une copie de votre compte depuis l’application : clients, travaux, factures, paiements, reçus, photos, et vos PDF de facture et de soumission. Vous pouvez aussi supprimer votre compte dans l’application. L’accès s’arrête immédiatement, et nous supprimons les données pour toujours après un nombre fixe de jours. Nous gardons l’historique de qui a fait quoi, exprès, parce que ce registre ne peut qu’être ajouté.
Ce que nous n’affirmons pas
La liste ci-dessous est ce que nous n’avons pas et ce que nous ne promettons pas. Si quelque chose là-dedans compte pour vous, c’est une vraie réponse. Pensez-y avant de nous confier votre travail.
Aucun certificat et aucun audit externe. Nous n’avons pas de rapport SOC 2, ni de certificat ISO 27001, ni d’approbation PCI ou HIPAA, qui sont les certificats de sécurité que demandent les gros acheteurs. Personne à l’extérieur de l’entreprise n’a été payé pour essayer d’entrer. Quiconque vous dit le contraire au sujet de Zeus se trompe.
Aucune promesse sur le temps de disponibilité ou de récupération. Nous ne publions pas de chiffre sur combien de temps l’application fonctionne, ni un objectif de rapidité de remise en marche, ni un objectif de combien de travail récent pourrait se perdre, parce que nous ne pouvons appuyer aucun de ces chiffres.
Aucune promesse de sécurité parfaite. Aucun système n’est parfaitement sécurisé, et une page qui dirait le contraire serait de la publicité, pas un fait.
Le travail que vous faites hors ligne n’est pas sauvegardé tant qu’il ne nous parvient pas. Les changements faits sans signal restent seulement sur ce téléphone jusqu’à ce que l’application atteigne le serveur. Ouvrez l’application quand vous avez à nouveau un signal, pour qu’elle puisse l’envoyer.
Signaler une vulnérabilité
Si vous avez trouvé quelque chose, nous préférons l’apprendre de vous plutôt que d’une entreprise qui dépend de cette application. Il n’y a pas de programme de récompense ni de paiement, mais une vraie personne vous donnera une réponse claire.
Merci de suivre ces règles
- Donnez-nous le temps de le réparer avant de le dire à quelqu’un d’autre.
- Pendant que vous enquêtez, n’ouvrez, ne changez et ne conservez aucune donnée qui n’est pas la vôtre.
- N’inondez pas le site en direct de trafic pour voir ce qu’il peut encaisser. Ne pointez pas d’outils de balayage automatique vers lui, et n’essayez pas d’entrer sans autorisation, sauf si nous vous avons dit oui par écrit d’avance.
- Dites-nous ce que vous avez fait, ce que vous avez vu, et assez de détails pour que nous puissions le reproduire. Une note simple vaut mieux qu’aucune note.
Ce sont les mêmes règles que dans notre politique d’utilisation acceptable.
État de cette page
Cette page est écrite pour être lue. Ce n’est pas un contrat, et elle ne promet rien que vous pourriez exiger de nous devant un tribunal. Les documents qui font cela sont les conditions d’utilisation et la politique de confidentialité dans notre ensemble légal. Le travail de sécurité ne s’arrête jamais, alors ce qui se trouve sur cette page change. Si cette page et ces documents devaient un jour se contredire, ce sont ces documents qui font foi.
Pour toute question là-dessus, écrivez à [email protected], et tout le reste est sur la page de contact.