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ée | Où elle vit |
|---|---|
| Serveurs : nom, hôte, port, utilisateur, protocole | Dans le .ivault, chiffré |
| Mots de passe de connexion saisis dans une fiche | Dans le .ivault, chiffré |
| Clés SSH privées (PEM) et leurs phrases de passe | Dans le .ivault, chiffré |
| Snippets, tunnels, groupes, thèmes de terminal | Dans le .ivault, chiffré |
| Empreintes d'hôtes acceptées | Dans 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 verrouillage | Dans 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, nonce | En 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 snippets | En 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, identifiants | En 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 plantage | En 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 coffre | Chiffré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
.ivaultsur 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 ».

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 ».

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.

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.