2026-05-18·5 min read·sota.io Team

JetBrains TeamCity EU Alternative 2026: Czech CI/CD with CLOUD Act Score 6/25

Post #4 in the sota.io EU CI/CD Tools Series

JetBrains TeamCity EU Alternative 2026 — CLOUD Act 6/25 GDPR Analysis

JetBrains TeamCity occupies an unusual position in the EU CI/CD landscape: it is one of the few major DevOps platforms built and operated by a European company. JetBrains s.r.o., the primary operating entity, is incorporated in the Czech Republic — an EU member state. Unlike GitHub Actions (Microsoft/PRISM, 21/25), Azure DevOps (Microsoft, 21/25), or Jenkins CloudBees (Delaware, 18/25), TeamCity is not directly subject to the US CLOUD Act.

But "not directly subject" is not the same as "zero risk." JetBrains has a US subsidiary, TeamCity Cloud uses third-party cloud infrastructure, and the legal picture involves nuances that compliance teams need to understand before deciding whether TeamCity Cloud, TeamCity self-hosted, or a fully EU-native alternative is the right choice.

This post gives you the complete picture: corporate structure, CLOUD Act scoring methodology, GDPR implications for CI/CD pipelines, and a practical migration guide to Woodpecker CI, Forgejo Actions, and Tekton on Hetzner.


JetBrains Corporate Structure

Understanding the risk starts with understanding who actually operates TeamCity:

EntityJurisdictionRole
JetBrains N.V.Netherlands (Amsterdam)Parent holding company — EU-incorporated
JetBrains s.r.o.Czech Republic (Prague)Primary operating entity — EU member state
JetBrains Americas Inc.United States (San Francisco, CA)US subsidiary — limited scope
JetBrains GmbHGermany (Munich)DACH sales and support entity

The critical fact: JetBrains N.V. and JetBrains s.r.o. are both incorporated in EU member states (Netherlands and Czech Republic respectively). Neither entity is a US person under US federal law, which means the US CLOUD Act (18 U.S.C. § 2703) does not apply directly to them.

This is fundamentally different from Microsoft (Washington State), Amazon (Delaware/Washington State), or CloudBees (Delaware) — all of which are US legal persons compellable under the CLOUD Act.

The US Subsidiary Caveat

JetBrains Americas Inc. (San Francisco, CA) is a US-incorporated entity. However, CLOUD Act exposure depends on what that entity actually controls — specifically whether it has "possession, custody, or control" (18 U.S.C. § 2703(a)) over TeamCity Cloud data.

If JetBrains Americas Inc. functions purely as a sales and support subsidiary with no administrative access to TeamCity Cloud infrastructure or data, the CLOUD Act risk via this entity is limited. If it shares IT systems, credentials, or key management with the Czech entity, the risk increases.

JetBrains' published documentation indicates that TeamCity Cloud customer data is controlled by the Czech/Dutch entity. But without a published sub-processor list that confirms zero data access by the US entity, this remains a residual risk requiring a Transfer Impact Assessment under GDPR Art.46 Schrems II guidance.


CLOUD Act Score: 6/25

Overall CLOUD Act Score: 6/25 — significantly lower than any US-headquartered CI/CD provider.

FactorScoreReason
EU-incorporated parent (NL + CZ)0/8JetBrains N.V. and s.r.o. are NOT US persons under CLOUD Act
US subsidiary (Americas Inc.)2/4Potential admin access unclear — residual risk
Cloud sub-processors (AWS/GCP)2/4TeamCity Cloud uses cloud infrastructure; sub-processors may be US-incorporated
FedRAMP / DoD contracts0/3None known
PRISM participation0/4No evidence of PRISM participation
EU data residency commitment−1/4JetBrains offers EU data region for TeamCity Cloud
Czech/EU law governing data−1/4Czech data protection authority (ÚOOÚ) jurisdiction, GDPR enforceable

Score: 6/25 — lower than even Northflank (UK, 3/25 for CLOUD Act but 3/25 overall), but higher than fully self-hosted EU-native solutions (0/25).

Comparison table for this CI/CD series:

