Changes

Comparing empty160dc49.

@@ -1,0 +1,37 @@
1+---
2+title: Deployment topology
3+sort: 3
4+---
5+
6+# Deployment topology
7+
8+ZephyrCart runs in four regions:
9+
10+| Region key | Cloud + AZ count | Latency to next region |
11+|-----------------|-----------------------------------|--------------------------|
12+| `eu-frankfurt` | GCP `europe-west3`, 3 zones | 13 ms to `eu-dublin` |
13+| `eu-dublin` | GCP `europe-west1`, 3 zones | 13 ms to `eu-frankfurt` |
14+| `us-east` | GCP `us-east4`, 3 zones | 79 ms to `eu-dublin` |
15+| `ap-singapore` | GCP `asia-southeast1`, 3 zones | 168 ms to `eu-frankfurt` |
16+
17+Within a region: full active/active across all three zones, PostgreSQL with synchronous replicas,
18+Redis with sentinel.
19+
20+## Data residency
21+
22+A tenant's data stays in its home region. There is no cross-region replication of customer PII or
23+order data. Aggregated, de-identified telemetry flows to a central observability bucket in
24+`eu-frankfurt` for the platform team โ€” see the
25+[Data handling policy](../../intranet/policies/data-handling.md) for the exact list of fields.
26+
27+## Region failover
28+
29+There is no automated cross-region failover. If a region is unavailable, the dashboard surfaces a
30+status page entry and storefronts in that region fail over to a degraded read-only mode (cached
31+catalog, no new checkouts) until the region returns. This is a deliberate choice โ€” replicating
32+PII across regions would put us into legal regimes the company does not want to operate under.
33+
34+## Multi-region tenants
35+
36+A small number of Enterprise customers run in two regions concurrently with their own
37+application-layer sync. Talk to your solutions engineer; this is not a self-serve feature.