Back to DocsAccount & Team

Client Accounts & Multi-Tenancy

Manage multiple client accounts under one agency — separate data, shared team.

Table of contents

Overview

DealOracle supports multi-tenant architecture designed for agencies and teams that manage multiple clients. Each client gets their own fully isolated data space — leads, integrations, conversions, and analytics — while your team manages everything from a single login.

Key Benefits

  • One login, many clients — No need for separate accounts per client
  • Complete data isolation — Client data never mixes, enforced at the database level
  • Independent integrations — Each client can have their own ad platform connections
  • Per-client analytics — Dashboards, reports, and metrics are scoped to the selected client
  • Scalable — Add as many client accounts as your plan allows

Creating Client Accounts

Setting up a new client account takes just a few steps:

Steps

  1. Navigate to Settings → Clients
  2. Click Add Client
  3. Fill in the client details:
    • Client Name (required) — The business or client name
    • Industry (optional) — Helps with benchmarking and reporting
    • Contact Name (optional) — Primary point of contact
    • Contact Email (optional) — For client communication
  4. Click Create Client

Once created, the client account is immediately available with:

  • Its own data silo for leads and conversions
  • A dedicated API key (generate from Settings → API Keys)
  • Empty integration slots ready to connect
  • Its own analytics dashboard starting from zero

Switching Clients

Use the client selector in the sidebar to switch between client accounts.

How It Works

  1. Click the client name / dropdown in the top of the sidebar
  2. Select the client you want to view
  3. The entire application updates to show that client's data:
    • Leads — Only that client's leads
    • Integrations — Only that client's connected platforms
    • Analytics — Metrics scoped to that client
    • Settings — Client-specific configuration

If you manage many clients, use the search bar in the client selector to quickly find a client by name.

Default Client

Your most recently viewed client is remembered between sessions, so you'll land on the same client when you log back in.

Data Isolation

Data isolation is a core architectural principle in DealOracle. Every piece of client data is protected by Row-Level Security (RLS) at the database level.

What This Means

  • Leads — Each lead belongs to exactly one client. You cannot view, edit, or query leads across clients.
  • Integrations — OAuth tokens and platform connections are per-client. Disconnecting one client's Facebook integration has no effect on other clients.
  • Conversions — Conversion events are scoped to the client. Analytics only reflect that client's data.
  • API Keys — Each API key is bound to a client. Requests using that key can only access that client's data.

Security Guarantees

  • RLS policies are enforced at the database level, not the application level — there is no way to bypass them through the API
  • Even if a bug existed in the application code, the database would prevent cross-client data access
  • All queries are automatically filtered by the authenticated client context
#accounts#agency#clients#multi-tenancy