Sécurité
Ce que Soreno fait sur votre machine
Le code de Soreno n’est pas public. Cette page dit donc précisément ce que l’application fait sur votre machine et sur vos serveurs, ce qu’elle envoie sur le réseau, et ce qu’elle ne protège pas.
Le principe
Pas de compte, pas de serveur Soreno
Soreno est une application de bureau. Vos projets ne passent par aucun serveur de Soreno.
Aucun compte
Soreno s’ouvre sans inscription ni connexion. Le Kanban local fonctionne sans compte ; Linear n’est qu’une option.
Aucune télémétrie
Ni statistiques d’usage, ni rapport de plantage : Soreno ne sait pas combien de sessions vous lancez, ni sur quels projets.
Vos données dans votre profil
Notes, réglages, projets et issues locales sont enregistrés sur votre machine, dans le dossier de données de l’application.
Vos agents parlent à leurs fournisseurs
Claude Code, Codex, Pi et OMP envoient vos consignes et votre code à leurs fournisseurs, comme dans votre terminal. Soreno ne s’interpose pas dans ces échanges.
Agents
Vos agents restent ceux que vous avez installés
Soreno lance vos CLI dans de vrais terminaux, ou OMP dans la vue Chat si vous la choisissez. Il ne les remplace pas : ce sont eux qui parlent à leurs fournisseurs.
Vos identifiants restent aux agents
Soreno ne lit pas les fichiers de connexion de Claude Code ou de Codex. Pour vos quotas, il interroge les CLI eux-mêmes :
claude auth statuset/usage, qui n’appelle aucun modèle, etcodex app-server.Aucune autorisation contournée
Soreno n’ajoute ni
--dangerously-skip-permissionsni--yolo: chaque agent garde ses propres règles, et celui qui vous demande votre accord dans le terminal le demande aussi dans Soreno. Soreno ajoute en revanche ses consignes, par exemple pour créer une issue quand vous le demandez, et l’accès à quelques dossiers (voir Les limites).Votre configuration n’est pas réécrite
Pour suivre l’état des sessions, Soreno ajoute ses hooks au lancement de chaque session (
--settingspour Claude Code,-cpour Codex). Codex vous demande de les approuver : Soreno ne contourne pas cette étape.Des hooks pour suivre l’état, rien d’autre
Pour savoir si Claude Code ou Codex travaille ou attend votre réponse, Soreno lui fait lancer un court script à chaque étape (début de tour, fin de tour, demande d’autorisation). Ce script note l’état de la session dans un fichier privé : il n’ouvre aucun port, ne répond jamais à une demande d’autorisation à votre place, et s’il échoue, l’agent continue. Pour Pi et OMP, une extension fait le même travail.
SSH
Vos serveurs, avec votre OpenSSH
Soreno n’a pas son propre client SSH : il appelle le ssh de votre système, avec votre ~/.ssh/config et votre agent SSH.
Aucun mot de passe enregistré
Soreno garde l’hôte, l’utilisateur, le port et le chemin de la clé choisie, jamais la clé elle-même ni sa phrase secrète. Une clé protégée se déverrouille avec
ssh-add.L’empreinte du serveur vérifiée
Chaque session exige une empreinte connue (
StrictHostKeyChecking=yes) : celle de votreknown_hosts, ou celle que vous avez confirmée dans Soreno après l’avoir comparée. Si elle change, la connexion est refusée.Pas de transfert d’agent
Le transfert de l’agent SSH est désactivé : le serveur ne peut pas se servir de vos clés pour se connecter ailleurs.
Ce qui est installé sur le serveur
Dans
~/.cache/soreno:dtach, vérifié par son empreinte SHA-256, qui garde les sessions en vie quand Soreno est fermé, le scriptsoreno-attachet les fichiers de suivi des sessions (hooks, pont Pi et OMP). Tout tourne sous votre compte : pas desudo, pas de service système, pas de port ouvert.Des sessions réservées à votre compte
Chaque session écoute sur un socket Unix que seul votre compte peut ouvrir. Elle garde le dernier mégaoctet de sortie du terminal, pour le réafficher quand vous revenez.
Des ports redirigés en local
Les ports redirigés depuis la barre d’état n’écoutent que sur
127.0.0.1: le reste de votre réseau ne les voit pas.
Données
Ce qui est enregistré, et où
Les données principales sont dans ~/Library/Application Support/com.soreno.notes sur macOS et %APPDATA%\com.soreno.notes sous Windows, les journaux dans ~/Library/Logs/com.soreno.notes ou %LOCALAPPDATA%\com.soreno.notes\logs. L’interface garde aussi quelques préférences et caches dans le stockage de sa WebView.
Notes, projets et issues locales
Dans des bases SQLite, et les réglages dans
settings.json. Les captures collées dans une issue sont des fichiers à côté. Les issues Linear, et les captures que vous y ajoutez, sont enregistrées chez Linear.La clé Linear dans le trousseau
Si vous connectez Linear, sa clé d’API est rangée dans le Trousseau de macOS ou le Gestionnaire d’identifiants de Windows, pas dans un fichier. Vous déconnecter la supprime.
Ce qu’un agent reçoit d’une issue
Lancer un agent depuis une issue lui donne sa description et le chemin de ses images, six au plus. L’agent envoie ce qu’il lit à son fournisseur, comme toute consigne.
Sur vos serveurs et dans WSL
Sur un serveur SSH, les fichiers de Soreno sont dans
~/.cache/soreno, images collées comprises, et, si vous groupez des projets, dans~/.soreno/groups. Certaines images jointes passent aussi par un dossier privé/tmp/soreno-agent-*; dans WSL, chaque session a son dossier de contrôle dans/tmp.
Réseau
Les connexions que Soreno ouvre lui-même
La liste est complète. Vos agents, Git et vos serveurs SSH ouvrent les leurs.
GitHub, pour les mises à jour
Une fois par heure, Soreno lit le fichier
latest.jsondes versions publiées. Il télécharge la nouvelle version quand vous cliquez sur Mettre à jour.GitHub, pour les skills
Pour savoir si un skill installé a changé, Soreno lit l’arborescence de son dépôt avec l’API de GitHub, avec votre
GITHUB_TOKENs’il est défini.npm ou Homebrew, pour Codex
Pour vous signaler une nouvelle version de Codex, selon la façon dont vous l’avez installé.
Linear, si vous le connectez
api.linear.apppour les issues, et ses serveurs de fichiers pour les images. La clé n’est envoyée qu’aux serveurs de Linear. Sans Linear, aucune connexion.Les images de vos Markdown
Une image distante dans une note ou dans la description d’une issue est chargée depuis son adresse, comme dans un navigateur. Ailleurs (conversations, commentaires, aperçu des fichiers), elle reste un simple lien.
Et les outils qu’il lance
Vos agents, Git,
npx skillsetomp updateouvrent leurs propres connexions : Soreno les lance, il ne les relaie pas.
Mises à jour
Des versions signées, installées quand vous le décidez
Chaque version de Soreno est construite, signée et publiée de la même façon.
Signées, puis vérifiées
Chaque version est signée à sa construction. Avant de l’installer, Soreno vérifie la signature du fichier téléchargé avec la clé publique qu’il embarque : un fichier modifié est refusé.
Au clic, pas en douce
Soreno cherche seul les nouvelles versions, mais ne les télécharge et ne les installe que quand vous cliquez. Le redémarrage arrête les agents en cours en local et dans WSL ; en SSH, les terminaux continuent sur le serveur, et Chat (OMP) aussi sur un serveur Linux.
Construites par GitHub Actions
Les versions sont compilées et publiées par l’intégration continue, sur le dépôt public Soreno-Releases.
Signée et notarisée sur macOS
L’application macOS est signée avec un certificat Developer ID et notarisée par Apple.
Les limites
Ce que Soreno ne protège pas
Mieux vaut les connaître avant de lui confier vos projets.
Des données non chiffrées par Soreno
Notes, issues et réglages sont enregistrés en clair. Leur protection est celle de votre disque : activez FileVault ou BitLocker.
Un agent agit avec vos droits
Un agent lancé dans Soreno peut faire tout ce que peut votre compte, comme dans un terminal. Ses garde-fous sont les siens : Soreno ne l’enferme pas davantage.
Des dossiers ouverts aux agents
Pour recevoir vos remarques et travailler sur un groupe de projets, l’agent a accès à des dossiers en plus du projet (
--add-dirpour Claude Code,writable_rootspour Codex).Le message de commit sans approbation
Commit automatique lance Codex sans lui demander d’approbation, mais en lecture seule, sans shell, sans recherche web et sans votre configuration : il ne peut que rédiger le message.
Votre compte sur le serveur
Une session SSH est protégée des autres comptes du serveur, pas de root ni des programmes qui tournent sous votre propre compte.
Windows pas encore signé
L’installateur Windows n’a pas de certificat d’éditeur : Windows peut signaler un éditeur inconnu. Les mises à jour, elles, sont vérifiées comme sur macOS.
Vérifier
Ne nous croyez pas sur parole
Le code n’est pas public, mais ce que fait Soreno se contrôle.
La signature macOS
codesign -dvv /Applications/Soreno.appaffiche le certificat (Developer ID Application) ;spctl -a -vv /Applications/Soreno.appindiquesource=Notarized Developer ID.Les connexions
Un pare-feu applicatif comme Little Snitch ou LuLu montre chaque connexion de Soreno : comparez-les à la liste ci-dessus.
Les commandes lancées
ps -efwwou le Gestionnaire des tâches (colonne Ligne de commande) montrent les CLI lancés par Soreno et les options qu’il leur ajoute.Les fichiers
Notes, réglages, projets et liste des sessions sont dans les dossiers cités plus haut : ouvrez-les, ce sont des bases SQLite et du JSON.
Une faille, un doute ?
Si vous trouvez une faille, ou si un point de cette page vous semble faux, écrivez à contactsoreno.dev.
Ouvrez votre premier projet dans Soreno
Soreno lance les CLI déjà installés sur votre machine, dans WSL ou sur vos serveurs. Vos notes, vos réglages et vos issues locales restent dans votre profil.
L’application macOS est signée et notariée par Apple. L’installateur Windows ne l’est pas encore : Windows peut signaler un éditeur inconnu.