Politique de télémétrie
STH est en Alpha. Pour piloter l'amélioration, le CLI peut envoyer une télémétrie minimale — uniquement si vous l'avez accepté explicitement au premier `sth init`.
Pourquoi on collecte
L'Alpha sert à valider l'outil et à prioriser les évolutions. Savoir quelles commandes sont utilisées, à quelle fréquence et sur quelle version du CLI nous aide à investir où ça compte. Sans cette donnée, on devine — et on devine mal.
Trois modes
La télémétrie est un choix explicite, posé au premier `sth init` et modifiable à tout moment via `sth telemetry`. Ce qui est envoyé dépend du mode actif :
off— rien n'est envoyé — aucune requête, aucun enregistrement.anonymous— uniquement les trois champs locaux ci-dessous, sans clé ni identifiant. Rien n'est rattaché à une organisation ni à une personne ; les enregistrements vivent dans une table dédiée, séparée des comptes.connected— les trois mêmes champs, plus `org_id` déduit côté serveur de votre clé API. L'usage est alors regroupé par organisation et visible dans votre page Usage.
Ce qu'on collecte
Le payload envoyé par le CLI est volontairement minimaliste : trois champs locaux, identiques quel que soit le mode. En mode connected uniquement, le serveur y ajoute votre organisation (`org_id`), déduite de votre clé API ; en mode anonymous, rien n'est ajouté.
| Champ | Exemple | Pourquoi |
|---|---|---|
ts | 2026-05-11T10:30:00Z | Horodatage UTC de la commande — permet de mesurer les pics d'usage et la fraîcheur d'activité. |
cli_version | v0.1.2 | Version du binaire — identifie les utilisateurs encore sur d'anciennes versions, oriente les notes de patch. |
command_name | install | Nom de la commande exécutée, sans arguments. Permet de connaître les fonctionnalités les plus utilisées. |
org_id (mode connected uniquement) | uuid | Déduit côté serveur via votre clé API, et uniquement en mode connected — sert à grouper l'usage par organisation, jamais par personne. En mode anonymous, il n'est pas envoyé. |
Ce qu'on ne collecte PAS
Ces éléments ne quittent jamais votre machine, par construction du payload :
- Les arguments de commande (`sth install acme/secret-skill` n'envoie que `install`).
- Aucun chemin de fichier, ni absolu ni relatif.
- Aucun contenu de fichier, jamais.
- Le contenu des skills installées, ni leur nom, ni leur source.
- Aucun token, aucune clé, aucun secret.
- Aucune adresse IP n'est stockée explicitement — les logs serveur les gardent au plus 12 mois (voir la politique de confidentialité).
Anonymat
En mode anonymous, la donnée est réellement anonyme : aucune clé, aucun org_id, rien qui permette de la relier à vous ou à votre organisation. En mode connected, elle est pseudo-anonyme — associée à une organisation via votre clé API, mais sans aucune information identifiante côté CLI.
Au sens RGPD strict, le mode connected produit une donnée pseudonyme (et non totalement anonyme) : un superadmin STH ayant accès aux deux tables peut relier un usage à une organisation. C'est pourquoi l'accès est restreint (voir section suivante). Le mode anonymous, lui, ne porte aucun lien de ce type.
Qui voit la donnée
Seuls les superadmins STH accèdent à la donnée brute, via les outils Supabase de l'environnement de production. Les autres rôles dashboard (owner, admin, member) ne voient que l'usage de leur propre organisation, via la page Usage.
Durée de rétention
Les enregistrements sont conservés 30 jours glissants. Passé ce délai, ils sont supprimés. Cette durée est alignée avec la politique de confidentialité globale du produit.
Désactiver à tout moment
Le consentement est demandé une seule fois, au premier `sth init`. La décision est persistée dans vos settings utilisateur. Pour changer d'avis à tout moment :
sth telemetry off
sth telemetry statusInspecter ses propres données
Pour voir exactement ce que le serveur a stocké sur votre activité CLI, utilisez :
sth telemetry output --limit=20