Payments + financialWorldwideReviewed June 2026

Is Bubble.io PCI DSS compliant?

Bubble explicitly tells you not to process or store cardholder data on the platform — but unlike HIPAA, PCI DSS has a clean workaround. Stripe Elements, Adyen hosted fields, and equivalent tokenised payment flows keep the card number off your servers entirely and drop you to SAQ A. The cost of compliance falls 60–80% the moment cardholder data never touches Bubble. Rebuild only when you need SAQ D or Level 1. PCI DSS v4.0.1 has been the sole active version since March 31, 2025.

The honest verdict

No. Not the way you’d ship PCI DSS in production.

Bubble's own documentation tells you not to use the platform for this. Bubble is explicit: do not process or store cardholder data inside a Bubble app, and route payments through a hosted gateway instead. That's not the disqualifier it looks like — for almost every e-commerce app, hosted fields from Stripe or Adyen keep card numbers off Bubble servers entirely and drop the merchant to SAQ A. The architectural decline becomes a feature, not a blocker.

Bubble is not designed for PCI DSS compliance
— Source:Bubble.io documentation

Reviewed by

Greg· Founder, bubbletocode.com — has migrated 30+ Bubble apps to code

Independently sourced — no Bubble partnershipLast reviewed June 2026
Credentials
  • 01 / 04

    Bubble's stance

    Explicit decline

    "Bubble is not designed for PCI DSS compliance"

  • 02 / 04

    Worst-case penalty

    $100k / month

    Contractual card-brand fines until remediation

  • 03 / 04

    Industries impacted

    E-commerce · Fintech · Marketplaces · SaaS billing

  • 04 / 04

    Compliant on Bubble

    $5k–$30k · 4–8 weeks

    Stripe Elements → SAQ A keeps CHD off Bubble

What PCI DSS actually requires

The requirements behind the checkbox.

PCI DSS is a contractual security standard published by the PCI Security Standards Council and enforced by the card brands (Visa, Mastercard, Amex, Discover, JCB) and acquiring banks. There is no government regulator and no statutory penalty — fines flow contractually, typically $5,000–$100,000 per month until remediation. PCI DSS v4.0.1 has been the sole active version since March 31, 2025.

  • 01

    Install and maintain network security controls and do not use vendor-supplied defaults for system passwords or other security parameters (PCI DSS v4.0.1 Req. 1–2).

  • 02

    Protect stored account data and encrypt cardholder data transmitted across open public networks using strong cryptography (PCI DSS v4.0.1 Req. 3–4).

  • 03

    Protect all systems against malware, develop and maintain secure systems and software, and manage payment-page scripts under 6.4.3 (PCI DSS v4.0.1 Req. 5–6).

  • 04

    Restrict access to cardholder data by business need-to-know and authenticate all access — multi-factor authentication for every entry into the cardholder data environment (PCI DSS v4.0.1 Req. 7–8).

  • 05

    Restrict physical access and log and monitor all access to network resources and cardholder data, with tamper detection on payment pages under 11.6.1 (PCI DSS v4.0.1 Req. 9–10).

  • 06

    Regularly test security systems with authenticated vulnerability scans and penetration tests, and maintain an information security policy (PCI DSS v4.0.1 Req. 11–12).

Official source: pcisecuritystandards.org

Why Bubble fails PCI DSS

Not opinions — architectural facts.

