H ILYGO Hawser
Retour au site

Ce qui est chiffré

Ce que le fichier .ivault chiffre, ce qu'il laisse en clair, et ce que votre mot de passe maître ne protège pas.

Ce qui entre dans le coffre, ce qui reste dehors

Hawser range vos données dans un fichier unique, le .ivault. Tout ce que vous saisissez dans l'application y va. Quelques éléments techniques vivent en dehors, et il vaut mieux savoir lesquels avant de ranger un coffre dans un dossier partagé.

DonnéeOù elle vit
Serveurs : nom, hôte, port, utilisateur, protocoleDans le .ivault, chiffré
Mots de passe de connexion saisis dans une ficheDans le .ivault, chiffré
Clés SSH privées (PEM) et leurs phrases de passeDans le .ivault, chiffré
Snippets, tunnels, groupes, thèmes de terminalDans le .ivault, chiffré
Empreintes d'hôtes acceptéesDans le .ivault, chiffré
Journal d'audit (aucun écran ne l'affiche dans cette version)Dans le .ivault, chiffré et signé par une sous-clé dérivée de la clé maître
Réglages, dont le délai de verrouillageDans le .ivault, chiffré — plus une copie locale en clair, voir plus bas
En-tête du fichier : signature ILYV1, version, identifiant, paramètres Argon2id, sel, nonceEn clair au début du .ivault. Aucun contenu, uniquement de quoi tenter l'ouverture
Compteurs : nombre d'hôtes, de clés, d'empreintes, de secrets, de snippetsEn clair à la fin du .ivault
Chemins complets et dates des 20 derniers coffres ouverts (recent.json)En clair, dossier applicatif
<votre coffre>.ivault.journal : noms d'opérations, horodatages, identifiantsEn clair, juste à côté du coffre
Langue, délai de verrouillage, onglets de session ouverts (avec le nom des serveurs)En clair, préférences locales de la fenêtre
Rapports de plantageEn clair, dossier crashes/ du dossier applicatif
Adresse du serveur cloud et jeton de session (sync-config.json)En clair, dossier applicatif, permissions 600
Sauvegardes automatiques du coffreChiffrées, dossier vault-backups/

L'en-tête et les compteurs de fin de fichier sont lisibles sans mot de passe. L'en-tête porte les paramètres nécessaires au déchiffrement ; les compteurs servent au quota de la synchronisation cloud, qui les lit sans ouvrir le coffre.

Le chiffrement, concrètement

Votre mot de passe maître n'est jamais stocké. Il sert à fabriquer une clé de 32 octets par Argon2id : 64 Mio de mémoire, 3 passes, parallélisme 1. Ce profil prend environ 250 ms sur un Mac Apple Silicon. Ce quart de seconde est voulu : il rend le test de milliards de mots de passe très coûteux pour quelqu'un qui aurait volé le fichier.

Cette clé chiffre l'ensemble du document en AES-256-GCM. Un sel aléatoire est tiré à la création du coffre, un nonce aléatoire à chaque enregistrement. Le GCM produit aussi une empreinte d'authentification : si un seul octet du fichier est modifié, l'ouverture échoue au lieu de renvoyer des données douteuses.

vault payload integrity check failed (file is corrupted or was tampered with)
vault file is corrupted or not an ILYGO vault
Mauvais mot de passe

Hawser ne se fie pas à l'extension : il lit les huit premiers octets. ILYV1 désigne le format actuel, OPV1 l'ancien format .outpost. Un fichier renommé en .ivault qui n'est pas un coffre est rejeté avec « format non reconnu ». Le coffre est écrit avec les permissions 600 : lisible par votre seul compte macOS.

Le fichier compagnon

À côté de coffre.ivault, Hawser tient un coffre.ivault.journal. Une ligne JSON par modification : nom de l'opération, horodatage, identifiant de l'élément visé. Aucun secret, aucun nom de serveur, aucun mot de passe. Il est effacé après chaque enregistrement réussi. Son rôle est de savoir, après un plantage, si des modifications n'avaient pas été écrites.

Ce que le mot de passe maître protège — et ce qu'il ne protège pas

