Skip to content

Tenancy and identity

How each customer's agent stays inside that customer's records, name and accounts, and how a customer and a builder reach it.

Each customer's Agent lives in that customer's Tenant: its records, Memory, accounts and approvals stay inside it. The Startup builds the agent; the Customer owns what it does.

One Tenant, one agent

Tenant.provision creates the Tenant when the Customer accepts, and Agent.mint creates the agent inside it. The agent addresses that Tenant's records and no others, so Harbor Residential's agent cannot list Riverside Property's leases.

Belongs to the TenantWhy it matters
Records the agent reads and writesAnother Customer's agent never sees them
MemoryWhat the agent learns about one portfolio stays with it
Integrations at Customer scopeThe agent signs in to the Customer's own email and calendar
ApprovalsThe Customer's people answer them, never the Startup's
The MailboxReplies return to the same agent and the same Tenant

Onboarding a customer walks the first hour of a new Tenant.

Whose name it writes in

The agent writes in the Customer's name, from an address on the Startup's Domain: renewals@harbor.leaseline.app. Its first message in each conversation says it is an AI agent and which business it acts for, worded per market by AI disclosure.

The address is a Mailbox with its tenant set, so its history belongs to that Tenant and moves with no other Customer's mail.

Whose accounts it uses

The agent reaches outside accounts through Integrations the Customer connects at its own scope. Integration.connect asks the Customer's admin to approve each grant, and the token goes to Secrets, where no Worker reads it.

The Customer's credentials never mix with the Startup's or with another Customer's. Revoking an Integration stops the agent's calls through it at once, and every record it brought in stays.

Two planes

A customer and a builder reach the same agent through two different front doors.

As your customerAs the builder
Hostapi.leaseline.appapi.sb/leaseline.app
Packageleaselinestartup-builder
Keyleaseline_sk_live_…, issued in the PortalThe builder's own key
ReachesOne Tenant: its agent, Tasks, Actions and ApprovalsEvery Tenant, the product, its Offers and Versions

A customer's code and agents never see api.sb or the startup-builder package. Your customers' API keys covers the customer's keys.

Who answers for it

The Startup answers for the product: its Role, its eval cases and every Version. The Customer answers for what it points the agent at, within acceptable use. Approvals per customer shows who says yes to what.