Every reason below comes from Bubble’s published platform limits or their own documentation. Reading the list top-to-bottom tells you which one will bite you first.

  1. 01

    Explicit decline + ban on storing cardholder data

    Blocker

    Bubble's manual is direct: "you should never process or store cardholder data" inside the app, and the payment obligation belongs to the gateway. The platform is not certified as a PCI environment. If cardholder data — PAN, expiry, CVV — touches Bubble's database, logs, or transit infrastructure, you've moved into a cardholder data environment that Bubble's posture cannot support. Treat this as a hard architectural rule.

    Sources[01]

  2. 02

    Shared multi-tenant infrastructure cannot isolate a CDE

    Blocker

    PCI DSS Requirements 1 and 2 require network segmentation that isolates the cardholder data environment from other networks. Bubble's default environment is a shared US-AWS cluster — every customer's app runs alongside every other customer's app. There is no per-customer network segment to scope a CDE around. Even if you wanted to handle PAN on Bubble (you don't), the segmentation requirement is not satisfiable.

    Sources[02]

  3. 03

    Two-week log retention fails Requirement 10

    Major

    PCI DSS Req. 10 requires at least one year of audit log retention with three months immediately available for analysis. Bubble's logs interface limits search to the previous two weeks. Without external log aggregation no Bubble-hosted app can evidence Req. 10 — that's true whether you're SAQ A, SAQ A-EP, or SAQ D. Ship logs off-platform before any QSA engagement.

    Sources[03]

  4. 04

    Plugin JavaScript on payment pages risks SAQ A-EP escalation

    Major

    PCI DSS v4.0 added Req. 6.4.3 and 11.6.1 specifically to govern scripts that load on payment pages. Bubble plugins load third-party JavaScript into the user's browser, and any script touching the payment page can push a merchant from SAQ A to SAQ A-EP — which is materially more expensive. If you keep Bubble as the UI in front of Stripe Elements, keep plugins off the payment page.

    Sources[04][06]

  5. 05

    No customer control over keys or storage lifecycle

    Minor

    PCI DSS Req. 3 expects strong cryptography with documented key management for stored cardholder data. Bubble encrypts at rest with AES-256 on AWS RDS, but the customer has no control over keys, no rotation policy visibility, no per-record envelope encryption. Not a blocker for SAQ A (no CHD on Bubble), but a clear blocker for any path where cardholder data is on the platform.

    Sources[02]

Bubble vs a compliant stack

Where each requirement passes or breaks.

The same 7requirements an auditor will ask about, scored on both stacks. Read across each row — every red cell is a deal you can’t close on Bubble.

Requirement
On Bubble.io
On a compliant rebuild
  • Cardholder data stays off your servers (Req. 3)

    Partial

    Stripe Elements path = yes; native path = no

    Bubble's posture demands hosted fields, not native CHD

    Pass

    Hosted fields or direct SAQ-D with KMS keys

  • Network segmentation around the CDE (Req. 1–2)

    Fail

    Shared multi-tenant cluster — no CDE

    Pass

    Dedicated VPC with subnet segmentation

  • Payment-page script management (Req. 6.4.3 / 11.6.1)

    Partial

    Possible if no plugin JS on payment page

    Discipline-dependent — easy to break

    Pass

    CSP + SRI + script inventory automated

  • MFA for all CDE access (Req. 8)

    Fail

    MFA / SSO gated to higher tiers

    Pass

    MFA enforced for all admin and API access

  • Log retention ≥1 year (Req. 10)

    Fail

    Two-week search window

    Pass

    Postgres event log + S3 archive ≥1 year

  • ASV vulnerability scanning + annual pentest (Req. 11)

    Partial

    Bubble annual pentest at platform level

    Customer app scope still your responsibility

    Pass

    Self-managed ASV scans + annual pentest

  • Tokenised checkout → SAQ A scope

    Pass

    Stripe Elements / Adyen hosted fields supported

    Recommended pattern on Bubble

    Pass

    Same pattern, plus direct SAQ-D option

What it costs your business

The deals you lose
without PCI DSS.

