Forge64 logo
All app types

SaaS dashboard security

SaaS dashboard security checklist

Before you launch a SaaS dashboard, check authz, secrets, abuse, pii and compliance. The rules below are the ones this category most often gets wrong; each one is concrete enough to test.

Last checked

Security: authz

  • Authorisation is org-scoped and deny-by-default: RLS on every org table plus requirePermission() on every route and server action; IDs from the client are always re-checked against org_id (no IDOR); cross-tenant access tests run in CI.
  • An org can never be left without an owner: demoting, removing or deleting the last owner is rejected in code and by a database constraint trigger.
  • Sessions use Better Auth with httpOnly SameSite cookies, CSRF-safe server actions, re-authentication for billing, API key and member-role changes, and session revocation on role change.

Security: secrets

  • API keys and webhook secrets are random 256-bit values shown once; keys stored only as SHA-256 hashes, webhook secrets encrypted at rest; never logged; revocation takes effect within 30 s; scopes cannot exceed the creator's role.

Security: abuse

  • Outbound webhook URLs must be https, resolve to public IPs only (block private, loopback, link-local and metadata ranges), no redirects followed, re-validated at delivery time to defeat DNS rebinding.

Security: pii

  • Member emails and names are personal data: stored once in users, referenced by id elsewhere, excluded from logs and audit meta (ids and hashed IPs only), exportable and erasable per user; org deletion purges tenant data after the grace period.

Security: compliance

  • Security-relevant actions (login, role change, key create/revoke, billing change, data export, org delete) always write audit_log in the same transaction; the app role cannot update or delete audit rows.

Compliance notes

  • GDPR (applies to EU users): Members' personal data needs a lawful basis, export and erase endpoints, a DPA template for B2B customers, a sub-processor list and retention limits on audit_log and usage_events.
  • SOC 2 readiness (applies to selling to businesses): Immutable audit log, access reviews, least-privilege roles, backups and change history are the controls enterprise buyers ask for first.
  • CCPA (applies to California users): Honour deletion and do-not-sell requests; analytics must not sell member data.

Limits that stop abuse and surprise bills

  • webhook deliveries per org day: per-plan cap; over the cap deliveries are dropped to dead status and the org is notified.
  • api requests per org month: per-plan quota enforced at the edge of the handler; over quota returns 429 before any work.
  • storage mb per org: per-plan cap; presigned URLs refused at 100% of quota.
  • emails per org day: capped by EMAIL_DAILY_CAP_PER_ORG; over the cap sends are refused, not queued.
  • export jobs per org day: max 5 exports per org per day, each bounded by MAX_EXPORT_ROWS.

Test it yourself before launch

Forge64 gives every app its own Postgres database and runs a quality gate that flags unauthenticated writes and secrets in client code before you see the app. It does not replace your own testing, and it holds no third-party security certification today.

This is a reference design for the category, not a promise that every item is generated today. Built-ins such as email, background jobs, file uploads and search are coming soon, so anything here that needs them is something you add yourself for now.

  • Sign in as two different users and try to open each other's records by changing the id in the address.
  • Submit each form with an empty value, a very long value and a script tag, and check the result.
  • Call each write endpoint without signing in and check that it refuses.

FAQ

What is the biggest security risk in a SaaS dashboard?
Authorisation is org-scoped and deny-by-default: RLS on every org table plus requirePermission() on every route and server action; IDs from the client are always re-checked against org_id (no IDOR); cross-tenant access tests run in CI.
Does a SaaS dashboard have compliance obligations?
GDPR, if you have EU users: Members' personal data needs a lawful basis, export and erase endpoints, a DPA template for B2B customers, a sub-processor list and retention limits on audit_log and usage_events. This is a starting point, not legal advice.
Will Forge64 certify my app as secure?
No. Forge64 holds no third-party security certification today and does not certify apps. The checklist is a way to test your own app.

Build your app with Forge64

One prompt to a running app with auth, database, hosting and payments. Start free, no credit card required.

Start building for free