UK product engineering & compliance

UK GDPR when your development team works outside the UK

Overseas development is workable. The boundary that matters is who can access which personal data, under what authority, for how long, and with what evidence.

Your team is in India, your data is in the UK: exposure score by access pattern, from a named read to a database dump
By Ritesh Agarwal9 min read

Direct answer

A UK business can use a development team outside the UK. If a separate overseas agency or contractor can access personal data, even remotely on a UK-hosted server, that access can be a restricted transfer. The workable answer is layered: name the controller, processor and sub-processors; sign Article 28 terms; use adequacy or a safeguard such as the IDTA or Addendum where needed; complete the transfer risk assessment; and build synthetic data, least privilege, expiring access and audit logs into the engineering itself.

ContractDefine responsibilityInstructions, confidentiality, sub-processors, security, assistance, deletion
TransferEstablish the routeAdequacy, a safeguard plus assessment, or a narrow exception
EngineeringReduce real exposureSynthetic data first; approved, field-limited production access only when necessary

Key takeaways

  1. “Our database is in London” and “we signed an NDA” are not compliance answers.
  2. Remote access by a separate legal entity can be a restricted transfer. An employee of the same entity working abroad is not.
  3. Article 28 terms and a transfer mechanism do different jobs. Most arrangements need both.
  4. UK clients ask for a DPA, dummy data and database-level roles. Nobody asks for an IDTA by name.
  5. Score the exposure of every production-access request before granting it.

Separate the role, the route and the access

UK GDPR treats these as three different questions. Most overseas arrangements answer one of them well and assume the other two follow.

01 · RoleWho decides why and how data is used?

The UK business is usually the controller. An agency working on documented instructions is a processor. Hosting, error-tracking and support tools are sub-processors. The real decisions settle the role, not the label in the proposal.

ICO: what the contract must include

02 · RouteIs data made accessible to a separate organisation outside the UK?

The ICO’s definition of a transfer includes making data accessible, so remote production access counts even when the data never leaves a UK region. It is restricted when UK GDPR applies, the receiver is outside the UK, and the receiver is a separate legal entity.

ICO: what is an international transfer?

03 · AccessWhat can each person technically see and do?

A signed document cannot make broad production access safe. The ICO’s security outcomes ask for access limited to people who need it, strong authentication, controls on downloads, audit trails and monitoring. Pseudonymised data is still personal data for the controller and its processor.

ICO: security outcomes

The legal-entity test changes the answer. An employee of the same UK company working from abroad does not meet the third step of the ICO’s restricted-transfer test. An independent contractor or agency doing the same work can. Map the actual companies and contracts. “Our team” is not a legal category. ICO: the three-step test

The compliance stack for an overseas team

Data mappeople, fields, systems, environmentsinventory + flow diagramRolescontroller, processor, sub-processor per flownamed legal entitiesArticle 28processor obligations bound and operationalsigned terms + sub-processor registerChapter Vrestricted transfer? which mechanism?three-step test + IDTA/AddendumRisk assessmentprotection not materially lower after transferdata-protection test recordSecuritywho can access what, from where, how longgrants, MFA, logs, reviewsExit + incidentcopies, breaches, revocation, deletionchecklist + tested responseGREEN LAYERS ARE THE LEGAL MECHANISM · WHITE LAYERS ARE ENGINEERING AND OPERATIONSFIG. 02THE COMPLIANCE STACK
Fig. 02 Each layer answers one question and leaves one piece of evidence. Skipping a layer is where most overseas arrangements fail.scroll →

For a restricted transfer the route is UK adequacy regulations, an appropriate safeguard, or a limited exception. Article 46 safeguards include the ICO’s International Data Transfer Agreement (IDTA) and the UK Addendum to the EU Standard Contractual Clauses. Either way a transfer risk assessment, now the “data protection test” in the legislation, has to be completed and its extra protections implemented. The ICO says the current IDTA and Addendum remain in use while the 2026 refresh following the Data (Use and Access) Act 2025 is prepared. ICO: rules on appropriate safeguards · ICO: the IDTA and Addendum

What UK clients actually ask an overseas team for

For this guide we went back through our own UK engagement records from 2022 to 2026: briefs, tenders, proposals and delivery channels. Client names are withheld. The pattern is more practical than the legal literature suggests.

UK B2B SaaS platform · 2026 briefThe client wrote the access model for us