PCI fines flow contractually, not statutorily — your acquiring bank levies them, usually $5,000–$100,000 per month until remediation. The bigger commercial risk is loss of card-processing privileges with a card brand. Get the scope right by keeping cardholder data off Bubble and you avoid the entire fight.

  • Your acquirer's compliance team discovers card data sitting in Bubble logs after a routine review — contractual fines start at $5,000 per month until remediation and your processing relationship goes on a watch list.

  • A breach forensic report concludes cardholder data was exposed via a Bubble plugin script on the payment page — the card brand assesses the merchant and your acquirer passes through the assessment.

  • We are past the v4.0.1 mandatory deadline (March 31, 2025) — your QSA will fail an assessment if Req. 6.4.3 and 11.6.1 script-management controls aren't operating on every hosted payment page, and Bubble plugins loaded on that page are now an audit finding by default.

  • Loss of processing privileges with a major card brand is rare but commercially terminal — it forces a re-onboarding with a different acquirer and a full re-assessment, typically 6+ months of regulatory limbo.

Three honest paths forward

Stay, hybrid, or rebuild — pick the one true to your stage.

We don’t recommend a rebuild for every founder. Below: what each path costs you, what it preserves, and where it breaks for PCI DSS.

01

Cheapest now · riskiest later

Viable

Stay on Bubble — use Stripe Elements / Adyen hosted fields

Keep Bubble as the UI in front of a tokenised payment flow (Stripe Elements, Adyen hosted fields, Braintree). Cardholder data never touches Bubble's database, logs, or transit. Merchant qualifies for SAQ A — the smallest, cheapest self-assessment. This is the recommended path for almost every e-commerce app on Bubble.

Pros

  • Cheapest viable path — SAQ A roughly $5k and 4–8 weeks
  • Preserves Bubble app entirely
  • Scope reduction of 60–80% versus storing CHD
  • Mature workaround — Stripe Elements is well-documented

Cons

  • Any JS on the payment page from your domain → SAQ A-EP
  • Two-week log retention still needs external aggregation
  • Scope creep is dangerous — easy to drift into SAQ A-EP accidentally
Read the hybrid trade-offs
02

Phased · auditor-defensible

Viable

Hybrid — tokenise on Bubble, rebuild ancillary CHD surfaces

Use Stripe Elements / Adyen for the main checkout flow on Bubble. Carve any non-checkout surface that needs cardholder data (recurring billing back-office, refund tooling that handles PAN, reconciliation) onto a separate stack with proper segmentation.

Pros

  • Lets you keep Bubble UI for checkout
  • Adds CHD-handling capability where the business needs it

Cons

  • Two stacks to maintain
  • Scope boundary needs ongoing discipline
Score with the hybrid planner
Recommended
03

Highest upfront · clean audit

Viable

Full rebuild — only for SAQ D / Level 1

Rebuild on Next.js with Vercel Enterprise (PCI DSS SAQ-D AOC v4.0) or AWS as the host. Required only when your business model needs to handle PAN directly — surcharge flows, niche payment methods, or merchant-of-record processing at Level 1 volumes (>6M transactions/year).

Pros

  • Full control over the cardholder data environment
  • Unlocks SAQ D / Level 1 use cases
  • Vercel Enterprise holds PCI SAQ-D AOC; AWS gives full PCI inheritance

Cons

  • Highest up-front cost
  • QSA assessment $30k–$100k+ on top
  • 6–12 month RoC timeline
Start the free rebuild analysis

Composite case study

What an honest PCI DSS migration looks like in practice.

E-commerce on Bubble · 16 months live

Merchant had a Bubble app collecting card details through a marketplace plugin that stored PAN in the Bubble database for one-click reorder. The acquiring bank flagged the setup at the next compliance check and demanded a full SAQ D path or remediation. We removed the plugin, switched checkout to Stripe Elements with the card-entry iframe on the existing Bubble page, scrubbed PAN from the database, set up Stripe Customer for tokenised one-click reorder, removed remaining JS from the payment page, and stood up ASV scanning. The merchant qualified for SAQ A from week six.

Outcome: SAQ A self-assessment signed at week six; acquiring bank accepted the AOC and removed the compliance watch flag the same week; annual PCI cost dropped from $20k+ projected SAQ D to under $5k SAQ A; checkout conversion improved 4% from the Stripe Elements form.

