Gå til innholdet

Telemetri

Archgate samler inn anonyme bruksdata for å hjelpe oss med å forstå hvordan CLI-en brukes, prioritere funksjoner og fikse krasjer. Denne siden forklarer nøyaktig hva som samles inn, hva som ikke samles inn, og hvordan du kan reservere deg.

Når du kjører en Archgate-kommando, registrerer vi:

  • Kommandonavn og hvilke flagg som ble brukt (f.eks. check --json — kun flaggtilstedeværelse, aldri flaggverdier)
  • Avslutningskode (0, 1, 2 eller 130) og kjøretid (millisekunder), pluss en kort utfallstagg (success, user_error, internal_error, cancelled)
  • Miljø: OS, arkitektur, Bun-versjon, Archgate-versjon, CI-deteksjon (inkludert leverandør: GitHub Actions / GitLab CI / CircleCI / osv.), TTY-deteksjon, WSL-deteksjon, shell (bash, zsh, pwsh…) og locale
  • Installasjonskontekst: hvordan CLI-en ble installert (binærfil, proto, lokal dev-avhengighet eller global pakkebehandler)
  • Prosjektkontekst: om et Archgate-prosjekt finnes i gjeldende katalog, hvor mange ADR-er det har, hvor mange som har automatiserte regler, og hvor mange distinkte ADR-domener som brukes
  • Repokontekst (ikke-identifiserende): om gjeldende katalog er et git-repository, vertsboksen (github / gitlab / bitbucket / azure-devops / other), en hashet repo_id (SHA-256 av den normaliserte fjern-URL-en, avkortet til 16 heksadesimale tegn — ikke reverserbar), og standard grennavn
  • Grov lokasjon: land og region (resolveres på serversiden fra IP-adressen din, deretter forkastes IP-en — se IP-anonymisering)
  • Anonym installasjons-ID: en tilfeldig UUID generert ved første kjøring — ikke avledet fra personopplysninger

I tillegg til de generelle livssyklushendelsene for kommandoer (command_executed / command_completed), sender spesifikke kommandoer berikede utfallshendelser:

  • check: aggregerte regeltellinger (totalt, bestått, feilet, advarsler, feil), brukt utdataformat, om filtre ble brukt, skannede filer, lastetid, sjekktid — ingen filstier eller bruddinnhold
  • init: editorvalg, om pluginen ble installert, om prosjektet allerede eksisterte. En separat engangshendelse project_initialized sendes med repovertsboksen, repo_is_git og et repo_public-flagg. For repoer bekreftet som offentlige på GitHub / GitLab / Bitbucket, inneholder denne hendelsen også fjern-URL, eier og reponavn — se Repoidentitet. Private og selvhostede repoer får aldri identitet delt.
  • upgrade: versjonsovergang (fra -> til), installasjonsmetode, suksess/feil og en valgfri feilårsak
  • login: underkommando brukt (login, logout, refresh, status), suksess/feil og en feilboks (network, tls, denied, other) når det feiler
  • telemetry_preference_changed: utløses en gang når du aktiverer eller deaktiverer telemetri, slik at vi kan forstå reservasjonsrater

Archgate sender en hashet repo_id med hver hendelse slik at vi kan telle distinkte repositorier som bruker CLI-en uten å lære navnene deres. Den rå fjern-URL-en, eieren og reponavnet er ikke inkludert i den generelle hendelsesstrømmen.

Ved archgate init sendes en engangshendelse project_initialized. Hvis — og bare hvis — repositoriet er bekreftet offentlig på GitHub, GitLab, Bitbucket eller Azure DevOps (via en uautentisert API-probing mot verten), inneholder den hendelsen i tillegg remote_url, repo_owner og repo_name. Dette lar oss se hvilke offentlige repositorier som tar i bruk Archgate uten å noensinne eksponere private.

Hva som aldri deles:

  • Private repositorier (API-probing returnerer 404, 401 eller private: true)
  • Selvhostede Git-verter (probingen hopper over disse helt)
  • Repositorier der probingen får tidsavbrudd, ratebegrensning eller på annen måte ikke klarer å returnere et definitivt offentlig svar

Vil du ikke ha hendelsen i det hele tatt? Deaktiver telemetri helt — hele project_initialized-hendelsen undertrykkes da sammen med alt annet:

Terminal window
# Per shell / per kjøring
export ARCHGATE_TELEMETRY=0
# Eller permanent
archgate telemetry disable

Se Slik reserverer du deg nedenfor for fullstendige detaljer.

