# Licensing A licence covers **the house as a machine**. Whoever is in the house is in the house: there are no seats, no per-user fees, no per-call fees. A house with one person and one agent costs the same as the same house with ten people and fifty agents. ## What you choose | Axis | Choices | What it changes | |---|---|---| | **Size** | `economy`, `premium`, `on-premise` | the machine and the local computation it carries; see `sizes-and-volumes` | | **Data volume** | additional volumes attached to a VM house | how much the house can hold | The doors (reader, author, modeller) are not tiers. Every house has all three, and a licence covers all three. ## What is metered and what is not - **Not metered:** calls, skills used, number of agents, number of people, number of keys. - **Metered, optional and planned:** a model service operated by core.blue, at the provider's token price plus a service fee. If you attach your own model or your own API key, core.blue meters nothing. See `plugging-in-a-model`. ## When a licence expires The house becomes **read-only**. The reader door keeps working; writes are refused with a message that says why. Nothing is deleted, nothing is locked away, export keeps working. A licence cannot be revoked; one that should end early is replaced by one with a shorter period. ## The licence file A house on a core.blue VM is licensed by its subscription. A house on your own hardware carries a small signed JSON document, conventionally `license.json`: | Field | Meaning | |---|---| | `format` | format version, 1 | | `house` | the house id, stable even if the house moves | | `licensee` | who holds the licence | | `issuedOn`, `validUntil` | the period, both days inclusive | | `edition` | `economy`, `premium` or `on-premise` | | `issuer` | `core.blue` | The signature is ECDSA over P-256 with SHA-256, over a canonical form of these seven fields. The house verifies it with core.blue's public key and never has to call home, which is what makes `on-premise` possible in networks without internet access. Renewing means placing a new file. The licence does not limit how much data an `on-premise` house holds. The format is specified so that it can be verified independently: a written specification and a set of test vectors exist, and a reader written from the specification alone, in another language, gives the same verdicts as core.blue's own. Reading the licence inside a house is planned; the house does not check one yet. ## Prices Call `pricing`: it returns the offer as data. A licence costs what the house costs; there is no separate price for the licence file. The price of `on-premise` is not yet decided. The terms are part of the same data: no minimum term, and a subscription ends with the month that is paid. ## Go deeper - [sizes-and-volumes](sizes-and-volumes.md) - [getting-a-house](getting-a-house.md) - [your-data-stays-yours](your-data-stays-yours.md) - [plugging-in-a-model](plugging-in-a-model.md)