03-complet-saas · 1–2 days · 8 min

SaaS audit: isolation first, not headers.

On a SaaS, the hole that cuts revenue is not a missing header. It is org A’s invoice read from org B. Full SaaS exists for that. Without two tenants, isolation stays Untested — at the top of the report, not in a footnote.

When to open it
  • Multi-user SaaS: orgs, workspaces, teams, billing, webhooks
  • The product promises “your data stays yours”
  • You can provide at least one test account; two tenants for any isolation conclusion
Agents
00–11 + saas-multitenant specialist (always)
Outside this mode
  • One tenant: no Confirmed cross-org IDOR. Untested, isolation confidence = 0
  • Not a SOC 2 audit, not SSPM for SaaS you consume
  • No id enumeration, no bruteforce

The wrong “SaaS security”

Most “SaaS security” pages sell a CISO seat: lock down Slack, Salesforce, Office 365. This is not that. Here you audit the application YOU sell. Your tenants. Your IDs. Your exports.

The two-tenant rule

Authenticate A, note ids the UI and API expose. Authenticate B (separate session). Ask, as B, for a resource of A whose id was seen in A — one GET. 200 with A’s data = evidence. 403/404 = observed control, not a Confirmed finding. One tenant + org_id in the URL = Untested. Confirming an IDOR without two contexts is forbidden.

What the squad looks for

  • Invite, SSO, session, reset (agent 04).
  • Intra-tenant roles first, then cross-org (05 + specialist).
  • Object IDs, exports, webhooks, admin, global search, avatars, S3, caches, impersonation.
  • Agent surface: 09 always runs. If nothing exists, it writes that down.

Launch phrase

Full SaaS on https://app.example.tld. Two tenants in the brief. Outside + inside. Accounts out of chat.

Before you launch

I only have one demo account.
We still run. Isolation stays Untested, stated at the top. Add a second tenant later and re-run as Delta.
Is this also an MCP audit?
09 always runs on Full SaaS. If the product IS an agent, open MCP mode and add the multi-tenant specialist.

The kit, not the guide.

Open source, MIT. Clone it, open it in Claude, Codex, Cursor or Hermes. A held report — or QA’s silence.

Open sourceMIT0 stars0 forks

github.com/cryptulien/security-kit