ProductCompany HQCLOUD Act Score
Azure DevOpsMicrosoft (WA State)21/25
Jenkins CloudBeesCloudBees Inc. (Delaware)18/25
GitLab.com SaaSGitLab Inc. (Delaware)16/25
TeamCity CloudJetBrains s.r.o. (Czech)6/25
TeamCity self-hosted on HetznerSelf-operated0/25
Woodpecker CI on HetznerSelf-operated0/25
Forgejo Actions on HetznerSelf-operated0/25

The Czech provenance of JetBrains makes TeamCity Cloud meaningfully lower risk than any US-headquartered SaaS CI/CD tool, even before considering the self-hosted option.


What TeamCity Is and Why Teams Use It

TeamCity is a mature, full-featured CI/CD platform developed by JetBrains since 2006. It predates GitHub Actions by over a decade and is particularly popular in Java, Kotlin, and .NET shops.

Core capabilities:

Two deployment modes:

  1. TeamCity Cloud (JetBrains-hosted) — managed service, build agents provided by JetBrains, EU data region available. CLOUD Act Score: 6/25.
  2. TeamCity On-Premises — self-hosted on your infrastructure. CLOUD Act Score: 0/25 when on EU infrastructure.

GDPR Risk Analysis for CI/CD Pipelines

CI/CD systems are not just build automation — they are critical supply chain infrastructure under NIS2 Art.21(2)(d) and DORA Art.28. They hold secrets, handle source code, and produce artifacts that go directly into production. The GDPR implications are significant.

1. Source Code as Personal Data (Art.4)

Git commit metadata is personal data. Every git log entry in your CI system contains:

If TeamCity Cloud processes this data, the Czech JetBrains entity acts as a GDPR Art.28 data processor. A Data Processing Agreement (DPA) is required. JetBrains publishes a standard DPA — review it to confirm it meets your Art.28(3) requirements, particularly regarding sub-processor notification and your right to audit.

Self-hosted TeamCity on Hetzner removes the Art.28 data processor relationship for TeamCity itself, though Hetzner becomes the infrastructure processor.

2. Pipeline Secrets and Key Material (Art.25 Privacy by Design)

CI/CD systems routinely store:

Under GDPR Art.25, these secrets must be protected with appropriate technical measures. For Art.5(1)(f) integrity and confidentiality: pipeline secrets accessible to a CI/CD platform operator are accessible to that operator's entire legal chain — including government orders.

With TeamCity Cloud (JetBrains, Czech): the operator is not US-compellable. Your secrets are protected from US federal orders under normal circumstances.

With GitHub Actions (Microsoft, Washington State): the operator is a confirmed PRISM participant. Your pipeline secrets are accessible to the world's most capable intelligence apparatus under CLOUD Act.

This difference is not theoretical — it is the core reason European compliance teams are evaluating JetBrains and self-hosted alternatives.

3. Build Artifacts and SBOM (Art.30 Records of Processing)

TeamCity stores build artifacts: compiled binaries, Docker images, test reports, coverage data. If these artifacts contain embedded personal data (user data in test fixtures, analytics endpoints in app code), they constitute personal data under GDPR Art.4(1).

TeamCity Cloud's artifact storage is part of the data processor relationship. Ensure your DPA with JetBrains covers artifact retention periods and deletion rights under GDPR Art.17.

4. NIS2 Supply Chain Security (Art.21(2)(d))

NIS2 Directive (EU) 2022/2555, Article 21(2)(d) requires essential and important entities to implement "supply chain security, including security-related aspects concerning the relationships between each entity and its direct suppliers or service providers."

Your CI/CD system is a Tier-1 supply chain component. A compromise of your CI system is a compromise of every artifact it produces — including production deployments. For NIS2 compliance:

5. DORA Art.28: ICT Third-Party Risk for Financial Entities

If you are a financial entity under DORA (Regulation (EU) 2022/2554), your CI/CD system is an ICT third-party service provider. DORA Art.28(2) requires:

TeamCity's EU provenance (Czech) means it can potentially qualify as an EU-based ICT provider for DORA purposes — a significant advantage over US providers.


TeamCity Self-Hosted: The Zero-Risk Option

TeamCity self-hosted on EU infrastructure eliminates all jurisdictional risk. The architecture:

[Developer] → git push → [Gitea/Forgejo on Hetzner]
                              ↓ webhook
                    [TeamCity Server on Hetzner]
                         ↓ trigger
              [TeamCity Build Agents (Hetzner CCX13)]
                         ↓ artifacts
              [Hetzner Object Storage / Registry]

