Security at Kridona

AI-generated doesn't have to mean insecure. Here is exactly what we do — for every app, every build, by default.

Every app is isolated

Each Kridona app deploys as its own Cloudflare Worker with its own dedicated database (Cloudflare D1). There are no shared tables, no shared runtime, no multi-tenant rows to leak across. A bug in one app cannot touch another app's data — including yours.

This is a structural guarantee, not a configuration flag. Category-wide incidents where thousands of generated apps shared a misconfigured database simply cannot happen here, because there is nothing shared to misconfigure.

Authentication is enforced on the server

  • Passwords are hashed with PBKDF2 on the server. They are never stored in plain text, and never validated in the browser.
  • Sessions use signed JWTs whose secret is bound to the worker at deploy time — it never appears in the shipped code, the bundle, or an export.
  • Protected API routes check authorization server-side. Hiding a button is not security; we gate the endpoint.

Generated code is scanned

Every build's code passes through an automated scan for dangerous patterns — data exfiltration to external servers, hardcoded credentials, injection primitives. The same scan gates the Community Store: no seller app can be listed for sale without passing security validation. You can see your own app's scan results in the Publish dialog.

Your data on the platform

  • Platform data lives in Postgres, encrypted at rest, with automated off-site backups every night.
  • Your account password is PBKDF2-hashed — we cannot read it.
  • Integration secrets you add (API keys for AI, email, payments) are encrypted with AES-256-GCM before they are stored.
  • Payments run entirely through Stripe. Card numbers never touch our servers.

Transport

Everything is served over HTTPS on Cloudflare's edge. Custom domains get TLS certificates provisioned automatically — there is no way to run a Kridona app without encryption in transit.

You can leave, safely

Your app's code is yours: export it as a ZIP or push it to GitHub at any time. No lock-in also means no hostage data — your app's database contents belong to you.

Found something?

If you believe you've found a security issue in Kridona or in a generated app, email security@kridona.com. We read every report.