Composite case study assembled from patterns we've seen across e-commerce migrations to SAQ A scope on Bubble. Anonymised for client privacy — happy to walk you through the actual engagements in a scoping call.

Frequently asked

What founders ask about PCI DSS on Bubble.

Pulled from real conversations with founders running healthcare, fintech, and B2B SaaS apps off Bubble. Every answer is grounded in the source we cited above — no marketing fluff.

Q01Has Bubble ever supported PCI DSS?
No. Bubble has been consistent — the platform is not designed for PCI DSS compliance, and customers should never process or store cardholder data inside a Bubble app. That position hasn't changed and is unlikely to change. The supported pattern is hosted payment fields where the card number never touches Bubble.
Q02What about a PCI plugin or third-party encryption wrapper?
Wrong shape of solution. The supported workaround is hosted fields — Stripe Elements, Adyen hosted fields, Braintree drop-in — that load the card-entry form in an iframe from the processor's certified PCI environment. The PAN never enters your DOM, never enters Bubble's network, and never enters Bubble's logs. That's how you get SAQ A. Plugins running inside Bubble's runtime can't replicate that.
Q03Can a hybrid setup work for PCI?
Yes, this is the most common arrangement. Checkout uses Stripe Elements on a Bubble page — SAQ A scope. Anything that needs actual cardholder data handling (back-office refund tools that touch PAN, surcharge logic) gets carved off onto a separate stack with proper segmentation. Define the boundary cleanly and audit it quarterly.
Q04How long does PCI compliance actually take?
SAQ A on Bubble with Stripe Elements: 4–8 weeks once you remove any plugin JS from the payment page and set up ASV scanning. Level 1 RoC with a QSA: 6–12 months and $30k–$100k+ depending on scope. Most merchants live at SAQ A — the QSA path is only for Level 1 volumes or merchant-of-record processing.
Q05Does PCI overlap with SOC 2 or any other standard we cover?
Substantially with SOC 2 — change management, access control, monitoring, vendor management all overlap. PCI DSS is more prescriptive about specific controls (Req. 10 logging, Req. 8 MFA, Req. 6 secure development) and adds payment-page script management under v4.0. Many SaaS hold both SOC 2 Type II and a PCI AOC against the same control set.
Q06Can Bubble sign a DPA or BAA for PCI purposes?
Bubble signs a GDPR-compliant DPA covering personal data, with Standard Contractual Clauses and the EU-US Data Privacy Framework. PCI DSS doesn't require a BAA — that's HIPAA. For PCI, what matters is keeping cardholder data off Bubble entirely. The DPA is the relevant contract; the architecture is the actual control.
Q07What changed in PCI DSS v4.0.1?
PCI DSS v4.0.1 has been the sole active version since March 31, 2025. The big changes are payment-page script management (Req. 6.4.3 and 11.6.1), expanded MFA for all CDE access (Req. 8), expanded password rules, and authenticated vulnerability scanning. If you're on Bubble with Stripe Elements, the script-management requirements are the ones that actively constrain plugin choice on the payment page.

Sources

Every claim, traced to a primary source.

The numbered references in the body link here. We cite first-party documents — regulator guidance, vendor manuals, industry standards — never marketing copy.

  1. [01]
  2. [02]
  3. [03]
    Logs tab — server log retention and search window

    Bubble Group Inc.manual.bubble.io

  4. [04]
  5. [05]
    PCI Security Standards Council — DSS v4.0.1 document library

    PCI Security Standards Councilpcisecuritystandards.org

  6. [06]
    PCI DSS v4.0 — payment page script management (Req. 6.4.3 / 11.6.1)

    PCI Security Standards Councilblog.pcisecuritystandards.org

  7. [07]

Want a real answer for your app, not your category?

Drop your .bubble export. We’ll tell you what PCI DSS costs to actually achieve.

Free. 10 minutes. No call. Reads every workflow, surfaces every PII / WU / scaling risk, and produces a fixed-price rebuild plan grounded in PCI DSS’s real requirements.