← Back to home

Is Supabase GDPR compliant? A DPO-eye view of what is covered and what is not

Yes — Supabase ships a Data Processing Addendum and EU regions. The gap most compliance teams flag is jurisdictional: Supabase Inc. is a Delaware corporation subject to the CLOUD Act, so a DPA cannot fully close the vector. Here is what that means in practice, and how a fully EU-native alternative closes it.

The short answer

Yes, Supabase is GDPR compliant in the sense every compliance workflow uses that phrase: it signs a Data Processing Addendum, offers Standard Contractual Clauses, publishes a sub-processor list, and lets you pin projects to Frankfurt or Ireland so personal data physically stays in the EEA. For most SaaS teams that closes the ticket.

The reason "is Supabase GDPR compliant?" keeps appearing in Search Console is that compliance-literate buyers know the ticket-close and the DPO-review are different conversations. The DPO cares about three things a marketing "GDPR ✓" badge cannot cover: the operator's corporate jurisdiction, the concrete DSAR fulfilment path, and the Article 30 Record of Processing Activities you have to maintain yourself.

This page is the honest DPO-view of Supabase against those three axes — what it covers, what it delegates back to you, and where a fully EU-native alternative like Eurobase changes the answer.

What a Supabase deployment covers under GDPR

Supabase's public compliance surface, as of 2026, is genuinely solid for a US-headquartered vendor. If your risk model treats US jurisdiction as acceptable and your DPO signs off on Standard Contractual Clauses, most of GDPR closes cleanly.

  • ▸Article 28 (Processor) — signed DPA available, with SCCs as the transfer mechanism.
  • ▸Article 32 (Security of processing) — encryption at rest and in transit, MFA on the console, audit-friendly logging.
  • ▸Article 33/34 (Breach notification) — commitment to notify without undue delay.
  • ▸Physical residency — Frankfurt (eu-central-1) or Ireland (eu-west-1) project regions hold DB, storage, and default edge-function bytes inside the EEA.
  • ▸Sub-processor list — published; you can subscribe to change notices.

The CLOUD Act problem a DPA cannot override

Article 44+ of the GDPR requires that international transfers only happen when the destination provides "essentially equivalent" protection. Since the CJEU Schrems II decision (July 2020), the EDPB has held that a transfer mechanism (SCCs, EU-US DPF) is only valid where the recipient can actually resist compelled disclosure — which providers subject to CLOUD Act and FISA §702 cannot.

The CLOUD Act (18 U.S.C. §2713, 2018) empowers US authorities to compel a US-headquartered provider to produce data "within such provider's possession, custody, or control" — regardless of the physical location of the disks. The disk-in-Frankfurt argument does not enter the analysis; only the corporate parent does. Supabase Inc. is a Delaware C-corp. Vercel (a Supabase sub-processor) is a Delaware C-corp. AWS (Supabase infrastructure) is a Washington corporation. Each is a valid target.

This was underlined publicly when Microsoft France testified under oath at the French Senate in June 2025 that they cannot guarantee EU data stays out of US reach when the parent is compellable. The same reasoning applies to every US-parented provider in the RoPA. The DPA is a contract; the CLOUD Act is a statute — statutes win.

For most private-sector SaaS deployments that risk is theoretical enough to accept. For regulated buyers — healthcare, fintech, gov-tech, legal-tech, education, defence — it is often disqualifying. If your DPO has flagged this vector, no combination of DPA + EU region + SCCs solves it. The only fix is removing the US-parent hop, which is what an EU-native processor like Eurobase is for.

DSAR mechanics — where the compliance burden lands on your team

GDPR Articles 15 (right of access) and 20 (right to portability) give data subjects a right to their personal data on a 30-day clock. On Supabase, the mechanics are yours to build: walk auth.users, join every table with a user_id column, gather Storage files, zip them, deliver, audit-log. Every DSAR is an engineering ticket.

Industry surveys put the average cost of a self-served DSAR around $1,500 and 8–12 hours of engineering per request. Request volume has grown roughly 246% over 2023-2025 in EU-facing SaaS. The load is real. Supabase does not gate this poorly — they simply do not ship a DSAR primitive; every Supabase deployment writes it themselves or buys a third-party privacy-ops layer.

Eurobase treats DSAR as first-class product surface. eb.auth.exportMyData() lets an end-user trigger their own export from your app. The console has one-click per-user and full-project export. Every export is audit-logged with actor, IP, and timestamp; download links are signed and expire after 7 days. Same 30-day statutory clock, but the fulfilment is a click instead of a sprint.

Article 30 RoPA — the record you have to keep either way

Article 30 requires every controller (and processor) to maintain a Record of Processing Activities: purpose of processing, categories of data subjects, categories of personal data, recipients, transfers, retention. This applies whether or not you use Supabase, Eurobase, or roll your own.

On Supabase you write it yourself, keep it current when sub-processors change, and re-export it whenever your DPO asks. The Supabase sub-processor list is the source; the RoPA is your document.

On Eurobase the sub-processor registry is a live database table (sub_processors), and every project's Compliance tab renders a downloadable Article 30 RoPA report that pulls from that table plus your Project-level processing metadata. Add a new sub-processor via migration → the RoPA report updates on next download; account owners are emailed 30 days before activation so the standard controller objection window applies.

If your DPO says "no US parent" — the practical checklist

