Licensing
Install and renew an Enterprise Edition license key.
A self-hosted installation that runs the Enterprise Edition build (BOUEE_EDITION=ee, see editions) turns on its licensed features with a license key. This page is for the operator who installs that key.
The open-source build has no license settings and needs no key. Nothing on this page applies to it: there is no License section in Instance settings, no license notice and no seat limit.
Where the key goes
There are two places, and the environment wins.
| Where | How | Who can change it |
|---|---|---|
BOUEE_LICENSE_KEY | Set the variable to the whole key, then restart Bouée. | Whoever runs the server. |
| Instance settings → License | Paste the key into the field and select Save license key. | Any staff member. |
- While
BOUEE_LICENSE_KEYis set, Instance settings shows the key's details, but the field is read-only and there is no Remove button. To change the key, change the variable and restart. To manage the key from Instance settings instead, remove the variable and restart. - A key saved in Instance settings takes effect as soon as it is saved. Saving another key replaces it.
- Removing a saved key turns licensed features off on every workspace at once, with no grace period. Instance settings asks you to confirm first.
Only staff see the License section. Workspace owners and agents never see the key or its details.
What each status means
Instance settings → License shows the status in words, with the customer, plan, features, expiry date (with its time zone), license ID and seats.
| Status | What it means | Licensed features |
|---|---|---|
| No license | No key is set. | Off |
| Valid | The key is genuine and has not expired. | On |
| Expiring soon | Valid, and it expires in 30 days or fewer. | On |
| In grace period | It expired less than 14 days ago. | On |
| Expired | It expired, and its 14-day grace period is over. | Off |
| Invalid | The key can't be used. Instance settings shows the reason, for example a key that was not pasted whole. | Off |
Save a renewed key before the old one expires, or during its grace period, and nothing stops working. After the grace period, saving a new key turns licensed features straight back on.
Data is never deleted. When licensed features turn off, whatever was stored under them is kept, and it comes back when a valid key is in place.
Seats
A license covers a number of agent seats, or states no limit. Each agent holds one seat: a person who belongs to at least one workspace, however many workspaces that is. Instance settings shows how many seats are in use and how many the license allows.
The limit is soft:
- Add member refuses someone new once every seat is taken. The owner is told how many seats are in use and how many the license allows, and is pointed to Instance settings → License. Someone who is already an agent in another workspace can still be added, because they already hold a seat.
- Signing in and joining are never refused. An address on a workspace's allowlist, on
AGENT_EMAIL_ALLOWLISTor onOWNER_EMAILSstill signs in and joins as usual, even with every seat taken. That can take the count past the license's seats. Nobody loses access, and staff see a notice until the count is back within the license. - Without a usable license there is no seat limit. Nothing is enforced while there is no key, or while it is expired or invalid: the licensed features are off then anyway.
To bring the count back within the license, remove members from their workspaces, or renew the license with more seats.
Notices
Staff see a banner at the top of the console, in every workspace they open, when:
- the license expires in 30 days or fewer;
- it is in its grace period;
- it has expired, or its key is invalid;
- more agents hold seats than the license allows.
Each banner links to Instance settings → License, which shows the same banners. Agents and workspace owners who are not staff never see them. A workspace owner sees the seat limit only on Add member, when every seat is taken.
Audit trail
Saving or removing a key in Instance settings is recorded as License key saved or License key removed:
- in the audit log of every workspace, because the license covers all of them;
- on the server console, as a
[platform]line naming the customer and the staff member who made the change.
Each event records what the key states: the license ID, customer, plan, features, seats and expiry. It never records the key itself.
A change to BOUEE_LICENSE_KEY happens outside Bouée, so Bouée does not record it. Keep that in your own change records.