Le mot de passe maître protège un fichier au repos. C'est déjà beaucoup, et c'est tout.

  • Quelqu'un qui copie votre .ivault sur une clé USB n'en tire rien.
  • Quelqu'un qui met la main sur une sauvegarde automatique n'en tire rien non plus : elles sont chiffrées avec la même clé.
  • Le serveur de synchronisation ILYGO ne peut pas l'ouvrir.

Ce qu'il ne protège pas

  • La session ouverte. Un coffre déverrouillé est lisible par quiconque a la main sur le Mac. C'est le rôle du verrouillage automatique, section suivante.
  • Le trafic réseau. SSH et SFTP chiffrent la connexion. FTP et Telnet non.
  • Les fichiers que vous téléchargez. Ils sont écrits tels quels dans le dossier de destination, en dehors du coffre. Voir Transférer des fichiers.
  • Le presse-papiers de macOS, qui n'appartient pas à Hawser.

Le verrouillage : automatique et manuel

Le délai se règle dans le rail de gauche, icône 🔐 Séc. (titre de vue « Security »), section ⏱️ Auto-lock, liste « Lock after … d'inactivité ». Six valeurs : Off (jamais), 1, 5, 15, 30 minutes, 1 heure. La valeur de départ est 15 minutes. Le changement est immédiat, confirmé par un message du type « Auto-lock after 15 min ».

Vue Sécurité de Hawser avec la section Langue et la section Auto-lock
La vue Séc. ne contient que deux réglages : la langue et le délai de verrouillage. Le reste du chiffrement fonctionne sans réglage — il n'y a rien à activer.

Une tâche de fond vérifie l'inactivité toutes les 5 secondes. Une pastille de compte à rebours s'affiche en haut de la fenêtre, à gauche du champ de recherche, et passe en rouge sous 60 secondes. Au même moment, un encart jaune apparaît en bas à gauche avec deux boutons : Rester, qui repart pour un délai complet, et Verrouiller, qui ferme le coffre tout de suite.

Comptent comme activité : une touche enfoncée, un mouvement de souris, un clic, un toucher, un retour de focus sur la fenêtre.

Le délai est un réglage par machine. Il est enregistré dans le coffre, mais la préférence locale de l'ordinateur est repoussée par-dessus au chargement. Si vous ouvrez le même coffre sur un second Mac, il repartira à 15 minutes. Voir Ouvrir et verrouiller.

Les empreintes d'hôtes

À la première connexion SSH ou SFTP vers un serveur, Hawser interrompt la poignée de main et affiche la modale Nouvelle empreinte d'hôte : l'algorithme de la clé et son empreinte au format OpenSSH SHA256:…, en police à chasse fixe. C'est exactement le format que produit ssh-keygen, ce qui permet une comparaison caractère par caractère.

# sur le serveur, pour comparer
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
  • Faire confiance — la connexion se poursuit et l'empreinte est enregistrée dans le coffre, avec l'algorithme et la date.
  • Cette fois seulement — la connexion se poursuit, rien n'est écrit, la question reviendra.
  • Annuler — la connexion est refusée.

Sans réponse pendant 120 secondes, la décision vaut Annuler et la connexion est refusée. Les empreintes sont classées par hôte:port en minuscules : le même serveur atteint par son adresse IP puis par son nom de domaine produit deux entrées distinctes, et la question est posée deux fois.

Si l'empreinte d'un serveur déjà connu a changé, la modale rouge ⚠ L'empreinte d'hôte a CHANGÉ montre les deux empreintes, attendue et présentée. La connexion est refusée, sans possibilité de passer outre. Un seul bouton : « Compris ».

Modale rouge annonçant que l'empreinte d'hôte a changé, avec les deux empreintes comparées
L'empreinte présentée s'affiche en rouge sous celle qui était attendue. Il n'y a pas de bouton « continuer quand même » : c'est un refus, pas un avertissement.

Touch ID

Le bouton 👆 Touch ID existe sur la modale de déverrouillage, et un badge du même nom peut apparaître dans la liste des coffres récents. Les deux ne s'affichent que si le coffre porte un marqueur biométrique.

Modale de déverrouillage d'un coffre Hawser, avec le champ mot de passe
Le chemin complet figure sous le nom du coffre : c'est ce qui permet de distinguer deux fichiers portant le même nom dans des dossiers différents.

