Skip to content
Air-Cloud docs

How the platform works

Air-Cloud is the backend you build a product on without leaving it. Data, end-user sign-in, functions, releases, mail and the public front door come already wired together, and one CLI, aircloud, drives them from a product directory in a conventional shape. The point is the integration: the pieces know about each other, so you write your product, not the glue between services.

This page explains the ideas the other guides assume. Each section links to the guide that puts it to work.

Your account, your products, and their tenants

The organization tree

Inside a product, your end users live in an organization tree that you shape: nodes with paths such as /org, /org/staff and /org/customers. Each end user holds a membership homed at a node, with role keys from your vocabulary; one person may hold several, each at its own node.

The tree decides what a request reaches. By default a session reads and writes the records of its node and of every node below it, and manages members at or below its node, conferring only roles it holds itself. An entity can narrow that to the records each user owns, open records kept higher up for reading, or hide and freeze fields record by record. Profiles, grants, groups and denies add roles at other nodes or take them away. The platform reads all of it on every request, never from the token (How authorization works, Owner and shared entities, Members, roles and registration).

Every request acts at one node

Whatever starts it, a request acts at exactly one node, and what it reads, writes, sends and is billed for is at that node:

A route or trigger with no end user must declare its org_path: aircloud check refuses one without it (route.org_path_required, trigger.org_path_required). Writing org_path = "/" is the explicit choice to act at the root, over every customer; nothing defaults to it. A function may then narrow to a node below the one it was declared at — a nightly sweep declared at a parent visits each client in turn — and never widen (The acting node and elevation).

Staff and customers

Your product's end users are not you. Your Builder identity runs the product; your end users use it. Even your own first admin account in the product is a separate end-user identity, invited at your declared admin node.

Among end users, a common split is staff — people who run the product with you — and customers — people who use it. aircloud generate authentication writes that convention: roles admin, staff and customer, a base profile for each, admins at /org, staff invited, and, with open registration, customers signing themselves up at /org/customers with the customer role. Staff are not owner-scoped by default, so they see every customer's orders while each customer sees their own (Members, roles and registration).

B2B2B: your clients get the same structure

If your product serves other businesses, each of your clients is a node of the tree, such as /org/acme, with an admin of its own who invites and manages Acme's people below that node. Acme's people see Acme's data and never another client's, because the tree, not your code, draws the line. You pass the platform's structure on to your clients instead of rebuilding it: that is what B2B2B means here.

A client node comes into being in one of three ways:

The client's admin can in turn manage Acme's own sub-nodes, profiles, groups and denies, the same way you manage yours, and never above Acme's node. Archiving a client's node suspends everything acting there until you unarchive it.

The motors you meet

The platform is built from a set of engines, called motors. These are the ones a product uses today:

Other motors are planned and not available yet: object storage (Air-Blob), analytics (Air-Insights), outbound connectors (Air-Connect), declarative automation flows (the flow generator is reserved and refuses), and billing your own customers through your own payment provider.

Plans and allowances

Every product runs on a plan. The plan declares, per metered action, how much is included and what happens past it: the action is refused with a typed error, or a warning to upgrade is raised, or the overage is counted, as the plan declares for that action. Your account's first products draw a free allowance.

Mail is one such action. A free monthly allowance of 100 platform mail recipients per product is planned: today the default plan includes no mail sends of its own. The sign-in and verification mail the platform sends to your end users is not one of your sends and will not count against that allowance.

Sovereign infrastructure

Air-Cloud runs on infrastructure the platform operates itself, not resold from a cloud provider: its own servers, its own keys, its own mail egress. For you it means the platform is not reselling another provider's services at a margin, which is what lets it bundle everything into one product, and that the keys signing what you install are held by the platform alone (Installing and verifying the CLI). You do not need to do anything about it; it is what makes the all-in-one affordable.