Engineering Data Residency Best Practices: Where Your Code Data Should Live

All Posts
Share this post
Share this post

TL;DR: Source code should stay in the region where your version control system hosts it, while commit metadata, ticket data, and AI tool telemetry follow your written residency policy. Derived metrics carry the most flexibility because they sit furthest from the raw data. Residency sets where data sits, while access management, encryption, and audit logging control who can reach it. minware hashes source code during ingest so the code itself is never stored, runs U.S. hosting for Professional tier customers, and offers custom data residency for Enterprise tier customers. To test any vendor's claims, check its subprocessor list, backup locations, and SOC 2 report scope.

Engineering analytics pulls data from version control systems such as GitHub, project management systems such as Jira, CI/CD, and AI coding tools such as Claude Code or Cursor. Each source carries its own residency implications, so a single rule for "engineering data" rarely holds up in a security review. This guide gives engineering leaders a framework for deciding where each type of data should live, how to test a vendor's residency claims, and when an on-premise ingest agent is worth the setup.

Defining data residency for engineering analytics

Data residency is the physical location where data is stored, including primary systems, backups, and disaster recovery (DR) environments. Write your residency policy to cover processing locations as well, since data can be stored in one region and processed in another.

Separating residency from sovereignty

Data residency describes where data is stored, while data sovereignty describes which country's laws govern that data. The two can diverge. Under the Clarifying Lawful Overseas Use of Data (CLOUD) Act, a provider subject to U.S. jurisdiction must preserve customer data in its possession, custody, or control regardless of its location. A U.S. vendor hosting data in the EU therefore remains subject to U.S. legal process for that data.

Encryption narrows this gap only when you control the keys. A cloud host that retains the decryption keys can be compelled to decrypt data under foreign law, whichever region the data sits in.

Covering data at rest and in transit

Data at rest is data stored on disk or in a database. Data in transit is data moving between locations, such as from a source system's API to a vendor's warehouse, between services, or across a replication link. Many residency requirements focus on data at rest. Track data in transit as well, because it can cross borders during processing, backup, or failover.

Backups deserve their own line in the policy. The 3-2-1 backup rule keeps one copy off-site, and that copy may sit in a different region from the primary. Ask where each backup copy lives before assuming the primary region covers it.

Classifying engineering data by sensitivity

Engineering analytics data falls into categories with different sensitivity levels. Varonis's classification framework places source code in the high-sensitivity tier alongside financial records. Commit metadata and ticket data are internal-use data, though they still reveal business context. A commit message such as "fix pricing calculation for EU customers" can expose roadmap details. Derived metrics such as cycle time and bug rate are usually less sensitive than the source data behind them, though item-level drill-downs can still expose ticket titles or author names.

Data type Examples Typical handling
Source code Repository contents Strictest residency, encryption, and access controls
Commit metadata Commit messages, authors, timestamps Follows residency policy, encryption expected
Ticket data Titles, descriptions, status history Follows residency policy, access controls recommended
CI/CD logs Build output, deployment records Follows residency policy, retention limits common
AI tool data Prompts, token usage, agent sessions Check where the AI vendor runs inference
Derived metrics Cycle time, bug rate, DORA metrics Most flexible, check item-level drill-downs

Identifying the regulations that set location rules

Several regulations govern how personal data is protected, but only some set explicit location rules. Knowing which is which keeps a residency policy from restricting data that no rule constrains. Translate each rule into specifics before it reaches a vendor questionnaire: which data types it covers, whether it applies at rest or in transit, and what happens during failover.

Reading EU and California privacy rules

GDPR Chapter V governs transfers of personal data outside the European Economic Area (EEA). Transferred data must keep an equivalent level of protection through an adequacy decision, appropriate safeguards such as standard contractual clauses, or narrow derogations. GDPR fines for the most serious violations can reach 4% of global turnover or €20 million, whichever is higher.

The California Consumer Privacy Act (CCPA) regulates how businesses collect, use, or share personal information. Fines run up to $2,663 per violation. Intentional violations, or violations involving a consumer under 16, carry up to $7,988 each. For engineering data, both laws mostly apply through commit authors, ticket assignees, or personal data pasted into tickets and prompts.

Checking healthcare and federal rules

The Health Insurance Portability and Accountability Act (HIPAA) permits storing electronic protected health information (ePHI) on servers outside the United States under a business associate agreement (BAA). The U.S. Department of Health and Human Services (HHS) notes that offshore storage can raise the risk to that data, so check where any vendor that might touch ePHI stores it.

