TLS encryption in transit
Every request to splitforms.com — dashboard, API, and form POSTs to /api/submit — is served over HTTPS. Plain HTTP is redirected. TLS termination happens at the edge.
A factual, non-marketing description of the controls we run, the providers we trust, and — just as importantly — the things we don't yet do. Updated as the platform evolves.
Last reviewed: May 9, 2026
Every request to splitforms.com — dashboard, API, and form POSTs to /api/submit — is served over HTTPS. Plain HTTP is redirected. TLS termination happens at the edge.
Submissions, profiles, and uploaded files are stored on Supabase managed Postgres and Supabase Storage, which encrypt all data at rest using AES-256.
Every customer-facing table (profiles, forms, submissions, webhooks) has Postgres RLS policies enforcing auth.uid() = user_id. One user's submissions are never visible to another.
splitforms doesn't store passwords. Sign-in is a one-time magic link emailed via Supabase Auth. There is no password database to leak.
Every form has an invisible honeypot field (botcheck) and an optional allowed_domains origin check, so submissions only succeed from the sites you actually own.
Today all data is hosted in the US. An EU-resident option for Supabase is on the roadmap — useful for GDPR data-residency requirements. Marked planned, not shipped.
splitforms is built on a small, well-known stack. We don't run our own datacentres; we trust providers whose security programmes are stronger than anything a tiny SaaS could replicate. Each provider holds its own SOC 2 / ISO 27001 attestations, which we inherit downstream.
We do not use third-party analytics, marketing pixels, ad networks, or session-replay tools inside the splitforms dashboard or on submission endpoints. The fewer places your submissions touch, the smaller the blast radius.
Every customer-facing table — profiles, forms, submissions, webhooks, user_integrations — has Row-Level Security enabled in Postgres, with policies that scope reads, updates and deletes to auth.uid() = user_id. There is no shared "all-tenants" view, and there is no admin tooling that bypasses RLS for normal application traffic. The dashboard runs as the signed-in user, so the database itself enforces tenant isolation — even if app code had a bug, RLS would catch it.
The single exception is /api/submit, which runs as the Supabase service role to insert a row on behalf of an unauthenticated form visitor. That code path looks up the target form by its public access_key, applies rate limits and origin checks, and writes only to that form's user_id — it never reads cross-tenant data.
Read more about how Supabase implements RLS: Supabase RLS docs.
splitforms uses Supabase Auth's magic-link flow. To sign in, you enter your email and click the one-time link we send. Sessions are managed via short-lived JWT access tokens (refreshed automatically) stored in HttpOnly, SameSite=Lax cookies. Refresh tokens can be revoked server-side at any time.
What this means in practice:
Form submissions are an internet-facing endpoint, which means spam, scrapers, and runaway scripts try to abuse them constantly. splitforms ships several layered controls out of the box, with no setup on your part:
botcheckfield. If a submission fills it in (which only automated bots do), the row is silently flagged as spam and we don't email or webhook you.allowed_domainssetting. When set, submissions are only accepted from origins matching that list — so even if your access key leaks, attackers can't POST from evil-clicker.com.We keep your submissions for as long as your account is active. There is no automated "expire after N days" policy out of the box — many customers want a permanent CRM of every lead they've received, so we don't delete on your behalf.
You stay in control:
If you need a custom retention policy (e.g. auto-delete submissions older than 90 days for compliance), email hello@splitforms.com.
Honesty is a security feature. Here's what splitforms does notcurrently have, so you can decide up-front whether we're a fit:
We'd rather tell you these gaps exist than imply controls we can't actually back up under audit.
Found a vulnerability or have a security concern? Please email security@splitforms.com (also reachable at hello@splitforms.com). Include reproduction steps and any proof-of-concept relevant. We aim to acknowledge within one business day and keep you updated through remediation.
Please don't run automated scans or fuzzing against production endpoints — set up a free account and test against your own forms instead. We will not pursue good-faith researchers reporting under responsible-disclosure norms.
Yes — in transit and at rest. All traffic to splitforms.com uses HTTPS with TLS. Stored submissions live on Supabase managed Postgres, which encrypts data at rest using AES-256. File uploads in Supabase Storage are likewise encrypted at rest.
No. splitforms uses magic-link authentication via Supabase Auth. To sign in, you enter your email and click the link we email you. There is no password field, no password hash on disk, and no password to leak in a breach.
splitforms helps you meet GDPR for the form submissions you collect. You are the data controller for the submissions on your forms; splitforms is the data processor. We support data subject rights via the dashboard (export, delete) and offer a Data Processing Agreement on request. See /gdpr for the full breakdown.
Yes for the data we hold about you as a splitforms account holder. You can access, export, or delete your data from the dashboard at any time. We do not sell personal information to third parties. For broader CCPA programme questions, email hello@splitforms.com.
No. splitforms is not HIPAA compliant and we do not sign Business Associate Agreements (BAAs). Do not use splitforms to collect Protected Health Information (PHI). If you need HIPAA, use a backend that's specifically built and audited for it.
Not yet. splitforms is a small SaaS and we have not undergone a SOC 2 Type I or Type II audit. Our underlying infrastructure providers (Supabase, AWS, Vercel, Cloudflare) hold their own SOC 2 reports, which inherit downstream — but splitforms itself is not certified. A formal SOC 2 is on the roadmap once revenue justifies the audit cost.
Yes. Individual submissions can be deleted from the dashboard at any time. Deleting your account cascades through Postgres foreign keys and removes all associated forms, submissions, webhooks, and profile data. If you want a full erasure confirmation in writing, email hello@splitforms.com.
Today, all production data lives in US regions: Supabase Postgres + Storage (AWS US), Vercel compute (US edge + Lambda regions), AWS SES (US), and Cloudflare for DNS. An EU-resident option is on the roadmap.
Yes — email hello@splitforms.com with subject "DPA" and we'll send our standard DPA. It's a short, plain-English document covering processor obligations, sub-processors, breach notification, and data subject rights.
Internal admin write actions are recorded in an admin_audit_log table (used by the founder ops console). A user-facing access log surfaced inside the dashboard is on the roadmap and not yet shipped.
Honest controls, named providers, no fake certifications. Free for 1,000 submissions per month — no credit card.