Licensing
Profinity uses an offline, signed licence file to control which commercial features and components are available on an instance. Profinity has no activation service and makes no online licence check, because it is designed to run on remote or air-gapped edge machines. Licensing works from a file placed on the instance, and Profinity validates the file's signature locally. To apply a licence file, refer to Apply a licence, and to read the licence state of an instance, refer to License manager.
A licence sets the most that an instance can use.
A component is available only when the licence, the original equipment manufacturer (OEM) customisation file (custom.yaml), and the site configuration (config.yaml) all allow it.
Refer to Choose available components.
A licensed feature is controlled by the licence alone, apart from scripting, which config.yaml can also switch off.
Configuration toggles can narrow what the licence permits, but never grant more.
What each edition includes
Not every feature described in this documentation is available on every instance. The features ticked in every column are available in every edition, including an unlicensed instance, and a licence adds the rest. In the tables in this section:
- means the feature is included.
- means it is not included.
- Add-on means it is licensed separately.
Features by edition
The first eight rows are included in every edition. Each edition also includes everything in the edition before it. The remaining rows differ by edition:
- Unlicensed: none of the remaining rows are included.
- Desktop: adds Scripting, Custom components, Custom plugins, Historians, and Themes and branding, and has Industrial Protocols and the SDK as separately licensed extras.
- Server: adds Tag Rule Actions, Data Relay, Two-Factor Authentication, Profinity AI, and Profinity Server, and has the same two separately licensed extras.
- Enterprise: adds Enterprise Security, so only the two separately licensed extras remain.
- Unlicensed is the state of a Desktop installation with no licence file, and of any instance after its 14-day local trial expires. Unlicensed Desktop use is limited to personal, non-commercial purposes, as described in Desktop free-use policy.
- Without Profinity Server there are no user accounts or roles, and Users & Groups is not shown. A Desktop installation runs as a single built-in admin user.
- Kiosk Mode is included in every edition. It signs a display in as an enabled Profinity user, and a dedicated kiosk user is created in Users & Groups, which needs Profinity Server. Refer to Kiosk Mode.
- Themes and branding are not included for an unlicensed instance.
The instance keeps its
theme.yamlfile but shows the default Profinity appearance until a Desktop or higher licence is installed. - The 14-day local trial and sales evaluation licences include everything in the Server edition, but not Enterprise Security. Refer to The 14-day local trial.
- Add-on means something licensed separately from the edition, available on any commercial edition. Industrial Protocols is a component group that needs the matching plugin installed as well, and the partner hardware component packs are licensed in the same way as component groups. The Profinity SDK is a developer kit that Prohelion supplies on request.
- Pages for licence-dependent features carry a Licence required note at the top. The License manager in the product is always the authority for your instance, because configuration can further narrow what a licence allows.
Remote web access needs a Server licence
A Desktop host without a Server licence listens for web connections on 127.0.0.1 only.
The web interface and API can then be reached from the same computer and not from another one.
Profinity does this whatever is entered under Profinity Web, and records a message beginning "Remote web access requires a Server license" in the Profinity log.
A server installation is different: it stays reachable on its configured address when its licence is missing, expired, or not valid, so you can replace the licence from a browser.
Until you do, it runs in restricted mode.
If you cannot reach Profinity from another computer, check the licence on the License page before you change the address or the firewall.
Opening the web interface from another machine, and creating user accounts and roles, need the Profinity Server licensed feature, which the Server and Enterprise editions include. Local access on the same machine needs no licence. A new installation that is not a Desktop host starts a one-time 14-day local trial with the Server features. When the trial ends, the installation runs in restricted mode until you apply a licence file under ADMIN > License. For who can sign in on each installation type, refer to Who can sign in, by installation type. Production use of Profinity Server on Windows, Docker, Linux, or macOS needs a licence from Prohelion; contact Prohelion through the Prohelion contact page.
The 14-day local trial
A Profinity instance that has never had a licence applied issues itself a one-time, 14-day trial on first startup. The installer build must have trial issuance enabled, and some OEM-customised builds do not offer the local trial. The trial:
- Needs no network access and no request to Prohelion.
- Runs for a maximum of 14 days from first startup.
- Grants the Server features, the same set as a standard
CommercialServer licence, but not the Enterprise-only features. - Is issued once per installation. Reinstalling or resetting the instance does not restart it, because Profinity records the trial against the instance fingerprint.
- Reports the state
Trialwhile more than 7 days remain, andExpiringfor the last 7 days. A signed trial licence file reportsTrialwhile more than 30 days remain. - Is not available on Desktop hosts, which have a separate free-use policy (Desktop free-use policy).
Before the trial ends, the Home screen shows an expiry notice that links to the License pill on the ADMIN page. When it ends, the installation runs in restricted mode until you upload a suitable commercial or extended evaluation licence.
When a licence is missing or has expired
An expiry date is final.
There is no grace period.
Profinity checks the date while it runs, so an installation that is never restarted still notices when its licence expires.
When the date passes, Profinity restarts itself once and starts with the state Expired.
Scripting, AI, custom plugins and the Extensions Web server are among the features that stop.
In the 30 days before a licence expires (the last 7 days of a local trial), the Home screen shows a notice with the days remaining and a link to the License page.
A server installation whose licence is missing, expired, not valid, issued for a different server or not supported by this release then runs in restricted mode:
- It stays reachable on its configured address, so you can still replace the licence from a browser.
- A banner on every page says why.
- Users with the Security administration permission can sign in, open the License page to upload a new licence, read the Logs, and change their own password. The side menu shows only ADMIN and LOGOUT.
- Other users can sign in and see a message that the licence needs renewing, and nothing else.
- Every other page and API request is refused until a Server licence is applied.
Upload the new licence on the License page. Profinity restarts, the page waits for it to come back, and then it reloads with everything available again.
Use HTTPS where you can
Over plain HTTP, sign-in details are sent without encryption. Restricted mode works over HTTP, so a server that can only be reached that way can still be renewed, but the License page warns you.
A Desktop host does not run in restricted mode. It keeps the unlicensed feature set described in Desktop free-use policy.
Desktop free-use policy
An unlicensed Desktop installation is provided for personal, non-commercial use only and must not be used for commercial purposes.
Commercial use requires a purchased Desktop licence from Prohelion.
A Desktop installation does not need a licence for personal use, and does not issue or consume the automatic local trial described in The 14-day local trial.
It keeps the unlicensed entitlement set indefinitely.
It also shows a notice on the Home screen that explains the non-commercial-use restriction and directs commercial users to contact Prohelion to purchase a Desktop licence.
If a trial or commercial license.yaml is installed on a Desktop host manually, Profinity validates and applies it in the same way as on a server host.
A Desktop host that holds a Server licence also accepts connections from other machines and creates the default admin account, as a server host does.
The built-in desktop sign-in used by the application window still works from the same computer only.
Do not put a reverse proxy on the same computer in front of a Desktop host.
Requests that come through the proxy look as if they came from the computer itself.
Profinity refuses the desktop sign-in on a request that carries forwarding headers.
The safe set-up is to run Profinity as a server host behind the proxy instead.
The machine fingerprint
The fingerprint is a value computed from the installation itself, unique to that machine and Profinity install. It has two purposes:
- It ties a signed
license.yamlto one specific installation, so a licence file cannot be copied to another machine and reused. - It is the only piece of information an administrator needs to send to Prohelion to request a licence or evaluation. This keeps the process usable for edge machines with no internet access.
A licence is signed for one machine's fingerprint.
A licence issued for one instance does not apply to another.
Profinity rejects an upload of a licence issued for a different machine, and reports the state WrongInstance if such a file is placed directly in the licence folder.
The fingerprint is shown on the License manager, with a button to copy it.
Related documentation
- Apply a licence: upload or place a licence file on an instance.
- License manager: read the licence state, fingerprint, and licensed features of an instance.
- System Information: instance version and licence summary shown alongside other system details.
- Roles and Permissions: assigning the Security administration permission needed to manage licences.
- System Configuration: the site-level configuration layer that can narrow, but never exceed, what the licence permits.