Når CLI-en krasjer (avslutningskode 2), sender vi:

  • Feiltype, melding og stacktrace (filstier strippes til relative stier som src/cli.ts)
  • Kjøretidskontekst: OS, arkitektur, Bun-versjon, Archgate-versjon
  • Anonym installasjons-ID (samme tilfeldige UUID som analyse)
  • Ingen personopplysninger: ingen brukernavn, e-postadresser eller IP-adresser. GitHub / GitLab / Bitbucket eier-/reponavn sendes kun på engangshendelsen project_initialized for repositorier som er bekreftet offentlige av verten sin — se Repoidentitet. Private og selvhostede repoer får aldri identitet delt.
  • Intet filinnhold: ingen ADR-innhold, kildekode eller filstier
  • Ingen prompt- eller AI-kontekst: ingenting fra agentinteraksjoner, prompter eller AI-generert innhold
  • Ingen flaggverdier: vi registrerer at --json ble brukt, ikke hva JSON-utdataene inneholdt
  • Ingen nettverksaktivitet: ingen URL-er, API-nøkler eller tokener

Archgate bruker PostHogs innebygde IP-anonymisering:

  1. CLI-en din sender en hendelse til PostHog med $ip: null
  2. PostHog resolver IP-adressen din til et land og en region (f.eks. “US”, “California”) på serversiden
  3. IP-adressen forkastes deretter — den lagres aldri i PostHog

For Sentry feilsporing har prosjektet “Prevent Storing of IP Addresses” aktivert, slik at IP-adresser fjernes før lagring.

Du kan deaktivere all telemetri (både analyse og feilsporing) på to måter:

Terminal window
export ARCHGATE_TELEMETRY=0

Aksepterte verdier: 0, false, no, off (uavhengig av store/små bokstaver).

Legg dette til i shellprofilen din (.bashrc, .zshrc, osv.) for å deaktivere permanent.

Terminal window
archgate telemetry disable

For å reaktivere:

Terminal window
archgate telemetry enable

For å sjekke gjeldende status:

Terminal window
archgate telemetry status

Miljøvariabelen har forrang over CLI-innstillingen. Hvis ARCHGATE_TELEMETRY=0 er satt, er telemetri deaktivert uavhengig av CLI-konfigurasjonen.

Archgate CLI-telemetri opererer på reservasjonsbasis under GDPR artikkel 6(1)(f) og LGPD artikkel 7, IX c/c artikkel 10 — behandlingsansvarliges berettigede interesser. Vi har publisert en formell Vurdering av berettigede interesser som dokumenterer hvorfor dette er forholdsmessig og lovlig.

Oppsummert: dataene er anonyme (tilfeldig UUID, ingen personopplysninger), påvirkningen på brukere er minimal, robuste sikkerhetstiltak er på plass (IP-anonymisering, EU-lagring, begrenset oppbevaringstid, transparens), og brukere beholder full kontroll via en enkel, permanent reservasjonsmulighet.

| Tjeneste | Data | Region | Oppbevaringstid | | ------------- | -------------------------------------- | -------------- | ------------------ | | PostHog Cloud | Anonym bruksanalyse | EU (Frankfurt) | 1 år | | Sentry Cloud | Krasjrapporter | EU (Frankfurt) | 90 dager | | Lokal konfig | Telemetripreferanse + installasjons-ID | Din maskin | Til du sletter den |

Analysehendelser rutes gjennom n.archgate.dev og feilrapporter gjennom s.archgate.dev. Disse er transparente reverseproksier driftet av Dasolve AS på Cloudflare-infrastruktur — de videresender forespørsler uten å logge, lagre eller inspisere nyttelast.

  • Rett til innsyn: Be om en kopi av alle data knyttet til din installasjons-ID. Send e-post til [email protected] med din installasjons-ID (finnes via archgate telemetry status eller i ~/.archgate/config.json). Svar innen 30 dager.
  • Rett til sletting: Be om sletting av historiske analyse- og krasjdata. Å deaktivere telemetri stopper fremtidig innsamling, men sletter ikke tidligere hendelser. Send e-post til [email protected] med din installasjons-ID for sletting.
  • Rett til å protestere: Deaktiver telemetri når som helst via archgate telemetry disable eller ARCHGATE_TELEMETRY=0.
  • Rett til å klage: Kontakt Datatilsynet (Datatilsynet) eller, for brasilianske brukere, ANPD (www.gov.br/anpd).

Behandlingsansvarlig: Dasolve AS (Org.nr 936 035 019), Lillogata 5P, 0484 Oslo, Norge. Kontakt: [email protected].

Brasilianske brukere (LGPD): For LGPD-spesifikke rettigheter (art. 18), detaljer om internasjonal overføring (art. 33) og ANPD-kontaktinformasjon, se personvernerklæring på portugisisk.

Telemetriimplementasjonen er fullstendig åpen kildekode. Du kan inspisere nøyaktig hvilke data som samles inn ved å lese: