Licensing
How the Brainwrite license, the open-source core, and the enterprise edition fit together.
The Brainwrite license
Brainwrite is sold as an annual license, not a subscription: $550 (₹53,000) covers your first year, and renewing after that is $225 (₹22,000) per year. There are no seat limits or usage limits. Brainwrite stops working when your license expires; renew any time to keep using it. See Pricing for the current terms.
Source licensing
The Brainwrite codebase has two layers:
- Core — licensed under Apache 2.0. Everything outside the
enterprise/folder: the desktop app, harness, companion sidecar, and iOS companion source. enterprise/— source-available under the Brainwrite Enterprise License: you may read, build, evaluate, and modify it for evaluation, but production use requires a license key issued under a separate agreement, and redistribution or offering it as a service is not permitted. Delete the folder and you have the open-source edition.
Editions
The server reports its edition at GET /api/edition:
| Edition | How it is selected | What you get |
|---|---|---|
oss | No BWB_LICENSE_KEY, or a missing, altered, or expired key | Core features. The response includes a notice explaining what to fix. |
enterprise | A valid, unexpired BWB_LICENSE_KEY in the server environment | Core plus the entitlements named in the key. |
A missing or invalid key never stops the server — it runs the open-source edition.
How license keys work
An enterprise key is omb1.<claims>.<signature>: the claims are visible JSON (customer, entitlements, issue and expiry dates) signed with an Ed25519 key whose public half is baked into the app. Verification is fully offline — no phone-home, no license server — and the key never leaves the server process: it is not sent to the renderer, the iOS companion, or any cloud service. One build serves every customer; the key decides the feature set.
Enterprise entitlements
| Entitlement | Grants |
|---|---|
whitelabel | Product name, tagline, accent colour, logo, and support link from brand.json |
sso | Identity-header trust behind an OIDC proxy |
admin | Admin panel routes |
budgets | Per-bot and per-section spend limits |
In active development
The enterprise entitlements above are in active development and roll out incrementally. Keys can be issued ahead of a feature landing — unknown entitlement ids are carried in the key and start working when the feature ships.
White-label
A licensed deployment renames and recolours itself from a brand.json file that lives on the server — not in the codebase, so it stays customer data. It sets the product name, an optional tagline, an accent colour, a logo, and a support link, and takes effect on the next reload with no rebuild.
Packaging-time details — the desktop app's bundle and menu-bar name, installer names, macOS permission prompts, and the iOS app's name — are a separate, per-customer packaging job rather than something brand.json can change.
Getting an enterprise license
Enterprise licensing (white-label deployments, SSO, admin controls, and spend budgets) is arranged under a separate agreement. Contact [email protected] to discuss licensed features, seats, and term.