Security & Privacy

Built to hold
as little as possible.

We designed Tenant Launcher around one principle: if we don't have it, we can't leak it. Your Microsoft credentials never touch our servers. Your client sessions never leave your browser.

What we never collect

Your credentials stay where they belong.

There's no password field anywhere in the extension or desktop app. We built it this way intentionally.

🚫

No Microsoft passwords

We never ask for, store, or transmit your Microsoft 365 passwords. Sign-in happens directly on Microsoft's own pages.

🚫

No Microsoft access tokens

Authentication tokens stay inside your browser, bound to each tenant's isolated container or browser profile. They never reach our servers.

🚫

No session data

We have no visibility into your Microsoft sessions. We can't see what you're doing inside admin portals — and we designed it that way.

What we actually store

Only what's needed to run the product.

Here's every piece of data we store and exactly where it lives.

Data Where it lives Encrypted Notes
Microsoft passwords Nowhere Never collected We never ask for them
Microsoft session tokens Your browser only Browser encrypted Isolated per tenant container/profile
Client company names Your device + our database Encrypted at rest Stored in Supabase (PostgreSQL)
SharePoint domain slugs Your device + our database Encrypted at rest e.g. "contoso" from contoso-admin.sharepoint.com
Vault links (IT Glue etc.) Your device + our database Encrypted at rest URL only — we never access the vault
Account email Our database Encrypted at rest Required for login and billing
Subscription status Our database + Stripe Encrypted at rest Plan, seat count, billing period
Activity logs (Enterprise) Our database Encrypted at rest User, tenant name, portal type, timestamp

Session isolation

Every tenant gets its own isolated session.

The core security guarantee: opening Contoso's admin portal can never affect Fabrikam's session. Here's how that works.

🦊

Firefox — Multi-Account Containers

Each tenant gets a dedicated Firefox container. Containers are completely isolated — separate cookies, separate sessions, separate storage. This is Firefox's own native isolation system, not a workaround.

🖥

Desktop App — Isolated Browser Profiles

Each tenant gets its own fully separate browser instance (--user-data-dir) keyed by an immutable ID. Sessions can't bleed between tenants. Deleting a tenant wipes its local browser data. The app launches the browser — it never reads cookies, tokens, or anything inside those profiles.

👤

You click a portal

One click in Tenant Launcher

📦

Isolated container / profile

Completely separate session for that tenant

🏢

Microsoft 365

Sign in once, stay signed in — always to the right tenant

Infrastructure

Built on trusted, audited platforms.

We don't run our own database servers. We use established, SOC 2 compliant infrastructure.

🗄

Supabase (PostgreSQL)

All tenant data and account information is stored in Supabase — an open-source Firebase alternative built on PostgreSQL. Data is encrypted at rest and in transit. Row-level security policies ensure users can only access their own data.

💳

Stripe

All billing is handled by Stripe — a PCI DSS Level 1 certified payment processor. We never see or store your card details. Payment information goes directly to Stripe.

🔒

Encrypted in transit

All communication between the extension, desktop app, and our backend uses HTTPS/TLS. No data is ever transmitted in plain text.

Desktop App — Technical Detail

How the desktop app protects your data.

For Chrome, Edge, and Brave users. Every security decision is intentional.

🔐

Microsoft credentials — we never see them

The app never handles customer tenant credentials at any point. Techs sign into Microsoft inside Chrome, Edge, or Brave directly on Microsoft's login page. The app just launches the browser pointed at the right isolated profile — it never reads cookies, tokens, or anything inside those profiles.

🗂

OS-level session encryption

Browser sessions live in the browser's own profile storage, encrypted by Chromium using OS-level protection — DPAPI on Windows (tied to your Windows user account), Keychain on macOS. The same protection your browser uses for saved passwords. We never touch that storage.

🔑

Your Tenant Launcher session — encrypted at rest

After sign-in, your Supabase session token is encrypted using Electron's safeStorage before touching disk — DPAPI on Windows, Keychain on macOS. Not a key baked into the app — actual OS-level encryption tied to your user account. Your password is sent over TLS to Supabase Auth and never written anywhere.

🔗

Vault links — just URLs, nothing more

If you attach an IT Glue or password vault link to a tenant, we store only the URL string. We never fetch, crawl, or read what's behind it. Clicking it opens your browser — whatever authentication your vault requires happens there, entirely outside Tenant Launcher.

🗑

Delete a tenant — delete its data

Deleting a tenant from the app also deletes its isolated browser profile from your machine — cookies, sessions, cached data, all of it. Nothing lingers. This works across Chrome, Edge, and Brave.

📋

Minimal data by design

Per tenant we store exactly: a display name, a SharePoint domain prefix, an optional vault URL, and a sort order. No customer credentials, no customer data, nothing from inside the tenant. In transit it's TLS to Supabase — at rest it's scoped per-account by row-level security.

Enterprise

Full audit trail for compliance-conscious MSPs.

Enterprise accounts get a complete activity log — every portal access recorded for accountability and compliance reporting.

Access control

Your team, your rules.

Enterprise accounts give the company owner full control over who can access what.

📧

Invite by email

Invite technicians by email. They receive a secure invitation link and set their own password — you never share credentials.

🔑

Seat-based access

Each technician uses their own Tenant Launcher account. Access is tied to your company subscription — not shared passwords or shared accounts.

Instant revocation

Remove a technician from your team dashboard and their seat is freed immediately — they're dropped from your team and lose Enterprise access.

Ready to get started?

Join MSPs who use Tenant Launcher to manage their clients securely. Free to start — no card required.