In Axinom DRM, you can pay per generated DRM licenses or per monthly active users. To use "per user" model, you have to pass a unique user identifier with each license request.

DRM billing models

For Axinom DRM ( Managed Service) Axinom offers two billing models:

  • Generated Licenses

  • Active Users.

The default model is Generated Licenses, but you can change it any time by raising a support request. The change is effective from the first day of the next month.

How Monthly Billing Works

  1. For every successful delivery of a DRM License, a log entry is created. If a user ID was received with the respective DRM License Request, the user ID is part of that log entry. When using the Active Users billing model, submitting a user ID is mandatory. For billing, all log entries that were created during the month in question are considered.

  2. If the billing model is "Generated Licenses", the invoice is based on the number of log entries (= Generated Licenses).

  3. If the billing model is "Active Users", the invoice is based on the number of distinct "user IDs" in the log entries.

Implementing the Active Users Billing Model

For the "Generated Licenses" billing model you don’t need to do anything special.

The "Active Users" billing model requires a bit of a technical implementation on your side. Every Entitlement Message that you submit as a part of a License Request shall carry a unique "user_id" string. You can specify this user ID inside the session/user_id element.

Example of an Entitlement Message containing an element session/user_ID
	"type": "entitlement_message",
	"version": 2,
	"license": {},
	"content_keys_source": {
		"inline": [
				"id": "7459975d-b2f8-48ed-a325-56e4f34d19c7"
	"session": {
		"user_id": "713EE6B0-F38C-4EA8-AA0E-C785447AE666"

Please consider the following when using the Active Users billing model:

  • The exact content of the user_id string doesn’t matter for the License Service, as long as the values are unique for each user. For example, you can use a GUID, such as 713EE6B0-F38C-4EA8-AA0E-C785447AE666

  • If you request the Active Users billing model but don’t implement passing a user_id, you will still be billed based on the Generated Licenses

  • You have to pass a different value for user ID for each user of your system. It is fine to use the same user ID on different devices if they are used by the same user. But it is not allowed to pass the same user ID value for different users

  • You have to use the current version (v2) of the Entitlement Message schema with the Active Users billing model. The legacy Entitlement Message v1 does not support this billing model.

For privacy reasons, we recommend the user_id field’s value to be anonymized, i.e., to use a value that on its own would not reveal any details about a user. This can, for example, be achieved by applying a hash function with a reasonably long hash salt to your internal user IDs and using the output of that hash function in hex encoding as the value for the user_id field.

When to Use which Billing Model?

It depends on what is easier for you to estimate: the number of users of the system or the number of licenses they will request while using the system. In many cases, the number of licenses is roughly the same as the number of video playbacks. If you have registered users who generate a lot of playbacks, you can likely benefit from using the Active Users model.

You can also simply start with the Generated Licenses model and switch to the Active Users model later when the need for it arises.

The final choice is yours!