The Federal Risk and Authorization Management Program (FedRAMP) sets a narrower rule. Its Class D certification (formerly the High impact level) restricts information processing, data storage, and critical system services to U.S. jurisdiction through control SA-9. That control comes from National Institute of Standards and Technology (NIST) Special Publication 800-53. Agencies can also write location requirements into their contracts at any level.

Deciding where each data type should live

Sensitivity and regulation together point to a location for each data type. Source code has the least room to move, while derived metrics have the most.

Keeping source code with your version control system

Your version control system, such as GitHub, GitLab, Bitbucket, or Azure DevOps, usually decides where source code lives. GitHub Enterprise Cloud offers data residency in the EU, Australia, the U.S., and Japan. GitLab Dedicated runs as a single-tenant instance in a region you choose. Bitbucket Cloud still hosts repository data in the U.S., with EU residency still rolling out. Self-hosted Bitbucket Data Center lets teams choose where repositories live.

The next question is whether an analytics vendor copies that code anywhere else. Ask where the vendor stores any replicated repository data, then check whether it stores source code at all. A vendor that hashes source code during ingest leaves no source code to relocate, so ask which non-code repository files it keeps.

Placing metadata, AI tool data, and derived metrics

Commit messages, ticket titles, and PR descriptions reveal business context, so they should follow your written residency policy. AI tool data needs a separate check, because prompts can include code snippets or ticket references, and the tool's vendor may process them outside your primary region. Anthropic's API, for example, runs inference in any available geography by default unless an admin restricts it to the U.S. Confirm where each AI vendor runs inference before assuming the analytics vendor is the only place your data travels.

A vendor that stores derived metrics in your region while processing raw data elsewhere may meet your policy without a dedicated deployment. Check the drill-downs first, since a metric that links to individual tickets or pull requests carries those items' titles and authors with it.

Evaluating a vendor's residency claims

Start with the vendor's primary storage region, then check whether the claim also covers backups, disaster recovery, and subprocessors.

Running a five-point vendor checklist

Work through these five checks with every vendor that will hold engineering data:

  1. Map the data flow: Document where data enters, where it's processed, where it's stored, and where it's backed up.

  2. Read the SOC 2 scope: A SOC 2 report can cover up to five Trust Services Criteria, and none of them sets a data location requirement. Read which criteria the report covers, then check its system description for the hosting providers it names.

  3. Name the jurisdictions: Confirm which countries' laws apply to the data, wherever it's stored.

  4. Locate backups and DR: Ask where backups are stored. Confirm which region takes over during failover.

  5. Include AI tool data: Confirm that prompts and token usage fall under the same residency controls as other data types.

A simple table captures the data flow for each vendor:

Stage Location Data What to confirm
Ingest Source systems or your environment Raw source data Who holds the credentials
Processing Vendor infrastructure Normalized data Processing region, subprocessors
Storage Vendor warehouse Normalized data and metrics Storage region
Backup Vendor DR site All stored data Matches primary region or is disclosed

Checking subprocessors, processing agreements, and egress logs

Subprocessors can open residency gaps. A vendor may store data in the U.S. but use a subprocessor elsewhere for processing or support. Ask for the subprocessor list with locations, then check the Data Processing Agreement (DPA). Key DPA terms include subprocessor approval, which GDPR requires as prior written authorization, plus breach-notification timelines, audit rights, and liability for security incidents. Confirm whether the vendor must notify you before adding or replacing a subprocessor.

Egress logs show what data leaves your own network and where it goes. They help when data physically leaves your environment, such as uploads from an on-premise ingest agent or pulls from self-hosted tools. Egress logs only show the first destination, so they can't confirm where a vendor stores or backs up data. When a vendor pulls data by API from cloud tools such as GitHub.com or Jira Cloud, the data never crosses your network. For those connections, rely on the vendor's subprocessor list, DPA, and SOC 2 report.

Choosing between an on-premise agent and a standard connection

An on-premise ingest agent changes who holds the credentials to your source systems. Storage location stays the same either way, so treat the agent as an access-control decision.

The agent runs inside your environment, connects to source systems with your own credentials, and uploads data files to a storage bucket. API keys and direct access to tools such as Jira or GitHub stay inside your environment. The data collected matches a standard connection, so the agent reduces access risk while leaving the data volume unchanged. Where the agent writes to a bucket you control, your team can review the output before sharing it with the vendor.