A data processing agreement before the build. Development on dummy data only. Real records withheld until developer access is restricted after handover. Roles enforced at database level, proven by a direct query with the support credentials returning no financial data. Super-admin removed at sign-off, then a six-monthly access review.

Same engagement · our commitmentsAudit and roles from day zero

A per-tenant audit-log table in the schema from the first migration. Secrets in a managed vault, not environment files. Admin, manager and viewer roles in the foundation. Per-individual export and deletion in phase one. The platform operator is the processor for its subscribing companies; we supply the technical inputs, not the legal document.

UK membership charity · 2026 tenderHosting and consent as procurement criteria

A DPA naming Appycodes as processor, signed before any member data moves. UK hosting. Consent and unsubscribe status migrated and enforced from day one. Read-only access to the payment provider for verification. Exports written to the audit trail. Two SaaS vendors excluded for US-only hosting.

UK estate-agency group · 2024Minimisation decided the architecture

The client’s data-protection lead refused a CRM plugin that would push the whole client database to a third-party service. We built a scoped property-listings feed delivered twice daily over SFTP instead, with no CRM access at all.

  1. Nobody asked for an IDTA or the Addendum by name. They asked for a DPA, dummy data, database-level roles and access reviews. The transfer mechanism is still the controller’s obligation under Chapter V, so a supplier that raises it unprompted lowers everyone’s risk.
  2. “Database level, not UI level” is the test that matters. A client who asks you to run a direct query with the support credentials and show it returns nothing sensitive has understood the problem better than most vendor questionnaires.
  3. Access removal has to be scheduled, not remembered. Super-admin off at sign-off, a narrower support role afterwards, a review every six months.
From our own delivery channels. Test records created on production had to be deleted afterwards on more than one project. One team briefly pointed a production API at a staging database. A client in a regulated sector reviewed admin login timestamps and asked why a vendor account logged in at 3am. None of these was a breach. All of them are why the default is synthetic data, named accounts and a log the client can read.

A real boundary: a UK energy broker’s ERP, built from India

Since 2023 our India-based team has built and run the ERP for a leading UK energy broker: clients, contacts, addresses, meter points, supplier tenders, contracts, brokerage accounting, half-hourly consumption, invoice validation and an S3 document vault, in one Laravel system with role-based access for administrators, operations staff and partner brokers.

The hard decision was consolidation versus exposure. Moving the operation out of spreadsheets and inboxes created a coherent system of record and concentrated data that used to sit apart. The answer was role-aware access: a partner broker sees their slice, not the administrator’s. The same rule extends to development and support. A person debugging an importer does not need the full contact, contract and document view.

01Client recordContacts, addresses, accounts, meter points
02Commercial workflowTenders, contracts, fees, renewals
03Evidence layerInvoices, half-hourly data, S3 documents
04Role boundaryAdmins, operations and partners see their slice

Score the exposure before granting access

The Production Access Exposure Score is our triage model for a proposed development or support workflow. It does not decide whether a transfer is lawful. It tells the product owner how urgently to shrink the technical exposure before anyone gets access.

Production Access Exposure Score0–12
+3Direct identifiers, customer documents or free-text notes are visible
+3Special-category, safeguarding, financial or similar high-impact data is present
+2The account can write, delete, export or change permissions
+2Access is standing, shared, or not tied to a named purpose and expiry
+2A local copy can be kept, or access and exports are not fully logged
0–2 · Normal deliverySynthetic or truly anonymous data; production stays out of the workflow.
3–6 · Controlled supportMask fields, approve the purpose, enforce MFA, expire the grant, log every lookup.
7–12 · Redesign firstBlock broad access; build a narrow support tool or a UK-side diagnostic first.

A named engineer viewing a status and an error code for two hours scores two or less. The same engineer with standing database-admin access, exports and customer documents scores seven or more. Same business problem, different exposure.

A data-light delivery path and an exceptional production path

ROUTINE PATH · NO PERSONAL DATASynthetic fixturesgenerated recordsrealistic distributionsDevelopmentlocal servicesfeature workStaginganonymised or syntheticrelease checksReleaseno production readscore 0–2EXCEPTION PATH · NAMED PURPOSEIncident needcannot reproducefrom telemetryApproval gatenamed engineerpurpose + expirysecond approverSupport gatewayfield allow-listtenant scopeMFA, short grantProduction recordfour safe fieldsno export, no consoleAudit eventwho · why · which record · when · untillog ≠ copy of the dataFIG. 01DEVELOPMENT ACCESS PATHS
Fig. 01 Routine work never touches production. Incident work passes an approval gate and a field-limited gateway, and every read leaves an audit event.scroll →

