Skip to content

A real mailbox for every customer

If your product runs an agent per customer, each one needs its own inbox — isolated, encrypted, and independently revocable. Provision a mailbox per end-customer, scope a key to each, and manage them all under one tenant.

cURL
# Keys are issued from the dashboard, not over REST — the issuance surface is
# deliberately not agent-callable, so a leaked key can never mint or revoke
# another. To get one: Dashboard → API keys → pick the mailbox + a role
# (read / read_write / management) + an optional expiry → copy the sm_live_…
# secret (it is shown ONCE). Then set it for your agent and pass it as the
# Bearer token on every REST + MCP call:
export SAIRAPH_MAIL_KEY="sm_live_…"

Scope a key per mailbox, then send.

One shared inbox doesn't scale to many customers

A single mailbox shared across customers leaks data between tenants, makes per-customer revocation impossible, and turns one bad actor into everyone's problem. Building real isolation yourself means per-tenant mailboxes, per-tenant keys, per-tenant encryption, and suppression that doesn't bleed across accounts. Sairaph Mail gives each customer a separate, encrypted mailbox with its own scoped key, all administered under one account.

How it works

  1. 01Provision a mailbox per customer

    Create a mailbox for each end-customer on your managed domain as they onboard.

  2. 02Scope a key to each mailbox

    Issue a per-inbox sm_live_ key with the role each customer's agent needs and an optional expiry; revoke a single customer without touching the rest.

    Shell
    # Keys are issued from the dashboard, not over REST — the issuance surface is
    # deliberately not agent-callable, so a leaked key can never mint or revoke
    # another. To get one: Dashboard → API keys → pick the mailbox + a role
    # (read / read_write / management) + an optional expiry → copy the sm_live_…
    # secret (it is shown ONCE). Then set it for your agent and pass it as the
    # Bearer token on every REST + MCP call:
    export SAIRAPH_MAIL_KEY="sm_live_…"
  3. 03Keep tenants isolated

    Each mailbox is encrypted per customer, and suppression and limits are isolated per mailbox, so one tenant can't affect another.

  4. 04Administer across the fleet

    Use a management (sm_mgmt_) key for tenant-wide operations spanning the mailboxes you own, while each customer's agent stays scoped to its own.

  5. 05Grow without re-architecting

    Add mailboxes as you add customers; the per-mailbox model is the same at one or many.

Per-tenant calls

Issue a key scoped to one tenant's mailbox, then send and read on that mailbox — every tenant keyed and encrypted on its own.

Issue a per-tenant key
# Keys are issued from the dashboard, not over REST — the issuance surface is
# deliberately not agent-callable, so a leaked key can never mint or revoke
# another. To get one: Dashboard → API keys → pick the mailbox + a role
# (read / read_write / management) + an optional expiry → copy the sm_live_…
# secret (it is shown ONCE). Then set it for your agent and pass it as the
# Bearer token on every REST + MCP call:
export SAIRAPH_MAIL_KEY="sm_live_…"

Each mailbox is keyed and encrypted on its own.

What this leans on

The capabilities behind multi-tenant mailboxes.

  • Per-customer encryption
  • Scoped, expiring API keys
  • REST API
  • Native MCP server
  • EU data residency

Frequently asked questions

  • Inbox triage agent

    Run a triage agent per tenant.

    Learn more
  • Transactional notifications

    Send per-customer, idempotently.

    Learn more
  • For AI agent developers

    The contract your platform builds on.

    Learn more

Give every customer their own inbox

Scoped, encrypted, and independently revocable.

EU data residencyPer-customer encryptionNative MCP