An agent makes sense when policy forbids granting a vendor direct API access, or when your security team wants to inspect each upload. It also carries upkeep, since it runs on a regular schedule using compute you provision and monitor. Someone has to own it when a run fails. Reserve the agent for security-sensitive teams. Where the vendor's security posture otherwise meets your requirements, standard read-only tokens are usually enough.

Setting your risk tolerance for data location

Residency is one input to a security review, weighed alongside access management, encryption, audit logging, and the vendor's overall posture. Set a tolerance first, then evaluate each vendor against it. A startup with no regulatory obligations needs a different policy from a healthcare company handling ePHI.

A practical approach weights residency by data type:

  • High risk (source code): Require residency, encryption, and access controls.

  • Medium risk (commit metadata, ticket data, AI tool data): Require residency where regulation applies, plus access controls.

  • Low risk (derived metrics): Accept broader storage when access management and audit logging meet your bar.

Write down which data can leave the primary region, which can't, and which compensating controls you accept. Apply the same document to every vendor, so each review starts from the same baseline.

Applying the framework to minware

This is where minware fits. minware is an engineering analytics platform that connects version control, project management, CI/CD, and AI coding tool data. Here is how it handles source code, hosting location, and system access.

minware hashes source code during ingest so the code itself is never stored. Non-code repository files, such as agent instruction markdown or package dependency files, may be stored to support file-content insights, so cover them in your residency policy. Integrations use read-only tokens, and each customer's data sits in its own warehouse schema. API secrets are held in encrypted vaults. minware's SOC 2 Type 2 report covers the security criterion and is available for download from the same security page.

minware's Professional plan runs on multi-tenant hosting with U.S. data residency. The Enterprise plan adds dedicated hosting and custom data residency for teams whose policy requires a specific region. minware can also sign a BAA for Enterprise customers.

For teams that can't grant direct API access, the on-premise ingest agent is an optional Enterprise feature. Teams can review raw output in a private staging bucket before sharing it with minware. Most customers use a standard connection instead.

Making defensible residency decisions

Residency works best as one input in a broader security review. Separate data by type, keep residency distinct from sovereignty, then weigh location against your other security controls. Source code should stay with your version control system, while metadata and AI tool data follow a written policy. With that policy in hand, every vendor review answers the same questions in the same order, which is what makes the final decision defensible in front of a board or an auditor.

Start a 14-day free trial at minware.com, no credit card required, and connect your first data source.

FAQs

Does engineering data residency affect SOC 2 compliance?

No. A SOC 2 report can cover up to five Trust Services Criteria, and none of them sets a data location requirement. A vendor can hold a SOC 2 Type 2 report and still store data outside your approved region. minware's SOC 2 Type 2 report covers the security criterion, so check its hosting terms separately for residency.

Can we require all engineering analytics data to stay in the U.S.?

Yes, though the requirement should name which data types and processing stages it covers. Source code and commit metadata usually need the strictest controls, while derived metrics can often sit under broader rules. minware's Professional plan is hosted in the U.S.

What happens to data residency when a vendor uses multiple cloud providers?

Each cloud provider and subprocessor adds a location to check. Ask for the full subprocessor list with locations. Then confirm in the DPA whether the vendor must notify you before adding or replacing one.

Is an on-premise ingest agent required for HIPAA or FedRAMP environments?

No. HIPAA permits offshore storage under a BAA, and FedRAMP applies its explicit U.S. location rule at its highest impact level. An on-premise ingest agent keeps source-system credentials and direct access inside your environment, which some security teams prefer. The agent leaves the collected data and its storage location unchanged.

How do we verify a vendor's residency claims during procurement?

Start with the SOC 2 report scope and the subprocessor list. Next, ask where backups live, including which region takes over during failover. Then review the DPA for subprocessor approval and audit rights. Use egress logs only for data that leaves your own network, such as uploads from an on-premise ingest agent.

Key terms glossary

Data residency: The physical location where data is stored, including primary systems, backups, and disaster recovery environments.

Data sovereignty: The legal authority a country holds over data, which can extend to data stored outside its borders.

Data at rest: Data stored on disk or in a database.

Data in transit: Data moving between locations, such as from a source system's API to a vendor's warehouse. It can cross borders during processing, backup, or failover.

Subprocessor: A third party a vendor uses to process customer data, which can place data in a different region from the vendor's primary storage.

Data Processing Agreement (DPA): The contract that sets how a vendor processes personal data on a customer's behalf, including subprocessor approval and audit rights.

On-premise ingest agent: An optional deployment agent that connects to a customer's internal systems using their own credentials, so API keys and system access never reach minware.