GX-15 / SECURITY

Security is the product.

An app builder asks for real trust: your ideas, your data, your customers’ data, your API keys. This page is the isolation model we actually run — numbered like the spec it comes from, because it is one.

Your browsersession cookie lives hereControl planelaunchpad.app · auth · creditsSecrets vaultsealed · per-user keysecret-file firewallYour sandboxfirecracker microvm · one per projectYour apppreview on a separate apexPublished appscanned for secrets before deployhttpsagentno control-plane cookies on this pathpublish
The isolation model — features/15, drawn to scale of importance
The controls

Enforced, not promised.

15.1

Kernel isolation

Every project runs in its own Firecracker microVM. One project's code — malicious or just buggy — cannot read another project's files, memory, or traffic.

15.2

A separate preview apex

Previews are served from a different apex domain than the control plane, so a script the agent writes into your app can never see the session cookie that controls your account.

15.3

The secret-file firewall

The agent cannot read .env, id_rsa, *.pem and their relatives — enforced at the tool layer, not politely requested in a prompt. It holds even when your own message asks, and even through the bash tool.

15.4

An encrypted vault

API keys and database credentials you connect are envelope-encrypted with a per-user key. A dump of our database is not a dump of your credentials.

15.5

Scanning before publish

Every publish is scanned for key-shaped strings before the deploy goes out — the canonical vibe-coding failure is a service key in dist/index.html, and it is caught in the pipeline, not on Pastebin.

15.6

An enforced content policy

Phishing kits, credential harvesters, and malware don't get hosted under our apex. Enforcement is server-side classification plus takedown — with an appeals path, and refunded credits when we get it wrong.

15.8

Rate limits

Signups, failed logins, and agent turns are rate-limited per user and per IP, so one abuser cannot burn the platform down for everyone else.

15.9

Legal that diffs

The Terms and Privacy Policy are version-controlled and published with plain-language summaries. Material changes come with 30 days' notice.

Your data

What we hold, and what we refuse to.

DataHeld?The detail that matters
Your projects and chat historyYESThat's the product. Messages roll off after 12 months; export is always available.
Connected API keysYESEnvelope-encrypted in the vault; injected into your sandbox at runtime, never written into snapshots.
Card numbersNEVERStripe holds them. We store the plan and the ledger, never the card.
Your content, as training dataNEVERWe do not train models on your prompts, code, or apps — and our providers are contractually barred from it.
Secret files in published bundlesNEVERBlocked by name at publish, and the bundle is scanned for key-shaped strings besides.
Disclosure

Found something?

We run coordinated disclosure from day one. Write to security@launchpad.app — the same address published in our security.txt. We respond within 72 hours, and we say thank you in the changelog.