Pour information, sur les coffres qui le supportent, ce qui est rangé dans le Trousseau macOS est la clé de 32 octets — jamais le mot de passe, jamais le coffre. L'élément est lié à l'ensemble d'empreintes courant et n'est accessible que sur cette machine, déverrouillée. Il n'est ni synchronisé dans le Trousseau iCloud, ni inclus dans les sauvegardes, et il est invalidé dès qu'une nouvelle empreinte est enrôlée dans macOS.

Dans tous les cas, Touch ID ne changerait rien au chiffrement du fichier. Il remplacerait la frappe du mot de passe, pas le mot de passe lui-même.

Sauvegardes automatiques et presse-papiers

Avant chaque enregistrement, Hawser copie la version chiffrée précédente du coffre dans un dossier de sauvegarde. Les cinq plus récentes sont conservées, les plus anciennes supprimées. Le tri se fait sur l'horodatage contenu dans le nom du fichier, pas sur la date du système de fichiers — c'est plus robuste face à un service de synchronisation tiers qui touche les dates.

~/Library/Containers/ch.ilygo.hawser/Data/Library/Application Support/
  ch.ilygo.hawser/vault-backups/<empreinte du chemin>/<horodatage>.ivault

Le dossier est volontairement placé hors du dossier du coffre, pour survivre à un service de synchronisation qui corromprait le fichier sur place. Le nom du sous-dossier est une empreinte du chemin, pas le chemin lui-même : il ne divulgue pas votre arborescence. Rien n'est copié au tout premier enregistrement, quand le fichier n'existe pas encore. Une sauvegarde qui échoue n'interrompt jamais l'enregistrement.

Le presse-papiers

Hawser ne met jamais de secret dans le presse-papiers. Il n'existe pas de bouton « copier le mot de passe » ni « copier la clé publique ». Les deux seuls usages du presse-papiers sont la copie du chemin d'un enregistrement et le repli lorsqu'un lien externe ne peut pas s'ouvrir.

Ce que voit ILYGO

Sans synchronisation cloud, rien ne quitte votre Mac. Il n'y a pas de télémétrie, et les rapports de plantage restent locaux : l'encart qui les signale au lancement le dit lui-même, « Hawser a planté lors des précédentes sessions. Les rapports sont stockés localement (aucun envoi automatique). »

Avec la synchronisation activée, ce qui part sur le serveur est le fichier .ivault tel quel, c'est-à-dire du texte chiffré. La clé maître ne quitte jamais la machine : elle n'est ni envoyée, ni dérivable côté serveur.

Ce que le serveur connaît malgré tout :

  • l'adresse e-mail de votre compte ;
  • le nom que vous donnez au coffre cloud, sa taille et ses dates de mise à jour ;
  • les compteurs transmis à chaque envoi : nombre d'hôtes, de clés, d'empreintes d'hôtes, de secrets, de codes TOTP et de snippets. Ils servent au quota.

Le jeton de session cloud est écrit dans sync-config.json, en clair, dans le dossier applicatif, avec les permissions 600. Il expire au bout de quelques jours. Ce n'est pas votre mot de passe maître : il ne donne aucun accès au contenu d'un coffre.

Si vous perdez le mot de passe maître

Vos données sont perdues. Sans détour : il n'existe aucun moyen de les récupérer, ni pour vous, ni pour ILYGO.

La modale de création le dit déjà, mot pour mot : « ⚠ Important. Si tu oublies ce mot de passe, personne (ni toi, ni Hawser, ni Apple) ne pourra récupérer tes données. »

  • Il n'y a pas de question de secours, pas de code de récupération pour le coffre, pas de réinitialisation.
  • Les sauvegardes automatiques sont chiffrées avec la même clé : elles ne servent à rien sans le mot de passe.
  • Le coffre cloud est la même chose, stocké ailleurs. Le serveur ne peut pas l'ouvrir non plus.

À la création, Hawser accepte deux profils, l'un ou l'autre : un mot de passe d'au moins 12 caractères mélangeant au moins 3 catégories parmi minuscules, majuscules, chiffres et symboles ; ou une phrase de passe d'au moins 4 mots de 3 caractères ou plus. Il n'y a pas de longueur maximale.