server/data-export.md
This document outlines all data that Tuist can export for customers upon legal request (GDPR, CCPA). Data is exported for the specific account associated with the requesting user or organization.
Data is provided in a single compressed archive containing:
Sensitive authentication data (passwords, tokens) are excluded from exports.
The following data is stored in ClickHouse for analytics purposes:
build_runs table): Complete build execution data including duration, status, cache statistics, CI metadata, git information, and custom tagsbuild_issues table): Compilation warnings and errors from buildsbuild_files table): Individual file compilation metricsbuild_targets table): Target/module build performancecacheable_tasks table): Xcode cache task analytics with hit/miss statuscas_outputs table): Content-addressable storage upload/download recordsshard_plans table): Test sharding plan data including reference, shard count, and granularityshard_plan_modules table): Per-shard module assignments with estimated durationsshard_plan_test_suites table): Per-shard test suite assignments with estimated durationsshard_runs table): Per-shard execution results with status and durationtest_runs table): Includes shard_plan_id linking test results to their shard planbundles table): App bundle metadata (name, app bundle id, version, install/download size, supported platforms, type, git ref/branch/commit). Dual-written from PostgreSQL and backfilled into ClickHouse, so the CH table now holds the full history. PostgreSQL remains the read source until the phase 3 cutover.artifacts table): App bundle artifact tree (paths, sizes, SHA hashes, parent/child hierarchy) per uploaded bundle.test_case_runs_active_daily_stats materialized view): Pre-aggregated uniqExactState(test_case_id) per (project_id, date, is_ci) derived from test_case_runs. Powers the Test Cases analytics chart; contains no data not already covered by the source test_case_runs table.test_case_runs_by_commit materialized view): Slim projection of test_case_runs ordered by (project_id, git_commit_sha, scheme, is_ci, status, id). Powers the cross-run flakiness lookup; contains no data not already covered by the source test_case_runs table.All uploaded files associated with the account are included:
.xctestproducts bundles stored at {account_id}/{project_id}/shards/{shard_plan_id}/The archive contains everything needed to understand the account's complete data footprint within Tuist.