Sécurité
Ce que ShellDeck stocke, installe et exécute.
ShellDeck ouvre des sessions sur vos serveurs et pilote des agents. Cette page dit précisément où vont vos secrets, comment une version est vérifiée et ce qu’un agent a le droit de faire sans vous.
Vos identifiants restent dans le trousseau
Les secrets sont confiés au trousseau du système d’exploitation. Les fichiers de configuration n’en contiennent pas.
Identifiants SSH
Ils sont stockés par le trousseau, jamais dans les fichiers de configuration.
Jeton de compte
Le jeton Inklura Manage est conservé par le trousseau. Les réglages n’en affichent qu’un extrait masqué.
Clés d’API
Les clés des fournisseurs d’IA vivent dans le trousseau, hors des fichiers, des journaux et de l’activité.
~/.ssh/config intact
ShellDeck lit ce fichier et n’y écrit jamais. Ses données ont leur propre dossier.
Des mises à jour vérifiées avant installation
L’application ne fait pas confiance au serveur de mise à jour : elle vérifie ce qu’elle reçoit.
Manifeste signé
Chaque version publie un manifeste signé Ed25519. La clé publique est intégrée à l’application au moment de sa compilation.
Archive contrôlée
La signature couvre la plateforme, la version, l’adresse, la taille et l’empreinte SHA-256. Une archive qui ne correspond pas est refusée.
Empreintes publiques
SHA256SUMS.txt liste l’empreinte de chaque fichier, avec une signature GPG détachée et la clé publique.
Tout ou rien
Si la construction échoue sur un seul des trois systèmes, aucune version n’est publiée.
Une IA qui propose, et vous qui décidez
L’assistant et les agents suivent le même contrat, écrit dans le dépôt et appliqué par le cœur de l’application.
Activation explicite
L’IA est désactivée par défaut. Un appel ne démarre qu’après un geste de votre part, sans suggestion ni analyse en arrière-plan.
Un brouillon d’abord
Insérer ou accepter une proposition n’exécute aucune commande, n’envoie aucune réponse et n’écrase aucun script.
Confirmation séparée
Une action passe par un plan structuré, ouvert par un geste distinct et validé dans sa propre fenêtre. La cible et les droits sont revérifiés juste avant.
Risque élevé, toujours confirmé
Même avec une politique automatique, une action à risque élevé exige votre accord.
Arrêt possible
Une action longue garde son bouton d’arrêt et une durée maximale.
Contenu distant non fiable
Sortie de terminal, tickets et scripts sont traités comme des données, jamais comme des instructions.
Contexte borné et expurgé
Le contexte transmis est limité à la surface en cours et nettoyé des secrets reconnus.
Journal sans contenu
Les traces d’audit ne contiennent ni commandes, ni réponses, ni sortie de terminal, ni identifiants.
Des modes ouverts par le serveur, pas par l’application
Les surfaces Support et Dev exposent des outils sensibles. Leur accès ne se décide pas côté client.
Connexion obligatoire
Sans session, l’application affiche l’écran de connexion. Il n’existe pas de mode invité.
Rôles fournis par le serveur
Les modes disponibles découlent des rôles du compte. L’application n’en invente aucun.
Rien d’inaccessible à l’écran
Un mode ou une commande que le compte ne peut pas utiliser n’est pas affiché.
Déconnexion propre
Se déconnecter révoque le jeton côté serveur et arrête les synchronisations en cours.
Un réseau sobre et borné
Les échanges avec les services en ligne sont limités, et n’empêchent jamais l’application de démarrer.
Délais courts
La synchronisation au démarrage est bornée : quatre secondes pour se connecter, dix au total.
Entrées locales protégées
La synchronisation n’ajoute et ne retire que les connexions venues du portail. Vos entrées manuelles et SSH ne sont jamais modifiées.
Pas de redirection suivie
Les identifiants de la console Monique ne sont envoyés qu’à l’adresse configurée. Une redirection est refusée.
Des dépendances surveillées
Le code est public et ses dépendances sont auditées en continu.
Audit RustSec
Un contrôle automatique tourne à chaque modification des dépendances et chaque semaine. Une nouvelle vulnérabilité fait échouer la vérification.
Sources restreintes
Une dépendance venue d’un registre ou d’un dépôt inconnu fait échouer le contrôle.
Licence MIT
Tout le code de l’application est lisible, y compris les correctifs apportés aux bibliothèques embarquées.
Transparence
Signature des versions : où nous en sommes
La situation exacte, système par système. Ce tableau évoluera avec les certificats.
| Système | État | Détail |
|---|---|---|
| Linux | Signée | AppImage signée avec GPG. Liste des empreintes signée, clé publique publiée avec chaque version. |
| Windows | Certificat auto-signé | Exécutable et installeur signés Authenticode, avec un certificat qui n’est pas encore reconnu par Windows. SmartScreen affiche un avertissement au premier lancement. |
| macOS | Signature ad hoc | L’application n’est pas encore notarisée par Apple. Gatekeeper demande une confirmation au premier lancement. |
| Mises à jour | Signées | Sur les trois systèmes, le manifeste Ed25519 est vérifié par l’application avant toute installation. |
Vérifier un téléchargement
Les commandes pour contrôler la signature GPG et les empreintes SHA-256 sont sur la page de téléchargement.
Voir la procédureSignaler une vulnérabilité
Écrivez à l’éditeur en privé avant toute divulgation, et ne décrivez pas la faille dans un ticket public. Les coordonnées figurent dans les mentions légales.
Mentions légalesUn outil que vous pouvez auditer.
Le code, les versions et leurs empreintes sont publics. Lisez, vérifiez, puis installez.