Licensing
Synth is source-available and self-hosted for private paid deployments and time-boxed demo/pilot evaluations. There is no no-cost public tier. Pricing and commercial terms are handled directly with Synth KB.
Simple Version
- Demo / Pilot: time-boxed evaluation access with the agreed scope.
- Team: shared project memory, team administration, and support.
- Business: governance needs such as SSO/OIDC, audit retention/export, remote backend encryption, support, and commercial terms.
License Keys
License keys are signed and can be applied in Global Settings, ~/.synth/license.yaml, or SYNTH_LICENSE_KEY.
License payloads can include:
license_kind:demo,pilot, orpaid.expires_at: an ISO timestamp, including UTC offsets such as+00:00.lock_on_expiry: whether normal product usage locks when the license expires.renewal_contact: where admins should ask for a renewal or replacement key.
Expiry And Locking
When a lock-on-expiry demo, pilot, or paid license expires, Synth blocks normal web, API, CLI, and MCP product usage. Projects, indexes, API keys, audit logs, license files, and user data are not deleted.
Locked API calls return HTTP 403 with a structured JSON body such as
license_expired, license_revoked, or license_invalid. We use 403 because
the request is authenticated but the current installation is not authorized by
its license state.
The lock page and tool errors use this customer-safe message:
Your projects and data are safe, but this installation is locked until a new license is applied.
Admins can sign in, inspect license status, and apply a replacement license while the installation is locked. A valid replacement unlocks the existing data in place.
Synth loads the saved license file first, then SYNTH_LICENSE_KEY. Each
self-hosted instance also has a stable instance_id stored under SYNTH_HOME.
Validation And Privacy
When license validation is configured, Synth posts the raw license_key and the
instance instance_id to the configured license server over TLS. The license
server stores only a SHA-256 hash of the license key at rest.
Validation does not send project data, document contents, questions, answers, provider keys, API keys, or user records.
If the license server is unreachable, Synth keeps the current local license state. If the server explicitly returns an invalid or revoked response, Synth locks normal product usage until a valid replacement license is active again.
Scope
These docs cover the self-hosted product. Synth Cloud is planned separately.