Every file you upload to ListMatchGenie is stored in a specific geographic region. Your files never cross into other regions unless you explicitly trigger a migration. This is how ListMatchGenie meets GDPR data-residency requirements, UK GDPR, and similar regulations in other jurisdictions.
The three regions
United StatesStorage and processing in a US region. Default for customers with a US billing address.
European UnionStorage and processing in an EU region. Default for customers with an EU billing address. GDPR-compliant residency.
United KingdomStorage and processing in a UK region. Default for UK-billing customers. UK GDPR residency.
Region assignment
Your region is assigned at signup based on your billing address country:
- US, Canada, Mexico, Latin America → US
- EU member states + EEA (Norway, Iceland, Liechtenstein), Switzerland → EU
- United Kingdom, Ireland exception: choosable → UK
- Rest of world (APAC, Africa, etc.) → US by default (or your explicit choice)
You can override the default on the account settings page before you upload anything. After uploads exist, changing region triggers a migration (see below).
What stays in-region
Everything with your data in it:
- Uploaded files (CSV, XLSX, etc.)
- Cleansed and deduplicated versions of your files
- Match results (every matched pair, every review decision)
- Generated reports
- Any shared-link content
- Logs that contain row-level data
What does not stay in-region
A small number of account-management concerns are global:
- User accounts (email, hashed password, profile name) — single global database, no PII
- Subscription/billing state — handled by Stripe, regional per Stripe
- Admin audit logs that don't contain customer data
- Product telemetry (page views, feature usage) — anonymized, no row data
How matching works in-region
When you run a match:
- The match wizard and UI is served from global edge (Vercel)
- The match worker that reads your files is in your region
- The worker reads from your region's S3, holds data in memory during processing, writes results back to your region's S3
- The Genie's narrative generation is made from aggregate statistics only (never row data) — the stats are sent to a regional model endpoint
Your data never leaves your region during matching.
AI and the regional boundary
The Genie's AI generation runs on in-region AI endpoints in all three regions. When the Genie generates a narrative, aggregate statistics go to the regional endpoint, the model produces text, text comes back. Row data never crosses the boundary because row data is never sent in the first place. See PII and security.
Changing region
Go to Account → Settings → Region to change. The change triggers:
- A banner confirming: "Migrating your data from OLD to NEW. Estimated time: N minutes."
- Copy of every file to the new region
- Copy of every match job, report, and shared link
- Verification that new-region storage matches old-region source
- Deletion of old-region storage
- Update of your account's region indicator
During migration, the app remains usable but new uploads are paused. Typical migration time:
- <100MB data: a few minutes
- 1GB: ~30 minutes
- 10GB+: several hours
If you have active shared links, their URLs stay the same after migration.
Data residency and the Subprocessor list
Every subprocessor we use operates in all three regions (AWS, Vercel for edge, Stripe for billing). The Data Processing Agreement lists every subprocessor with its role.
Related reading
- PII and security — what data is processed where
- GDPR — GDPR-specific compliance detail
- Account settings — the UI for changing region
