Privacy Policy

Effective date: May 2, 2026
Last updated: May 10, 2026

Archgate ("we", "us", "our") is an open-source CLI tool for enforcing Architecture Decision Records (ADRs) as executable rules. This Privacy Policy explains how we collect, use, and protect information when you use the Archgate CLI, our documentation site, or our website.

Data controller: Dasolve AS (Org.nr 936 035 019), Lillogata 5P, 0484 Oslo, Norway.
Legal basis for CLI telemetry: Legitimate interest under GDPR Article 6(1)(f) and LGPD Article 7, IX c/c Article 10. See our Legitimate Interest Assessment for the full analysis.
Data Protection Officer (Encarregado): privacy@archgate.dev

Applicable law: This policy complies with the European General Data Protection Regulation (GDPR), the Brazilian Lei Geral de Proteção de Dados (LGPD, Lei nº 13.709/2018), and the California Consumer Privacy Act (CCPA). For Brazilian users, see the Portuguese version for LGPD-specific provisions including Art. 18 rights, international transfer mechanisms, and ANPD contact information.

Our principles

  1. Minimal collection. We only collect what we need to improve the tool.
  2. No personal data. We do not collect names, emails, usernames, IP addresses, or any personally identifiable information through the CLI or websites.
  3. Full transparency. Our telemetry implementation is open source. You can inspect every data point we collect in the source code.
  4. Easy opt-out. A single command or environment variable disables all telemetry.

What the CLI collects

Usage analytics (PostHog)

When you run an Archgate command, we record anonymous usage data to understand how the CLI is used, prioritize features, and identify problems. This includes:

  • Command name and flags used (flag presence only, never flag values)
  • Exit code and execution duration
  • Environment metadata: operating system, CPU architecture, Bun version, Archgate version, CI provider detection, TTY and WSL detection, shell type, and locale
  • Install context: how the CLI was installed (binary, proto, npm, or local dev dependency)
  • Project context: whether an Archgate project exists, number of ADRs and rules, and number of domains
  • Repository context (non-identifying): whether a git repo exists, the hosting platform bucket (github/gitlab/bitbucket/azure-devops/other), a SHA-256 hash of the remote URL (truncated, not reversible), and the default branch name
  • Coarse location: country and region only, resolved server-side from your IP address, which is then immediately discarded (see IP Anonymization below)
  • Anonymous install ID: a random UUID generated on first run, not derived from any personal data

Specific commands send additional context: check sends aggregate rule counts, init sends the editor choice, and upgrade sends version transition info. No file paths, source code, ADR content, or AI prompts are ever included.

For public repositories confirmed via an unauthenticated API probe, a one-time project_initialized event on archgate init may include the remote URL, owner, and repository name. Private, self-hosted, or unconfirmed repositories never have this information shared.

Error tracking (Sentry)

When the CLI crashes (exit code 2), we send:

  • Error type, message, and stack trace (file paths stripped to relative paths)
  • Runtime context: operating system, architecture, Bun version, Archgate version
  • Anonymous install ID (same random UUID as analytics)

What the CLI does NOT collect

  • No source code or file content
  • No ADR content, rule output, or violation details
  • No AI prompts, agent interactions, or generated code
  • No flag values, API keys, tokens, or credentials
  • No browsing history, cookies, or cross-site tracking

Archgate Plugins Service

The Archgate Plugins Service (plugins.archgate.dev) handles plugin distribution and user authentication. Unlike the CLI telemetry described above, this service does collect personal information when you create an account.

Account creation (signup)

When you sign up via archgate login, we collect:

  • Email address — provided by you during signup or prefilled from your GitHub account
  • GitHub username — retrieved from the GitHub API after you authorize via OAuth (GitHub Device Flow)
  • Editor choice — which editor you plan to use (Claude Code, VS Code, Cursor, or Copilot CLI)
  • Use case description — a short free-form text you provide describing how you plan to use Archgate

