All systems nominal · edge p95 12ms v0.1.0GDPR · CCPA
FAQ

The honest answers.

No marketing copy. If something about Swift would be a dealbreaker for you, this is where you'll find it.

Can't find your answer?
Email a founder →

Compliance

Do I still need OneTrust / Cookiebot / Iubenda? +

Yes. Swift is a performance wrapper, not a compliance replacement. Your existing CMP handles regulatory rules, audit trails, vendor lists, and legal disclosures. Swift handles rendering, performance, and developer experience. Your legal team's review of your CMP is unchanged.

Is this legally compliant? +

Compliance comes from your underlying CMP, which Swift wraps. If your current CMP setup is compliant, wrapping it with Swift does not change that. Swift never modifies consent categories, audit records, or legal disclosures — it just renders them faster.

Does Swift create a "consent gap"? +

No. Swift fires Google Consent Mode v2 consent/default with all categories denied immediately on load. Third-party tags are queued by Google Tag Manager / GA4 until consent/update fires after the user interacts with the banner. No tags fire before consent is given.

Does it work in France (CNIL) and Germany (LfDI)? +

Consent Mode v2 satisfies standard GDPR and UK GDPR. For France's CNIL (which requires stricter prior consent for analytics before any cookieless modeling) and some German LfDI interpretations, compliance depends on your underlying CMP's configuration — not Swift's layer. Ask your CMP vendor and legal counsel for jurisdiction-specific guidance.

Technical

How does edge rendering actually work? +

A Cloudflare Worker intercepts HTML responses at the edge (180+ PoPs globally, ~12ms p95). It checks geo headers and the consent cookie, then streams your HTML with the banner markup injected before </body>. The banner is in the initial HTML payload — no client JS is required to display it.

What about CLS? +

Zero. The banner is rendered at a fixed position in the initial HTML (bottom-right corner). Nothing shifts when it appears because it was already there. The preference center modal is also in the initial HTML, hidden via display:none until opened.

Does it work with Next.js, Astro, SvelteKit, WordPress? +

Yes. Swift operates below your framework at the network level. It doesn't matter what generates your HTML. Next SSR, Astro static, SvelteKit streaming, WordPress, Rails, Laravel — the Worker injects the banner into the HTML response regardless.

Installation

Which CMPs do you support? +

At launch: Cookiebot, OneTrust, Iubenda, Didomi. If you use something else, we'll build an adapter for any CMP with a public API — typically 2–3 days at no extra cost.

What if I don't want to use Cloudflare? +

Cloudflare Workers is the supported runtime. Vercel Edge Middleware and Netlify Edge Functions are on the roadmap. The script-tag install (Option B) works everywhere with no edge runtime needed — you lose the edge-rendering LCP advantage but still get Consent Mode v2 and the gating API.

Limitations

Does Swift support IAB TCF 2.2? +

Not in v1. TCF 2.2 passes a consent string via __tcfapi to ad networks (Prebid, DFP). Swift does not currently intercept or relay this signal chain. If your site relies on programmatic advertising, Swift v1 is not the right fit. This is on the roadmap for v2.

Does Swift improve LCP on sites that are already fast? +

It depends on how your current CMP loads. If your CMP is already async and non-render-blocking, the improvement will be smaller. The biggest gains are on sites where the CMP script is in <head> and blocking — typically 150–600ms recovered.