Netlify EU Alternative 2026: JAMstack, CLOUD Act & GDPR Compliance
Post #2 in the sota.io EU Serverless & PaaS Series
Netlify pioneered the modern JAMstack deployment workflow. Pre-built static sites, serverless functions, edge middleware, form handling, split testing — Netlify packages all of this into a developer-friendly platform that has become a default choice for agencies, marketing teams, and frontend engineers worldwide.
But Netlify Inc. is a US corporation headquartered in San Francisco, incorporated in Delaware. Its serverless infrastructure runs on Amazon Web Services Lambda. Its Edge Functions run on Deno Deploy, another US entity. For EU organizations processing personal data, this creates a cascading CLOUD Act exposure problem across Netlify's entire infrastructure stack.
This guide provides a complete GDPR and CLOUD Act analysis of Netlify and presents the best EU-native alternatives for JAMstack and serverless deployments in 2026.
Netlify Inc. — Legal Entity Overview
| Dimension | Detail |
|---|---|
| Legal name | Netlify, Inc. |
| Incorporation | Delaware, USA |
| Headquarters | 44 Montgomery Street, San Francisco, CA 94104 |
| Founded | 2014 (as Bitballoon, rebranded 2015) |
| Funding | $213M raised (Series D 2021, valuation not publicly disclosed) |
| Key investors | Andreessen Horowitz, BOND, Kleiner Perkins, GV |
| CLOUD Act score | 18/25 |
Netlify is a privately-held US corporation. As a "provider of electronic communication services or remote computing services" under 18 U.S.C. § 2710, Netlify is subject to CLOUD Act compelled disclosure, FISA Section 702 surveillance orders, and National Security Letters — regardless of where EU customer data is physically stored.
CLOUD Act Risk Matrix: 5 Dimensions
Dimension 1: Corporate Jurisdiction (5/5 exposed)
Netlify is incorporated in Delaware and headquartered in California. No independent EU subsidiary controls EU customer data. Netlify's EU legal representative (required under GDPR Art. 27) is a representative for compliance purposes only — it has no independent data control authority and cannot refuse US government disclosure demands.
Dimension 2: Infrastructure & PRISM Participation (3/5 exposed)
Netlify Functions (serverless backend code) run on AWS Lambda. Amazon Web Services is a confirmed PRISM program participant. This means Netlify Functions code execution, environment variables, and function responses transit PRISM-participant infrastructure.
Netlify Edge Functions use Deno Deploy runtime. Deno Land Inc. is a Delaware-incorporated US company. While Deno Deploy operates globally distributed infrastructure, its control plane and legal entity are US-domiciled.
CDN Infrastructure: Netlify operates its own CDN with PoPs globally, but the CDN management layer and DNS control plane are US-based.
Dimension 3: FISA 702 & National Security Letters (4/5 exposed)
As a US company with millions of hosted sites, Netlify is subject to:
- FISA Section 702 — mass surveillance of non-US persons without individual warrants
- NSLs — compelled subscriber data disclosure with permanent gag orders
- CLOUD Act § 2713 — reach extends to data "in possession, custody, or control" regardless of storage location
Unlike hyperscalers such as AWS, Netlify has not published a detailed Transparency Report documenting government requests. This opacity increases uncertainty for EU compliance teams conducting Transfer Impact Assessments.
Dimension 4: Data Residency Controls (3/5 exposed)
Netlify does not offer an EU-only deployment option that covers all product features. Specifically:
- Static site CDN — globally distributed, EU-accessible but US-controlled
- Netlify Functions — only available in US regions (us-east-1, us-west-2) with experimental EU support (
netlify.tomlregional functions flag for paid plans) - Netlify Forms — form submissions stored in Netlify's US infrastructure
- Netlify Identity — authentication service backed by GoTrue (Netlify-controlled, US)
- Netlify Analytics — log-based analytics with data stored by Netlify (US entity)
- Netlify Blobs — object storage with EU region available but Netlify entity controls access
For GDPR compliance, the critical gap is Netlify Forms and Netlify Functions: form submission data (which often includes personal data) is stored and processed in Netlify's US-controlled infrastructure without an EU-only option on standard plans.
Dimension 5: Sub-processors & Data Flows (3/5 exposed)
Netlify's declared sub-processors include:
- Amazon Web Services (AWS) — US (CLOUD Act, PRISM confirmed) — used for Functions, Blobs
- Google Cloud Platform — US (CLOUD Act, PRISM confirmed) — used for some backend services
- Twilio SendGrid — US (Delaware, CLOUD Act) — used for Netlify Identity emails
- Deno Land Inc. — US (Delaware) — powers Edge Functions
- PagerDuty — US — incident management
- Datadog — US — observability and monitoring
This sub-processor chain means that personal data flowing through Netlify forms, functions, or authentication services transits multiple US entities, each independently subject to CLOUD Act demands.
GDPR Compliance Assessment
What Netlify Provides
Netlify offers:
- Data Processing Agreement (DPA) incorporating EU Standard Contractual Clauses (Module 2)
- UK International Data Transfer Addendum
- EU-US Data Privacy Framework certification (for US-EU data transfers)
- GDPR Data Subject Request handling procedures
What Netlify Cannot Provide
No DPA overrides CLOUD Act obligations. The structural problem identified in Schrems II (C-311/18) applies equally to Netlify as to AWS, Google, or Vercel:
- US FISA 702 surveillance lacks necessity and proportionality (GDPR Art. 52)
- EU data subjects cannot effectively enforce rights against US surveillance courts
- The EU-US Data Privacy Framework faces ongoing legal challenge (pending CJEU case)
For Netlify specifically, the Netlify Forms feature presents a heightened risk: if your contact form collects names, email addresses, or messages from EU users, and those submissions are stored in Netlify's US infrastructure, you have a direct GDPR Art. 44 transfer to a third country without adequate protection.
Practical Compliance Steps If You Stay On Netlify
If migrating immediately is not feasible:
- Disable Netlify Forms — use a self-hosted EU form handler (Formbricks EU, Basin on EU hosting, or a simple API on Scalingo)
- Disable Netlify Analytics — replace with Plausible Analytics (EU, Tallinn, Estonia, 0/25 CLOUD Act)
- Disable Netlify Identity — migrate to EU-hosted auth (Ory Kratos self-hosted on Scalingo, or Zitadel EU)
- Move Netlify Functions to EU PaaS — extract serverless functions to a separate service on Koyeb (EU) or Scalingo
- Document the residual risk in your ROPA and Privacy Policy
- Conduct a Transfer Impact Assessment (TIA) and document its conclusions
Technical Architecture: Data Flow Analysis
EU User Browser
│
▼
Netlify CDN Edge (global, US entity control)
│
├─► Static HTML/CSS/JS delivery
│ └─ Data: IP address, User-Agent (processed by Netlify Analytics = US)
│
├─► Netlify Functions (AWS Lambda, us-east-1)
│ └─ Data: Request body, headers, env vars (US jurisdiction)
│
├─► Netlify Edge Functions (Deno Deploy, US entity)
│ └─ Data: Request headers, cookies, geolocation (US jurisdiction)
│
├─► Netlify Forms
│ └─ Data: Form fields incl. names, emails, messages (stored in US)
│
└─► Netlify Identity (GoTrue, US)
└─ Data: Email, password hash, auth tokens (US jurisdiction)
The practical conclusion: Netlify's static file serving is comparable to any CDN and has minimal personal data exposure. The problem areas are the serverless product layer — Forms, Functions, Identity, Analytics — where personal data is actively processed and stored under US jurisdiction.
EU-Native Alternatives to Netlify
Option 1: Scalingo + Bunny.net — Best JAMstack Stack
Scalingo for backend (API + serverless):
- Legal entity: Scalingo SAS, Strasbourg, France
- CLOUD Act score: 0/25
- Supports: Node.js, Python, Ruby, PHP, Go with git push deployment
- One-click PostgreSQL, Redis, Elasticsearch addons (EU-only)
Bunny.net for CDN + static hosting:
- Legal entity: BunnyWay d.o.o., Ljubljana, Slovenia
- CLOUD Act score: 1/25 (uses some US transit infrastructure)
- Features: Global CDN with EU-first PoPs, static site hosting, image optimization, video streaming
- Pricing: €0.01-€0.02/GB bandwidth (significantly cheaper than Netlify's $55/100GB overage)
Form handling:
# Deploy Formbricks (EU-native form backend) on Scalingo
scalingo create my-forms --region osc-fr1
scalingo git-deploy https://github.com/formbricks/formbricks
# Or use simple custom form handler
Combined pricing vs Netlify:
| Feature | Netlify Pro ($19/mo) | Scalingo + Bunny |
|---|---|---|
| Hosting | Included | Bunny ~€5/mo (500GB) |
| Functions | 125k/mo included | Scalingo €18/mo (unlimited) |
| Forms | 1,000 submissions | Self-hosted (€0 extra) |
| Analytics | Included (US) | Plausible €9/mo (EU) |
| CLOUD Act score | 18/25 | 1/25 (Bunny) / 0/25 (Scalingo) |
Option 2: Koyeb — Best For Next.js / React Apps
Legal entity: Koyeb SAS, Paris, France CLOUD Act score: 1/25 (global PoPs include US regions; EU-only deployment available) Best for: Teams migrating from Netlify with Next.js or React frameworks
Koyeb supports:
- Git-based deployments (GitHub, GitLab, Bitbucket)
- Dockerfile builds or native buildpacks
- Auto-scaling serverless containers
- EU-only region deployment (
parfor Paris) - Custom domains + Let's Encrypt
- Webhooks and API-driven deployments
# koyeb.yaml — EU-only Next.js deployment
name: my-nextjs-app
services:
- name: web
type: web
git:
repository: github.com/my-org/my-app
branch: main
build:
buildpack_builder: BUILDPACK_BUILDER_HEROKU_22
regions: [par] # Paris — EU jurisdiction
env:
- key: NODE_ENV
value: production
- key: NEXTAUTH_URL
value: https://my-app.koyeb.app
Option 3: sota.io — Best for EU Sovereignty Without Complexity
Legal entity: EU-incorporated CLOUD Act score: 0/25 Infrastructure: Hetzner EU + OVHcloud (both EU-native)
sota.io provides a Netlify-like zero-config deployment experience built for EU sovereignty:
- Connect GitHub repo → automatic deployments
- Environment variables with encryption at rest
- Managed PostgreSQL and Redis (EU-only)
- Custom domains with automatic SSL
- EU-only data residency by default — no opt-in required
No sub-processors with US jurisdiction. No DPA workarounds. GDPR compliance is structural, not contractual.
Option 4: Cloudflare Pages (EU Business plan)
Important caveat: Cloudflare, Inc. is a US company (Delaware, San Francisco) with CLOUD Act score of approximately 16/25. However, Cloudflare's EU Business plan includes contractual data residency guarantees and Cloudflare's network is so deeply embedded in EU infrastructure that some compliance teams accept it as a pragmatic choice.
Not recommended for: Healthcare data, financial data, or organizations subject to DORA/NIS2 strict jurisdiction requirements.
May be acceptable for: Low-sensitivity public marketing sites where the primary risk is CDN delivery, not data processing.
Migration Guide: Netlify → EU-Native
Step 1: Audit Netlify Usage
# Check netlify.toml for feature usage
cat netlify.toml
# Check for Netlify-specific npm packages
grep -E '@netlify|netlify-' package.json
# Identify Netlify Functions
ls netlify/functions/ 2>/dev/null || ls functions/ 2>/dev/null
# Check for Netlify Forms in templates
grep -r 'netlify' src/ --include='*.html' --include='*.jsx' --include='*.tsx' | grep -i 'form\|data-netlify'
Step 2: Replace Netlify-Specific Features
| Netlify Feature | EU Alternative |
|---|---|
| Netlify Forms | Formbricks (EU, self-hosted on Scalingo) or simple API route |
| Netlify Functions | Scalingo / Koyeb containers (full Node.js runtime) |
| Netlify Edge Functions | Standard middleware in your framework |
| Netlify Identity | Ory Kratos (self-hosted EU) or Zitadel Cloud EU |
| Netlify Analytics | Plausible Analytics (Tallinn, Estonia, 0/25) |
| Netlify Blobs | Scaleway Object Storage (Paris, 0/25) |
| Netlify Split Testing | Unleash feature flags (Oslo, Norway, 0/25) self-hosted |
Step 3: Static Site Migration (Koyeb example)
# 1. Containerize your static build
cat > Dockerfile <<'EOF'
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/out /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
EOF
# 2. nginx.conf for SPA routing
cat > nginx.conf <<'EOF'
server {
listen 80;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
EOF
# 3. Deploy to Koyeb (EU region)
koyeb app create my-static-site
koyeb service create web \
--app my-static-site \
--git github.com/my-org/my-site \
--git-branch main \
--ports 80:http \
--regions par
Step 4: Form Handling Without Netlify Forms
// app/api/contact/route.ts (Next.js App Router)
// Deploy this API route on Scalingo or Koyeb (EU)
export async function POST(request: Request) {
const { name, email, message } = await request.json()
// Store in EU-hosted PostgreSQL (Scalingo/Koyeb managed DB)
await db.insert('contact_submissions', {
name, email, message,
created_at: new Date(),
ip_hash: hashIP(request.headers.get('x-forwarded-for'))
})
// Send notification via EU email provider
// (Brevo SAS Paris 2/25, or MailerSend UAB Lithuania 0/25)
await sendEmail({ to: 'team@yourcompany.eu', subject: `New contact: ${name}` })
return Response.json({ success: true })
}
Cost Comparison
| Platform | Static Site + Functions | CLOUD Act | EU Sovereignty |
|---|---|---|---|
| Netlify Pro | $19/mo | 18/25 | No |
| Netlify Enterprise | $99/mo+ | 18/25 | No |
| Scalingo + Bunny.net | ~€23/mo | 0-1/25 | Yes |
| Koyeb (EU) | ~€18/mo | 1/25 | Yes (EU region) |
| sota.io | ~€15/mo | 0/25 | Yes |
| Cloudflare Pages Pro | $20/mo | 16/25 | Partial |
Summary: CLOUD Act Score Breakdown
| Dimension | Score | Notes |
|---|---|---|
| Corporate jurisdiction | 5/5 | Delaware Inc., SF HQ |
| Infrastructure/PRISM | 3/5 | AWS Lambda (PRISM), Deno Deploy (US) |
| FISA 702 / NSL | 4/5 | US company, no transparency report |
| Data residency controls | 3/5 | No EU-only Functions on standard plans |
| Sub-processors | 3/5 | AWS, GCP, Twilio, Deno — all US |
| Total | 18/25 | High CLOUD Act exposure |
Conclusion
Netlify's developer experience is genuinely excellent for static sites and JAMstack projects. But its CLOUD Act score of 18/25 reflects the fundamental problem: it is a US company whose serverless infrastructure (Functions, Forms, Identity) processes EU personal data under US law.
The most important practical steps: disable Netlify Forms and disable Netlify Analytics immediately — these are the highest-risk features for GDPR compliance. Replace with EU-hosted alternatives while planning a full platform migration.
For static content delivery alone, Netlify's risk is lower — but even static site CDN delivery creates IP address processing records that are personal data under GDPR.
EU-native alternatives have matured significantly. Scalingo + Bunny.net, Koyeb, or sota.io all provide comparable developer experience with a fraction of the jurisdictional risk.
Next in series: Fly.io EU Alternative 2026 — Post #3 in the EU Serverless & PaaS Series
Previous: Vercel EU Alternative 2026
Related: Render.com EU Alternatives 2026 | How to Migrate Your Dev Stack to Europe
EU-Native Hosting
Ready to move to EU-sovereign infrastructure?
sota.io is a German-hosted PaaS — no CLOUD Act exposure, no US jurisdiction, full GDPR compliance by design. Deploy your first app in minutes.