This data is stored in our database and used to provision your account, send you a welcome email, and understand how Archgate is being adopted.

Authentication tokens

When you log in, we issue an authentication token for plugin downloads. We store:

  • Token hash — a SHA-256 hash of your token (the raw token is returned once and never stored on our servers)
  • GitHub username — used as your user identifier
  • Usage metadata — download count, last used timestamp, creation date, and expiration date (90 days by default)

On your machine, the token and GitHub username are stored in your operating system's credential manager (macOS Keychain, Windows Credential Manager, or Linux libsecret) — never as plain-text files.

Email communications

We send a one-time welcome email when you sign up. Emails are delivered via Resend. We do not send marketing emails, newsletters, or promotional content unless you explicitly opt in.

What the Plugins Service does NOT collect

  • No real names or physical addresses
  • No payment or billing information
  • No source code, repository content, or ADR content
  • No IDE telemetry or editor usage data beyond the initial editor choice at signup
  • No IP addresses are stored — request IPs are used only for rate-limiting and discarded

Account deletion

To delete your account and all associated data, run archgate login logout to revoke your token locally, then contact us at privacy@archgate.dev to request deletion of your signup data from our database.

IP anonymization

Archgate uses PostHog's built-in IP anonymization. The CLI sends events with $ip: null. PostHog resolves your IP to a country and region server-side, then discards the IP address entirely. It is never stored.

For Sentry, the project has "Prevent Storing of IP Addresses" enabled. IP addresses are stripped before storage.

How to opt out of CLI telemetry

You can disable all CLI telemetry (both analytics and error tracking):

Environment variable:

export ARCHGATE_TELEMETRY=0

Accepted values: 0, false, no, off (case-insensitive). Add to your shell profile for permanent opt-out.

CLI command:

archgate telemetry disable

The environment variable takes precedence. When set, telemetry is disabled regardless of the CLI config.

What the websites collect

archgate.dev (marketing site)

The Archgate website uses Cloudflare Web Analytics, a privacy-first analytics service that:

  • Does not use cookies
  • Does not track individual visitors
  • Does not collect personal information
  • Provides only aggregate page-view and performance metrics

We also use PostHog for anonymous web analytics on this site. PostHog is configured with person_profiles: "identified_only", meaning no user profiles are created for anonymous visitors. Only aggregate page-view and interaction data is collected.

No other third-party advertising or tracking services are used on this site.

cli.archgate.dev (documentation site)

The documentation site uses Cloudflare Web Analytics with the same privacy properties described above.

Cookies

The Archgate CLI does not set or read cookies.

The archgate.dev and cli.archgate.dev websites use PostHog configured for cookieless, memory-only tracking (persistence: "memory"). No cookies are set, no localStorage is written, and no data persists between page loads. Each page view is treated as an independent anonymous event.

If cookies are present, they are solely from infrastructure providers (such as Cloudflare) for operational purposes like bot protection, and contain no personal data.

How data is transmitted

CLI analytics events are routed through n.archgate.dev and error reports through s.archgate.dev. These are transparent reverse proxies operated by Dasolve AS on Cloudflare infrastructure. They forward requests to PostHog EU (Frankfurt) and Sentry EU (Frankfurt) respectively without logging, storing, or inspecting event payloads. Their purpose is DNS-level resilience and regional routing optimization.

Data storage and retention

Service Data Region Retention
PostHog Cloud Anonymous usage analytics EU 1 year
Sentry Cloud Crash reports EU 90 days
Turso Signup data and token hashes (Plugins Service) EU Until account deletion is requested
Cloudflare Aggregate web analytics Global (edge) 6 months

All data is transmitted over HTTPS.

Third-party services

We use the following third-party services:

We do not sell, rent, or share any data with third parties for advertising or marketing purposes.

Subprocessors

The following third-party services process data on our behalf in connection with the Archgate CLI, Plugins Service, and websites:

Subprocessor Purpose Data processed Region
PostHog Inc. CLI and web analytics Anonymous usage events EU (Frankfurt)
Functional Software Inc. (Sentry) Crash reporting Error reports, stack traces EU (Frankfurt)
Cloudflare Inc. CDN, DNS, web analytics, reverse proxy Aggregate page views, forwarded events Global edge (no storage)
GitHub (Microsoft Corp.) OAuth, source hosting, binary releases GitHub username (Plugins Service only) US
ChiselStrike Inc. (Turso) Plugins Service database Account data, token hashes EU
Resend Inc. Transactional email Email address (welcome email only) US

We maintain Data Processing Agreements (DPAs) with all subprocessors that handle personal data. Data transferred outside the EU/EEA is protected by Standard Contractual Clauses (SCCs) or equivalent mechanisms.

Open-source transparency

Archgate is open source under the Apache-2.0 license. You can verify every privacy claim in this policy by reading the source code:

Your rights

Under the GDPR and applicable Norwegian data protection law, you have the following rights regarding your personal data:

Right of access (Article 15)

You may request a copy of all data associated with your install ID or Plugins Service account. To exercise this right, email privacy@archgate.dev with your install ID (found in ~/.archgate/config.json or via archgate telemetry status). We will respond within 30 days with a CSV or JSON export.

Right to erasure (Article 17)

You may request deletion of your data. Note that disabling telemetry stops future collection but does not delete historical data. To request deletion of historical analytics and crash data:

  1. Email privacy@archgate.dev with your install ID
  2. We will delete all PostHog events and Sentry reports associated with your ID within 30 days

For Plugins Service account deletion:

  1. Run archgate login logout to revoke your token locally
  2. Email privacy@archgate.dev to request deletion of your signup data (email, username, use case) from our database

Aggregate or anonymized data that cannot be linked back to an individual may be retained for statistical purposes.

Right to object (Article 21)

You may object to processing based on legitimate interest at any time by disabling telemetry (archgate telemetry disable) or by contacting us. If you object, we will cease processing unless we can demonstrate compelling legitimate grounds that override your interests.

Right to data portability (Article 20)

Upon request, we will provide your data in a structured, commonly used, machine-readable format (JSON or CSV).

Right to lodge a complaint

If you believe your data protection rights have been violated, you have the right to lodge a complaint with the Norwegian Data Protection Authority (Datatilsynet) at datatilsynet.no.

Response timeframe

We will respond to all data subject requests within 30 days of receipt. If a request is complex, we may extend this by an additional 60 days with prior notice.

California Privacy Rights (CCPA)

If you are a California resident, the California Consumer Privacy Act (CCPA) provides you with additional rights:

  • Right to know: You may request the categories and specific pieces of personal information we have collected. Categories include: identifiers (random UUID), internet activity information (command usage), and geolocation data (country/region only).
  • Right to delete: You may request deletion of your data using the same process described in "Right to erasure" above.
  • Right to opt-out of sale: We do not sell, rent, or share personal information for monetary or other valuable consideration. There is nothing to opt out of.
  • Right to non-discrimination: We will not discriminate against you for exercising any of your CCPA rights. Disabling telemetry has no effect on CLI functionality.

To exercise your CCPA rights, contact privacy@archgate.dev.

Children's privacy

Archgate is a developer tool and is not directed at children under the age of 13. We do not knowingly collect any information from children.

Changes to this policy

We may update this Privacy Policy from time to time. Changes will be reflected by the "Last updated" date at the top of this page. Since we do not collect personal data, we have no way to notify individual users of changes. We encourage you to review this page periodically.

Contact

If you have questions about this Privacy Policy or wish to exercise your data protection rights:

Dasolve AS
Lillogata 5P, 0484 Oslo, Norway
Org.nr: 936 035 019
Email: privacy@archgate.dev

You may also open an issue on GitHub for non-sensitive privacy questions.