Hetzner CCX13 sizing for a 5-developer team:

CLOUD Act Score: 0/25 — you are the data controller and processor. No third-party data access.

License note: TeamCity Professional is free for up to 100 build configurations and 3 build agents. Beyond that, TeamCity requires a commercial license. For most small-to-mid teams, the free tier covers needs for years.


EU-Native Alternatives: Zero CLOUD Act, Open Source

If you want to eliminate any JetBrains dependency entirely, three EU-native alternatives cover the TeamCity use case:

Option 1: Woodpecker CI (EU-native, FOSS)

Woodpecker CI is a community fork of Drone CI, fully open source (Apache 2.0), and has no commercial US entity. Actively maintained by a European-led community.

Strengths:

CLOUD Act Score: 0/25 — self-hosted, no vendor

Hetzner deployment:

# docker-compose.yml (Woodpecker)
version: "3"
services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    environment:
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_URL=https://git.yourdomain.eu
      - WOODPECKER_AGENT_SECRET=${AGENT_SECRET}
    volumes:
      - woodpecker-server-data:/var/lib/woodpecker
  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_AGENT_SECRET=${AGENT_SECRET}

Pipeline syntax example (.woodpecker.yml):

steps:
  test:
    image: openjdk:21-slim
    commands:
      - ./gradlew test
  build:
    image: openjdk:21-slim
    commands:
      - ./gradlew build
    depends_on: [test]
  docker-push:
    image: woodpeckerci/plugin-docker-buildx
    settings:
      registry: registry.hetzner.eu
      repo: myapp
    depends_on: [build]
    when:
      branch: main

NIS2 Art.21 note: Woodpecker's event logs, build history, and secret vault are entirely within your infrastructure. No third-party processors in the GDPR Art.30 record.

Option 2: Forgejo Actions (Forgejo/Gitea-native CI)

Forgejo is a community fork of Gitea with a strong EU/European developer base. Forgejo Actions provides GitHub Actions-compatible CI/CD built directly into the Forgejo platform.

Strengths:

CLOUD Act Score: 0/25

Migration from TeamCity to Forgejo Actions:

Most GitHub Actions workflows work without modification on Forgejo Actions. Custom TeamCity features (composite builds, build chains) require translation, but Forgejo Actions' needs: syntax handles most cases.

Option 3: Tekton (CNCF, Kubernetes-native)

Tekton Pipelines is a CNCF project — open-source, no vendor, Kubernetes-native. Ideal if you are already running Kubernetes on Hetzner.

Strengths:

CLOUD Act Score: 0/25

SLSA Level 3 with Tekton Chains:

apiVersion: tekton.dev/v1
kind: Task
metadata:
  name: build-and-sign
spec:
  steps:
    - name: build
      image: gcr.io/kaniko-project/executor:v1.23.2
      args:
        - --context=/workspace/source
        - --destination=registry.hetzner.eu/myapp:$(params.IMAGE_TAG)
    - name: sign-provenance
      image: gcr.io/tekton-releases/github.com/tektoncd/chains/cmd/chains:v0.22.0

Tekton Chains automatically generates SLSA provenance attestations and signs them with Sigstore/cosign — meeting NIS2 Art.21(2)(d) supply chain security requirements at SLSA Level 3.


Migration Guide: TeamCity to Woodpecker CI

If you are moving from TeamCity to Woodpecker CI on Hetzner, here is a four-week migration plan:

Week 1: Infrastructure Setup

# Provision Hetzner servers
hcloud server create --name gitea-1 --type cpx21 --image ubuntu-24.04 --location fsn1
hcloud server create --name woodpecker-1 --type ccx13 --image ubuntu-24.04 --location fsn1
hcloud server create --name build-agent-1 --type cpx31 --image ubuntu-24.04 --location fsn1

# Install Gitea on gitea-1 (code hosting)
# Install Woodpecker Server on woodpecker-1
# Install Woodpecker Agent on build-agent-1

Cost: CPX21 (€7/mo) + CCX13 (€26/mo) + CPX31 (€19/mo) = €52/mo vs TeamCity Cloud Business at €384/mo.

Week 2: Mirror Critical Repositories

# Mirror TeamCity-connected repos to Gitea
# Export TeamCity build configurations via REST API
curl -H "Authorization: Bearer $TC_TOKEN" \
  https://teamcity.yourdomain.com/app/rest/buildTypes \
  > teamcity_configs.json

