Telemetrie-Richtlinie
STH befindet sich in der Alpha-Phase. Das CLI kann eine minimale Telemetrie senden — aber nur, wenn du beim ersten `sth init` ausdrücklich zugestimmt hast.
Warum wir erfassen
Die Alpha-Phase dient dazu, das Werkzeug zu validieren und die Roadmap zu priorisieren. Zu wissen, welche Befehle wie oft und in welcher CLI-Version verwendet werden, hilft uns, dort zu investieren, wo es zählt. Ohne diese Daten raten wir — und raten altert schlecht.
Drei Modi
Telemetrie ist eine ausdrückliche Entscheidung, getroffen beim ersten `sth init` und jederzeit über `sth telemetry` änderbar. Was gesendet wird, hängt vom aktiven Modus ab:
off— es wird nichts gesendet — keine Anfrage, kein Datensatz.anonymous— nur die drei lokalen Felder unten, ohne Schlüssel oder Kennung. Nichts wird einer Organisation oder Person zugeordnet; die Datensätze liegen in einer eigenen Tabelle, getrennt von Konten.connected— dieselben drei Felder, plus `org_id`, serverseitig aus deinem API-Schlüssel abgeleitet. Die Nutzung wird dann pro Organisation gruppiert und auf deiner Usage-Seite sichtbar.
Was wir erfassen
Die vom CLI gesendete Nutzlast ist bewusst minimal: drei lokale Felder, in jedem Modus identisch. Nur im connected-Modus fügt der Server deine Organisation (`org_id`) hinzu, abgeleitet aus deinem API-Schlüssel; im anonymous-Modus wird nichts hinzugefügt.
| Feld | Beispiel | Wofür |
|---|---|---|
ts | 2026-05-11T10:30:00Z | UTC-Zeitstempel des Befehls — macht Aktivitätsspitzen und Aktualität sichtbar. |
cli_version | v0.1.2 | Binär-Version — zeigt, wer noch auf älteren Builds ist, informiert die Release Notes. |
command_name | install | Name des Befehls, ohne Argumente. Zeigt, welche Funktionen am meisten genutzt werden. |
org_id (nur connected-Modus) | uuid | Wird serverseitig aus deinem API-Schlüssel abgeleitet, und nur im connected-Modus — gruppiert die Nutzung pro Organisation, niemals pro Person. Im anonymous-Modus wird es nicht gesendet. |
Was wir NICHT erfassen
Diese Elemente verlassen niemals deinen Rechner, schon durch den Aufbau der Nutzlast:
- Befehlsargumente (`sth install acme/secret-skill` sendet nur `install`).
- Keine Dateipfade, weder absolut noch relativ.
- Keine Dateiinhalte, niemals.
- Weder Inhalt, Name noch Quelle der installierten Skills.
- Keine Tokens, Schlüssel oder Secrets.
- IP-Adressen werden nicht explizit gespeichert — Server-Logs behalten sie höchstens 12 Monate (siehe Datenschutzrichtlinie).
Anonymität
Im anonymous-Modus sind die Daten wirklich anonym: kein Schlüssel, keine org_id, nichts, was sie mit dir oder deiner Organisation verknüpfen könnte. Im connected-Modus sind sie pseudo-anonym — über deinen API-Schlüssel mit einer Organisation verknüpft, aber ohne identifizierende Informationen auf CLI-Seite.
Im strengen Sinn der GDPR erzeugt der connected-Modus pseudonyme (nicht vollständig anonyme) Daten: ein STH-Superadmin mit Zugriff auf beide Tabellen könnte einen Nutzungsdatensatz mit einer Organisation verknüpfen. Genau deshalb ist der Zugriff eingeschränkt (siehe nächster Abschnitt). Der anonymous-Modus trägt keine solche Verknüpfung.
Wer sieht die Daten
Nur STH-Superadmins greifen über die Supabase-Produktionswerkzeuge auf die rohen Datensätze zu. Andere Dashboard-Rollen (owner, admin, member) sehen nur die Nutzung ihrer eigenen Organisation auf der Usage-Seite.
Aufbewahrungsdauer
Die Datensätze werden 30 Tage rollierend aufbewahrt. Danach werden sie gelöscht. Die Dauer ist mit der produktweiten Datenschutzrichtlinie abgestimmt.
Jederzeit deaktivieren
Die Zustimmung wird nur einmal abgefragt, beim ersten `sth init`. Die Entscheidung wird in deinen Benutzereinstellungen gespeichert. Um sie jederzeit zu ändern:
sth telemetry off
sth telemetry statusEigene Daten einsehen
Um genau zu sehen, was der Server über deine CLI-Aktivität gespeichert hat, führe aus:
sth telemetry output --limit=20