This makes the lower-risk path the fastest path. Developers reproduce validation, import and rendering faults with representative fixtures. When a production-only problem genuinely needs a record, the team requests a short-lived grant against a named client, purpose and field list. The gateway owns the query and the audit event. The engineer never receives a reusable database credential.

A field-limited, expiring production support gatewaytypescript
type SupportSession = {
  engineerId: string;
  clientId: string;
  purpose: "incident" | "data-correction" | "release-check";
  approvedBy: string;
  expiresAt: Date;
  fields: Array<"accountRef" | "status" | "postcodeArea" | "errorCode">;
};

const SAFE_FIELDS = new Set(["accountRef", "status", "postcodeArea", "errorCode"]);

export async function readSupportRecord(session: SupportSession, recordId: string) {
  if (session.expiresAt <= new Date()) throw new Error("Grant expired");
  if (!session.approvedBy) throw new Error("Approval required");
  if (session.fields.some((f) => !SAFE_FIELDS.has(f))) {
    throw new Error("Field is outside the support allow-list");
  }

  // The query is built from a fixed server-side allow-list, never user input.
  const select = Object.fromEntries(session.fields.map((f) => [f, true]));
  const record = await db.customerAccount.findFirst({
    where: { id: recordId, clientId: session.clientId },
    select,
  });

  await db.productionAccessEvent.create({
    data: {
      engineerId: session.engineerId,
      clientId: session.clientId,
      recordId,
      purpose: session.purpose,
      approvedBy: session.approvedBy,
      fields: session.fields,
      grantExpiresAt: session.expiresAt,
      occurredAt: new Date(),
    },
  });

  return record;
}

In production, connect the gateway to the identity provider, require phishing-resistant MFA for privileged roles, send approvals to a different person, prevent arbitrary query construction and alert on bulk reads. Keep the log itself minimal: who, why, which record, when. Not another copy of the data.

Failure modes that appear after the paperwork is signed

CopyProduction database cloned into staging

Every developer and staging integration inherits the live exposure. Generate fixtures; anonymise irreversibly only where a real distribution is needed.

LogsErrors include request payloads

Personal data travels into logs, chat and observability sub-processors. Log stable identifiers and error classes; redact bodies by default.

IdentityShared administrator login

No attribution, weak offboarding, excessive privilege. Named accounts, SSO with MFA, role grants and automatic expiry.

ExitAccess remains after handover

Old staff or suppliers keep a path into live data. One exit checklist across Git, cloud, database, support tools, VPN and vendor consoles.

A DPIA is required where processing is likely to be high risk, and the same discipline is useful for any new production-access path: describe the processing, assess necessity, identify harm, mitigate before launch. ICO: what is a DPIA?

Recommendations by business type

UK SaaS companyDesign support access as a product feature

A purpose-built customer view with tenant scoping, masked fields, impersonation notices and expiry. The database console is not the support interface.

UK retailerKeep payment and fulfilment data out of tickets

Provider IDs, order states and redacted addresses for debugging. Never copy card data. Refunds and address changes are separate privileged actions.

Energy, finance or B2B operatorSplit operational domains

A developer fixing an invoice parser needs the document type and extracted fields, not the CRM relationship. Separate document, accounting, contact and contract permissions.

UK charity or family productAssume higher impact from disclosure

Score safeguarding, beneficiary and children’s data at the top of the model. Prefer UK-side diagnostics and synthetic records; use a DPIA and specialist review.

Our ruleA contract permits a relationship. A transfer mechanism protects the cross-border route. Architecture limits what can go wrong.

Frequently asked questions

