One desk for you, a locked room per client.
Agency mode partitions everything by client — at the data layer, not as an interface filter. Lakeside never sees Verde, and neither do Lakeside's logins. It ships with every plan and is part of the trial; the Agency plan adds the volume.
How scoping works
Every scopable resource — monitors, scheduled jobs, incidents, status pages, alert plans,
playbooks, reports — carries a client assignment. Your own view aggregates: switch to
“All clients” for the Monday sweep, drop into one client when the phone rings; the
whole product re-scopes, including the cost meter. Create forms carry a client picker; via API,
list endpoints accept client_id or
all_clients=true, and resources are created into a client
by setting client_id. Company-level (no client) remains
the default — nothing changes until you assign.
Share links: transparency without seats
A share link opens a read-only view of exactly one client's world — current status, history, incidents. No account, no seat, no password-reset ticket. Revocable instantly, per link. Manage them in the client view or via the clients API.
Client logins, if you want them
Optional, read-only, scoped strictly to that client's data — with a per-client kill switch. Most agencies skip logins entirely and send a share link instead.
White-label
Status pages use a client-specific hosted URL and scheduled reports carry your logo — monthly SLA evidence that lands pre-documented in their inbox. We stay in the engine room.
Templates and batch import
New client signed? Apply a client template: monitors, status page, alert plan — materialized in one step (client-templates). Moving an existing fleet in is a paste into the batch import — or the API recipe.
Costs per client
The product shows what each client's monitoring actually costs, to the cent — usage is attributed to the client on the ledger, so your retainer maths runs on numbers, not vibes.
Via API
clients ·
client-templates — and
every scopable resource accepts client_id. API keys can be
narrowed to a client set (allowed_clients), so a
per-client integration can never read across the wall.