Skip to content
Use case · Agencies

One workspace. All your clients' Supabase projects.

If you operate Supabase for clients, you've felt this: ten browser tabs, ten Supabase Studios, ten dashboards with different keys, and no audit trail that says who did what to whom.

The agency problem

Tabs aren't an architecture

When you operate ten or twenty client Supabase projects, the wins compound, and so do the failure modes.

  • One sidebar, all projects

    Every connection you add becomes another entry in the sidebar. Switch with Cmd-K. The keys for each one are encrypted in our vault; you never paste them again.

  • Per-project credential isolation

    Each connection has its own encrypted key. A teammate who shouldn't see Client X never sees that connection. Self-host gives you full RBAC; hosted ships per-org access in Q3.

  • Audit log per project

    Every write is logged with the human, the connection, the table, and the row. When a client asks 'who changed this on Tuesday?' you have an answer.

  • RLS that works across all of them

    One direct-Postgres URL per project (encrypted) unlocks our RLS debugger so you can answer 'is this policy doing what we wanted?' on any client without leaving the workspace.

  • SQL playground without ten psqls

    Read-only by default. You don't need to fish out the password for the right server; the playground reads it from the same vault.

  • Hand a client a seat without giving them keys

    On hosted, invite the client as a read-only viewer on their own project. They see the audit log; they can't change the encrypted key or remove connections.

Operationally

What an agency week looks like

  1. Onboard a new client project in 3 minutes.

    Get the Supabase URL and service_role key from the client. Paste them in /connections. The connection's archetype labels run automatically. You're in business; no Studio bookmarking, no separate password manager note.

  2. Triage a support ticket across two clients.

    Client A says emails aren't sending. Client B says checkout broke. Cmd-K, switch to A, look at auth_users, find the unconfirmed accounts, generate a recovery link, paste in your reply. Cmd-K, switch to B, look at the orders table sorted by created_at, find the broken order, open the row, see the audit history. Both fixed before lunch.

  3. Hand a client a clean weekly digest.

    Open the AI chat on the client's connection. 'Summarise the last week's writes by table.' Tool-use loops over count_rows; agent comes back with 'orders +43, users +12, support_tickets -7'. Copy into your weekly status email.

The agency-specific upsides

What we built because agencies asked

The product exists in part because four different consulting teams kept emailing us with the same feature requests.

  • Audit log retention

    Hosted plan keeps your audit log for 90 days. Self-host: forever. Compliance answers stop being a 'I'll check our notes' email.

  • Read-only client seats

    A client can see their own project's audit log without being able to add a connection or change a key. Useful for SOC2 evidence too.

  • One bill, many projects

    Hosted plan is per-user, not per-connection. Add as many client Supabase projects as you want, your bill scales with your team, not your client list.

We've had agency users go from "separate Studio for every client" to "one workspace, one login" in an afternoon. The migration is painless because nothing about your clients' Supabase projects changes; you just point our admin tool at each one, and you're done.

Consolidate the tabs.

Five minutes to your first client connection. Hosted is per-seat, so unlimited connections cost the same.