Organization
An Organization is the platform's administrative boundary: it defines billing, identity, and resource ownership. Equivalent to an account or tenant on other platforms.
Structure
Each Organization has:
- a unique
slugand display name; - an active
plano(Starter, Pro, Business, or Enterprise contract); - a reserved monthly AI token quota;
- optionally a
verticalthat filters available AI agents; - a list of members (users) and API keys;
- Projects, Domains, mailboxes, and files;
- an associated Stripe subscription and invoice history.
Isolation
An Organization's resources are isolated from other customers:
- files live in sandboxed directories under
/var/lib/tessera/files/<tenant_id>/, with path validation and per-Organization quota; - access JWTs carry
tenant_idand the API rejects calls that attempt to access another Organization's data; - API keys are scoped to one Organization — there is no mechanism to authorize a key across multiple.
Platform operators have separate administrative access for support and billing. Every administrative action is recorded in the audit log.
Roles
The current role model is fixed:
admin— platform operator. Not assigned to customers.gestor— Organization owner. Can invite members, change plan, cancel subscription, and manage API keys.cliente— member. Can create Projects, manage resources, domains, email, and files. No access to billing or other members.
Custom roles with granular permissions are planned. Today, additional separation is achieved by creating separate Organizations.
API keys
Each key has:
- mandatory scope, e.g.
agentes,proxy-ollama; - optional expiration date;
- visible prefix and hashed secret. The secret is returned only at creation time;
- last use and last IP recorded, shown in the console.
curl -X POST https://tesserra.io/api/tenants/atual/api-keys \
-H "Authorization: Bearer $TESSERRA_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "nome": "ci-build", "escopo": "agentes" }'To invalidate a compromised key, use the revogar action. Revocation is immediate; usage history is preserved for audit.
Billing
Each Organization has one active subscription at a time, processed via Stripe in BRL, USD, or EUR. Token overage is reported as an additional invoice line item. Details in Plan, tokens, and quota.