Privacy Policy

This page explains what data NixCI collects, why, and what you can do about it.

This policy is intended to comply with the EU General Data Protection Regulation (GDPR) and the Swiss Federal Act on Data Protection (FADP).

Data Controller

The data controller for the hosted NixCI service is CS Kerckhove, Zürich, Switzerland . You can contact us at support@nix-ci.com.

Account Data

When you sign in via GitHub, GitLab, or Codeberg, we store your platform user ID, username, and email address from those platforms. We also store OAuth tokens and GitHub App installation tokens so that we can interact with your repositories on your behalf (for example, to report build statuses).

If you create API tokens for programmatic access, we store a hash of each token. We never store API tokens in plain text.

Repository and Build Data

When NixCI runs CI for your repository, we temporarily download the repository source code to perform the build. We store metadata about each build: the repository name, branch, commit hash, commit message, commit author and committer names and emails, the username of the person who pushed the commit, build configuration, and build status.

Build logs are kept for 60 days and then automatically deleted. Build metadata (status, commit info, configuration) is kept for 90 days and then automatically deleted.

Build artefacts may be cached in our binary cache to speed up future builds. Cached artefacts are only available to users who have access to the repository. Cached artefacts are automatically deleted after 90 days. Old and unused artefacts may also be garbage-collected earlier to manage cache size.

Repository Secrets

You can store secrets for your repositories (for example, deployment keys). These are stored in our database and made available to builds. Only users with access to the repository can add or overwrite secrets. Only workers working on jobs that require secrets can read them. Users cannot. Secrets are automatically scrubbed from build output.

Workers

Builds run on worker machines. During a build, repository source code, secrets, and access tokens are transmitted to the worker over a TLS-encrypted connection. Each job runs in an isolated temporary directory that is deleted after completion.

Build artefacts (the packages produced by a job) remain in the worker VM's local store after the job, so that later jobs on the same VM can reuse them; they are discarded when the VM is rebooted. The worker VMs are wiped before running a job for a different owner.

Billing Data

If you subscribe to a paid plan, we store your billing account name, subscription status, which repositories and organizations are covered, and usage data (developer count and worker time).

Payment processing is handled by Stripe. We store your Stripe customer and subscription identifiers but do not store credit card numbers or other payment details directly.

Billing accounts that are never activated are automatically deleted after 1 day(s). Canceled billing accounts are deleted after 90 days. Billing period usage data is deleted after 90 days.

Cookies and Sessions

We use an encrypted session cookie to keep you logged in. This cookie is set when you sign in and is required for authentication. We do not use cookies for tracking or advertising.

Server Logs

Our servers log requests for operational purposes. These logs include IP addresses, browser user-agent strings, and which pages were accessed. Sensitive headers (like cookies and authorization tokens) are redacted from logs. Server logs are retained for 15 days.

Webhook Data

We temporarily store webhook payloads received from GitHub, GitLab, Codeberg, and Stripe for debugging purposes. GitHub, GitLab, and Codeberg webhook data is automatically deleted after 7 days. Stripe webhook data is automatically deleted after 49 days.

Page Visit Tracking

For non-authenticated visitors, we track aggregated daily page visit counts on a few key pages, along with which internal NixCI page led to the visit. This data does not identify individual users and is not shared with third parties.

We do not use any third-party analytics or tracking services.

Third-Party Services

NixCI communicates with the following external services as part of normal operation:

  • GitHub, GitLab, and Codeberg for receiving webhooks, fetching repository data, and reporting build statuses.
  • Stripe for processing payments for paid plans.

Each of these services has its own privacy policy.

All communication with external services uses TLS encryption.

International Data Transfers

NixCI servers are hosted in the European Union.

Depending on which integrations you use, some of your data is processed by third-party services located outside the European Economic Area:

  • GitHub (United States) holds your account data on its platform; we interact with it on your behalf when you connect your GitHub account.
  • GitLab (United States) — as above, when you connect your GitLab account.
  • Codeberg (Germany, European Economic Area) — no third-country transfer.
  • Stripe (United States) processes payment data when you subscribe to a paid plan.

Where applicable, these transfers rely on the EU–US and Swiss–US Data Privacy Frameworks and Standard Contractual Clauses as the legal mechanism for transfer.

Legal Basis for Processing

We process your personal data under the following legal bases:

  • Contract : account data, repository and build data, secrets, billing data, and worker processing are necessary to provide the NixCI service you signed up for.
  • Legitimate interests : server logs and short-term webhook retention for debugging and security; aggregated page visit counts for understanding how the site is used.
  • Legal obligation : retention of billing records as required by applicable tax and accounting law.

Your Rights

Under the GDPR and Swiss FADP, you have the right to:

  • Access the personal data we hold about you.
  • Request correction of inaccurate data.
  • Request deletion of your account and all associated data by contacting us at support@nix-ci.com.
  • Request a portable copy of the data you provided to us.
  • Object to processing based on legitimate interests.
  • Restrict processing in certain circumstances.
  • Lodge a complaint with your local data protection supervisory authority. In Switzerland, this is the Federal Data Protection and Information Commissioner (FDPIC) . In the EU, this is the data protection authority of your country of residence.

You can also:

  • Unlink your GitHub, GitLab, or Codeberg accounts from your account settings.
  • Revoke any API tokens you have created.

Deleting your account removes your linked platform credentials (including OAuth tokens), API tokens, and billing information.

Repositories linked via GitHub, GitLab, or Codeberg are shared resources and are not deleted when your account is removed. Build data and secrets for those repositories are retained and eventually removed by our standard retention policies.

Deleting your NixCI account does not delete your accounts on GitHub, GitLab, or Codeberg.

Self-Hosted Deployments

NixCI can be self-hosted. If you use a self-hosted instance, the operator of that instance controls data storage, retention, and security. This policy describes the practices of the hosted NixCI service.

Contact

If you have questions about this privacy policy or how your data is handled, contact us at support@nix-ci.com.