ShellDeck

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ÉtatDétail
LinuxSignéeAppImage signée avec GPG. Liste des empreintes signée, clé publique publiée avec chaque version.
WindowsCertificat 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.
macOSSignature ad hocL’application n’est pas encore notarisée par Apple. Gatekeeper demande une confirmation au premier lancement.
Mises à jourSignéesSur 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édure

Signaler 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égales

Un outil que vous pouvez auditer.

Le code, les versions et leurs empreintes sont publics. Lisez, vérifiez, puis installez.