# Convert to Woodpecker YAML using the conversion script
python3 tc_to_woodpecker.py teamcity_configs.json

Week 3: Parallel Builds

Run both systems simultaneously for your most critical pipelines. Compare build outputs (artifact hashes, test counts, timing). Validate that the Woodpecker pipelines produce identical artifacts.

Week 4: Cutover

  1. Update CI webhooks in Gitea to point to Woodpecker
  2. Migrate TeamCity secrets to Woodpecker's secret store
  3. Disable TeamCity build agents (not TeamCity itself — keep it for audit trail access)
  4. Export TeamCity build history and store in your audit archive (NIS2 Art.21(2)(j))

TeamCity Cloud vs Self-Hosted Decision Matrix

CriterionTeamCity Cloud (JetBrains)TeamCity Self-HostedWoodpecker CI
CLOUD Act Score6/250/250/25
GDPR Art.28 processorJetBrains s.r.o. (CZ)Hetzner (DE)Hetzner (DE)
Operational overheadNoneHighMedium
Cost (10 developers)~€384/mo~€64/mo~€52/mo
GitHub Actions compatibilityNo (Kotlin DSL)No (Kotlin DSL)Yes
Test history depthExcellentExcellentBasic
Build chainsNativeNativevia depends_on
Free tierLimitedYes (3 agents free)Always free
NIS2 supply chain auditVendor audit rights neededFull self-auditFull self-audit
DORA ICT third-partyJetBrains (EU)Hetzner (EU)Hetzner (EU)

For organisations with strict GDPR requirements (healthcare, finance, public sector), the recommended stack is:

[Developer workstation]
    ↓ git push
[Forgejo on Hetzner fsn1 (Falkenstein, Germany)]
    ↓ webhook → Woodpecker CI trigger
[Woodpecker Server on Hetzner CCX13]
    ↓ dispatch to agents
[2× Woodpecker Build Agents on Hetzner CPX31]
    ↓ build artifacts
[Hetzner Container Registry (custom domain)]
    ↓ deploy
[Hetzner Cloud VMs / Kubernetes (k3s)]

GDPR Art.28 processor chain:

CLOUD Act Score for entire stack: 0/25

This stack costs approximately €52-80/month for a 5-10 developer team and provides a complete CI/CD solution with no US jurisdictional exposure anywhere in the pipeline.


Conclusion

JetBrains TeamCity occupies a genuinely unique position: it is the only major enterprise CI/CD platform built by a European company (Czech Republic). Its CLOUD Act score of 6/25 reflects real EU provenance — not marketing claims about EU data centres with US parent companies.

For teams currently using GitHub Actions, Azure DevOps, or Jenkins CloudBees, switching to TeamCity Cloud represents a meaningful GDPR risk reduction while maintaining enterprise CI/CD capabilities. TeamCity self-hosted on Hetzner achieves 0/25 CLOUD Act exposure with full feature parity.

For teams prioritising open-source independence and zero vendor dependency, Woodpecker CI and Forgejo Actions offer a complete CI/CD stack with GitHub Actions compatibility, Hetzner deployment, and 0/25 CLOUD Act exposure at significantly lower cost.

The core principle that applies across all four options in this CI/CD series: your CI/CD pipeline processes your most sensitive assets — source code, signing keys, deployment credentials, and production artifacts. The jurisdiction of your CI/CD provider is not a detail — it determines who else has access to everything you build.


EU CI/CD Tools Series

PostProviderCLOUD Act Score
#1Jenkins (CloudBees)18/25
#2GitLab.com SaaS16/25
#3Azure DevOps21/25
#4JetBrains TeamCity6/25
#5EU CI/CD Comparison Finale

Next: Post #5 — EU Enterprise CI/CD Comparison Finale: Full risk matrix, migration cost analysis, and which CI/CD stack is right for your organisation.


sota.io is an EU-native managed PaaS. Deploy any language or framework on Hetzner Germany — git push and you're live. No US parent company, no CLOUD Act exposure. Start free →

EU-Native Hosting

Ready to move to EU-sovereign infrastructure?

sota.io is a German-hosted PaaS — no CLOUD Act exposure, no US jurisdiction, full GDPR compliance by design. Deploy your first app in minutes.