Skip to content

Document Reader SDK Licensing


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:

Works offline
Works online
Mobile OS
Application ID-based (each app is licensed)
Web components (domain name licensing)
Desktop/Web Server
Containerized solutions/Linux
Client only (one working place is licenced)
Online automatic renewal
Offline manual renewal

Online Licensing Service

To verify eligibility of the online license, Regula licensing service is used. It is available via the Internet by the encrypted connection (HTTPS, port 443).

Domain name IP address Description
main service backup service, used if the main one is temporarily unavailable

Obtain or Renew License

Demo License

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.

Online Renewal

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:

Offline Renewal

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:

  • MLxxxxx
  • SLxxxxx
  • HLxxxxx

ML: Mobile Licensing

  • 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

How It Works

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.

OL: Online Licensing

  • 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 Regula licensing service is mandatory
  • Instance-based or transaction-based licensing
  • Works online, Internet connection availability required

Instance-Based License

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.

Transaction-Based License

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.

How It Works

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.

Development Version Token

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.

Domain Name Licensing

  • Online license linked to a domain name
  • For web components running on web pages in browsers
  • Transaction-based
  • 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
* 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.

SL: Software Licensing

  • Works offline
  • For Desktop/Web Service on Windows only

How it works

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.

To get a license, reach our sales team and send the .sysinfo file generated by the Regula Licensing application. To get the .sysinfo file, follow this guide.

HL: Hardware Licensing

  • For Regula and third-party hardware devices
  • Works offline

How it works

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:

To update the license, follow the License Update Guide.

For more information on functionality and pricing, see Regula SDK Licensing Models.

Next Steps