When the compliance filter includes "EU corporate parent" as a hard requirement, the market shortens. Here is the practical decision path we've seen in regulated-industry procurement over 2024–2026:

  • ▸(1) Do you need Postgres only? OVHcloud Managed Database and Scaleway Managed Database both give you sovereign Postgres with no auth / storage / realtime layer. Cheapest fit if you already own the rest.
  • ▸(2) Do you need the full Supabase-shaped surface? Eurobase is the mainstream managed option (Estonian OÜ operator, Scaleway fr-par infrastructure, DSAR + RoPA + audit-log first-class).
  • ▸(3) Do you need SOC 2 Type II attestation today? Eurobase has SOC 2 on the Team-tier roadmap; if the attestation is a procurement blocker right now, Supabase Team ($599/mo) already ships it — but you'd be trading the sovereignty answer for the paperwork.
  • ▸(4) Do you need self-host? PocketBase (SQLite) or Nhost (Postgres) are the mainstream options. Ops burden yours.

Feature comparison

FeatureEurobaseSupabase
Signed DPAYes — available on request from dpo@eurobase.app (self-service copy at /dpa planned for GA); standard terms need no counter-signatureYes — DPA available on request or via dashboard
Standard Contractual ClausesNot required (intra-EU transfer)Required for non-EEA transfers; EU-US Data Privacy Framework used where available
Corporate parent jurisdictionEstonia (EU member state)United States (Delaware)
CLOUD Act exposureNoneYes — parent is a US corporation
Sub-processor list — % EU100% (Scaleway/FR, GatewayAPI/DK, Mollie/NL)Partial (AWS/US, Vercel/US, others)
Article 30 RoPAAuto-generated per project from live sub-processor registryYou maintain manually
Article 15/20 DSAR exportOne-click per-user and full-project — every tierYou build the SQL + join pipeline
Tamper-evident audit logHash-chained, every admin action, actor + IP + timestamp — every tierAvailable on paid tier (log retention)
Breach notification commitmentYes — without undue delay per Article 33Yes — without undue delay per Article 33
DPO contact addressdpo@eurobase.appprivacy@supabase.io

GDPR is a system, not a checkbox

  • ▸A signed DPA answers Article 28. It does not answer whether the operator can resist a compelled-disclosure order — that is a jurisdiction question.
  • ▸EU-region hosting answers physical residency. It does not answer parent jurisdiction — a Delaware corp with EU disks is still compellable in Delaware.
  • ▸Eurobase removes the US-parent hop entirely: Estonian OÜ operator, 100% EU-headquartered sub-processors, EU-only bytes.
  • ▸DSAR, RoPA, audit log — the primitives GDPR requires you to keep — are first-class product surfaces on every tier, not paid add-ons.

Related reading

Supabase vs Eurobase — FAQ

Is Supabase GDPR compliant?

Yes, in the ordinary sense — Supabase provides a Data Processing Addendum, Standard Contractual Clauses, EU regions (Frankfurt and Ireland), and a published sub-processor list. That is enough to close the compliance ticket for most SaaS deployments. The DPO-level caveat is the CLOUD Act: Supabase Inc. is a Delaware corporation, and no contract between you and Supabase can override the statute that lets US authorities compel Supabase to produce data. For regulated buyers where "EU corporate parent" is a hard requirement, this is why an EU-native alternative such as Eurobase is worth evaluating.

Does Supabase's EU region solve the CLOUD Act issue?

No. Pinning a project to Frankfurt or Ireland keeps the physical bytes inside the EEA, which satisfies the residency dimension of GDPR. It does not solve the jurisdictional dimension — Supabase Inc. remains a Delaware C-corp compellable under US law regardless of where its customers' data physically sits. The Microsoft France Senate testimony (June 2025) put this on the public record: EU-region hosting operated by a US parent cannot guarantee data stays out of US reach.

What does GDPR Article 30 require?

Article 30 requires every controller (and processor) to maintain a Record of Processing Activities (RoPA) — a live document listing: purpose of each processing operation, categories of data subjects and personal data, recipients (including sub-processors), any international transfers with their legal basis, envisaged retention periods, and a general description of technical/organisational security measures. Supabase gives you the raw ingredients (sub-processor list, DPA); you assemble and maintain the RoPA. Eurobase auto-generates the Article 30 RoPA report per project from a live sub-processors table.

Can I fulfil a DSAR on Supabase in 30 days?

Yes, but the mechanics are yours. Supabase does not ship a Data Subject Access Request primitive: to answer Article 15 (right of access) or Article 20 (portability), you walk auth.users, join every table that references the user_id, gather any Storage files owned by that user, zip the whole thing, hand it off with a signed download link, and log the fulfilment. Industry benchmarks put this at 8–12 engineering hours per request. Eurobase ships one-click DSAR export in the console and eb.auth.exportMyData() in the SDK — same 30-day statutory clock, one-click fulfilment.

Is there a GDPR-native Supabase alternative?

Yes — Eurobase. Same Postgres + auth + storage + realtime + edge functions surface, operated by Eurobase OÜ (Estonian registry code 17557586, Ahtri 12, Tallinn), running exclusively on Scaleway fr-par (France). No US corporate parent, no US-headquartered sub-processor in the critical path. DSAR export, Article 30 RoPA, tamper-evident audit log, and sub-processor registry are first-class product surfaces on every tier including Free. Migration from Supabase uses the eurobase import supabase CLI.

Related reading

Skip the CLOUD Act homework

Eurobase gives you the same Supabase-shaped platform under Estonian law, with GDPR primitives — DSAR, RoPA, audit log — built into every tier. Free tier, no credit card. Pro is €25/mo per project.