This page covers Regula licensing models: Mobile, Online, Software, and Hardware.
- MLxxxxx — the Mobile License that works offline with the mobile SDK in mobile OS.
- OLxxxxx — the Online License works online and suits both the mobile SDK and web API on all supported platforms. Includes domain name licensing which applies to web components and gets bound to domain name(s).
- SLxxxxx — the Software License works offline with web APIs on Windows only.
- HLxxxxx — the Hardware License works offline with Regula and third-party hardware devices.
The peculiarities of the licensing types are summed up in the table below:
|Application ID-based (each app is licensed)|
|Web components (domain name licensing)|
|Client only (one working place is licenced)|
|Online automatic renewal|
|Offline manual renewal|
You can get an online demo license for all Regula products in one, valid for 30 days and 256 transactions. Go to the Regula Client Portal, create an account, navigate to the My Licenses section, and download your free trial license.
The license is renewed automatically via contacting the licensing service and does not require the app recompilation/republishing. Can be used for the following license types:
- MLxxxxx if configured
- OLxxxxx including domain name licensing
When the license period is about to expire, you receive a notification from us and an offer to get a new file and renew the license.
Can be used for the following license types:
- For mobile applications only
- Linked to the app/bundle ID and mobile platform
- Works locally on a device, offline
- Works for both native OS apps and cross-platform frameworks
An offline license file contains information about:
- licensed platform for use (iOS, Android, can be both in one license)
- licensed functionality
- licensed application ID / bundle ID (can be multiple in one license)
- licensed period (with specific expiration date)
The license file must be provided when the product is launched. If it matches the environment, everything will work for the licensed period until the expiration date.
If you have different app IDs for development and production environments, the license can cover them both.
- Mobile applications, web services, web components
- iOS, Android, Windows, Linux, containerized solutions, browsers
- For mobile applications, it is linked to the app/bundle ID and mobile platform
- For web components, it is linked to a domain name
- Connection to the Regula licensing service is mandatory
- Instance-based or transaction-based licensing
- Works online, Internet connection availability required
This license type includes active and passive instances. Transactions are performed from active instances. Passive instances may be configured as a backup but load balancers should not send any load to them until active instances become not operational. Otherwise, they will be counted as active.
Each worker counts as an instance. So, a setup of 3 machines with 2 workers on each requires a license for 6 instances.
You can use as many active instances as you need to maintain the load. The number of workers is not limited, only the number of the process requests counts.
When you use an online license, the application or web service contacts the licensing service at
lic.regulaforensics.com (and backup
lic2.regulaforensics.com) via encrypted communication (HTTPS, port 443) and sends requests for validation. The licensing service processes the request and responds with OK if the license is eligible, and with ERROR if not for any reason.
On the start of a worker process (instance), the licensing service is contacted, and a registration request is sent. Each worker process works in a single-threaded model. The number of workers is limited by available hardware resources.
For example, you have 1 web service deployed with 4 workers configured. In this case, if 4 requests come at the same time, they are processed in parallel and we count the number of active instances as 4.
On Windows, there can be only one worker running.
In case the online license is transaction-based, each time the functionality is used, every
/api/process call, the web service contacts the licensing service with a POST request. If the license is valid for this kind of request, the request gets logged, the OK response is provided, and the SDK returns the processing results.
In case the online license is instance/worker-based, heartbeats are monitored instead. Every hour the web service sends a heartbeat request to the licensing service providing the following information: license ID, session ID, IP address, product type and version used, and the timestamp. If the license is valid and the response is OK, the web service continues to perform. If the response is FAIL, the service stops returning processing results. Heartbeats continue and as soon as the license becomes valid again, the operation of the web service restores automatically. In case there is no Internet connection when the request is sent, the result is TIMEOUT.
If internet connection is lost, an instance-based license works 72 hours after that and then stops returning results. A transaction-based license without internet connection stops returning results immediately.
With an online license for the production version of your app, you can get an additional token — a license for development environment so you could develop and test your application.
The development version token works almost the same way as the transaction-based one, but there is a difference. Every image submitted for processing is counted by calculating and storing its hash. There is a certain limit of images that can be processed with the development version license.
As such licenses are usually used for automatic tests on the same specific dataset of images, the same images can be processed an unlimited number of times while there is a limit to the number of unique images.
- Online license linked to a domain name
- For web components running on web pages in browsers
- Renewed online
Web pages are running on specific domain names. Each domain name on which web components are used should be licensed. You can add a wildcard domain such as
*.customer-domain.com for use on any third-level domains.
When processing is performed, the web component sends a licensing request from inside the browser providing the Origin of the current domain. The licensing service verifies in our records that this domain is eligible.
- Works offline
- For Desktop/Web Service on Windows only
A license token is an encrypted file that you should put to a specific folder for the SDK to work. The license key is generated based on the .sysinfo file.
The .sysinfo file contains a set of programmatic and hardware identifiers (for example, the Windows serial number, motherboard serial number, MAC address, etc). The SDK checks the match of those identifiers as this info is also encrypted in the key.
If the target system does not contain the relevant information (the identifier is missing or was modified), the license key won’t allow the SDK to initiate and the Error message will appear.
- For Regula and third-party hardware devices
- Works offline
The license is bound to the unique identification number (UID) of the device. Information on all active licenses in encrypted form is stored in the database. When starting, the SDK reads the UID, checks its eligibility in the database, and allows licensed functionality.
The database devices.dat file is installed as a part of the SDK package. This file is common to all Regula and third-party hardware. The freshest database version is always available for download here: https://licensing.regulaforensics.com/containers/sdk_containers_all_file
To update the license, follow the License Update Guide.
For more information on functionality and pricing, see Regula SDK Licensing Models.