License usage data

OpenFin collects a set of information to determine usage of OpenFin software, including hardware (desktop/machine) and software (app config) data points. Additional information is collected for Workspace deployments.

By default, the RVM sends this data to an OpenFin server for analysis. You can define an alternative license relay service (LRS) to collect it via the lrsUrl setting in Desktop owner settings or the Windows registry.

License data for all deployments

The following data is routed to OpenFin about license usage for all deployments:

  • License key: Unique identifier for your OpenFin license

  • Machine ID: Non-personal, anonymous unique ID for the machine and user account

  • App ID: URL of the application manifest file

  • Startup URL or Platform URL: (in RVM 7.1 and later) Value used for startup_app.providerUrl or platform.providerUrl in the application manifest file.

  • Content URL: (in RVM 7.1/Runtime 26 and later) The URL specified in window.options when a window is created via a fins: link.

  • App events: Launch and close time of application (UTC)

  • Runtime environment: Runtime, RVM, and operating system versions

  • Adapter type and version: (in RVM 9 or later) If a .NET or Java adapter is used, its type and version

  • Public-facing IP address: Public facing IP address of the network request as seen by OpenFin servers. This is used to estimate the company where the information has been sent from. It is the public IP address attached to the request, or if an LRS is being used, the public IP of the LRS. It is not the end-user desktop IP address.

Unique user API

The objective of license reporting is to identify the number of unique end users of an application in a given month. If an application is regularly used by a single user from multiple machines, there is an extension to the OpenFin API to allow an application owner to map a set of machines to a single logical user. The following method in the JavaScript API allows your applications to map your unique user identifier to a machine ID:

const app = fin.desktop.Application.getCurrent()
   app.registerUser(
    userName, 
    appName, 
    function(){console.log("Success")}, 
    function(err){console.log("Failure")}
    )
  • userName(string): username to be passed to the RVM.

  • appName(string): app name to be passed to the RVM.

  • @param(Function) [callback]: called if the method succeeds.

  • @param {Function} [errorCallback]: called if the method fails. The reason for failure is passed as an argument (err).

This method requires:

  • Runtime 8.56.27.75 or greater

  • RVM 3.8.2.1 or greater

Workspace license data

For deployments of OpenFin Workspace, the RVM collects the following data:

  • UUID of the Workspace platform

  • Manifest URL of the Workspace Platform

  • Version of the Workspace API used

  • Version of the Workspace component used

  • Runtime arguments

  • Hash of user name

  • Operating system version

Reporting license usage

On a monthly basis, OpenFin reviews automated license usage data for each application provider. We review designated application configuration URLs to identify desktops using their apps in a production environment. A desktop computer is counted in any given month if a machine used the OpenFin Runtime for at least one application of an application provider. If customers exceed their monthly license agreement, they are billed quarterly in arrears.

As of May 2022, billing for OpenFin Workspace usage does not depend on license data.