Can a UK company legally use developers outside the UK?
Yes. UK GDPR does not prohibit overseas development. The UK organisation must identify the parties and data flows, put controller-processor terms in place, use a valid transfer mechanism where the arrangement is a restricted transfer, and apply security proportionate to the data and risk.
Is remote access from abroad an international data transfer?
It can be. ICO guidance says making personal information accessible to a separate organisation outside the UK can be a transfer, including remote access to systems. Whether it is restricted depends on the ICO's three-step test, including whether the receiver is a separate legal entity.
Does keeping production servers in the UK avoid transfer rules?
Not by itself. Server location and access location are different questions. A separate overseas organisation remotely accessing personal information held on UK servers can still create a restricted transfer.
Do we need both a data processing agreement and an IDTA?
Often, yes. Article 28 processor terms govern processing on the controller's instructions. An IDTA, or the UK Addendum with EU SCCs, provides an appropriate safeguard for a restricted transfer when adequacy does not cover it. A transfer risk assessment is also required when relying on appropriate safeguards.
What do UK clients actually ask an overseas developer for?
In the Appycodes engagement records reviewed for this guide: a signed data processing agreement, development on dummy data only, role restrictions enforced at database level, removal of super-admin access at sign-off and periodic access reviews. None asked for an IDTA or the Addendum by name.

Primary sources

Published 9 Sep 2026Reviewed 9 Sep 2026Reviewer Appycodes Editorial Team

Technical and operational guidance, not legal advice. Have the final arrangement reviewed by a qualified UK data-protection professional.

Our clients

UK · Europe · Worldwide

Selected case studies

What we built, how it works and the results for our clients.

Creoate product interface01
B2B commerce

Eight years behind a wholesale marketplace

Next.js storefront, Python ingestion pipelines, DynamoDB data layer and AWS infrastructure.

8+ yearsdevelopment and support
Ontick product interface02
Event technology

Ticketing owned by the event team

Multi-organiser commerce, Stripe instalments and two native apps in one connected platform.

£2M+ticket sales processed
Easyship product interface03
Global logistics

Helping shippers compare their options

Rate, tax and duty calculators, server-rendered courier pages and a custom MongoDB CMS.

550+couriers in the calculator
TEFL.ie product interface04
Education & training

Connecting course sales to the classroom

WordPress and WooCommerce, a Moodle LMS, Stripe deposits and Zoho CRM, tied together with Zapier automation.

Since 2017development and support
All White Laser product interface05
Medical aesthetics

From equipment finance to clinic support

A lead-to-billing system on GoCardless Direct Debit, provider certification, and a React Native app for machine owners.

9 yrsdevelopment and support
Decofetch product interface06
Luxury commerce

A custom home for designer furniture

Server-rendered Next.js commerce over a Laravel API, bespoke operations tooling and re-architected AWS infrastructure.

0→livemarketplace development
BA Engine Room product interface07
AI operations

Connecting discovery, contracts and delivery

Discovery briefs, e-signed contracts, Stripe deposits, delivery milestones and time tracking in one operational system.

0→1custom platform development
PlusHeat product interface08
Home services

Helping customers choose their boiler cover

Custom plan configuration, postcode-qualified lead journeys, CRM synchronisation and campaign landing pages.

5 yrswebsite development and support
Léonia product interface09
Beauty commerce

Shopify shaped around a beauty brand

Custom theme, customer accounts, loyalty rewards, referrals and gift-with-purchase offers.

5 yrsShopify development and support
Shutters 365 product interface10
Home improvement

From window measurements to a priced order

A seven-step product builder with live previews, sample orders and supplier tools.

7-stepproduct configurator
Bloc Ads Manager product interface11
Advertising

From targeted ads to venue check-ins

Campaign creation, audience targeting, in-app ads and reporting linked to venue check-ins.

check-inscampaign attribution
Bloc product interface12
Social events

Four years across the app and operations

Mobile app, backend, advertising tools, a digital marketplace and website.

4+ yrssupport across five codebases
Zonely product interface13
Social mobile

Two apps, one real-time conversation marketplace

Customer and buddy apps with per-minute billing, wallets, moderation and admin tools.

2 appsfor iOS and Android
Player Profile Hub product interface14
Grassroots football

Helping grassroots players get discovered

Verified profiles, video highlights, coach discovery and safeguarding on web and mobile.

0→1custom platform development
DeepSpatial product interface15
Geospatial AI

Connecting clients, investors and emerging talent

Corporate and investor pages, the Xploor talent platform and ongoing releases on AWS Amplify.

2 yrsdevelopment and support
Yippee Malta product interface16
Travel

A booking journey the tour team owns

A multilingual website connected to the booking API, with deposits, coupons and affiliate tracking.

6languages across the booking journey
Professional Energy product interface17
Energy brokerage

Tenders, contracts and accounts brought together

Supplier tenders, contract management, brokerage accounting and client records.

100+suppliers per tender

Tell us what you are trying to build.

A thirty-minute call with the engineer who would run it.

Discuss your project