Storing and Collecting Device Information: Tutorial and Best Practices

Published on: August 17, 2022
Last updated: July 6, 2023
LicenseSpring Guide
Table of Contents:

The transfer of device information from a user to LicenseSpring is secure and customizable. LicenseSpring provides options to allow customers the opportunity to limit the amount of device information sent to the backend. This tutorial addresses these privacy concerns and informs readers how to go about making these changes. This tutorial will mention required and optional information, how to omit the optional fields, and some differences caused by using a consumption-based license. 


  • Required and Optional Fields
  • How to Omit Optional Data from Being Sent to LicenseSpring
  • Usage Report
  • Device Variables
  • Consumption-Based License Differences

Required and Optional Fields:


  • First Activated Date
  • Device Operating System
  • SDK Build
  • Provided App Version
  • External IP Address
  • Virtual Machine Related Information (If the Vendor has VM Detection Enabled)
  • HardwareID


  • Device Hostname
  • IP Address
  • MAC Address

How to Omit Optional Data from Being Sent to LicenseSpring:

Optional data, by default, is already omitted. To add the optional data, you can create an ExtendedOptions object, and before passing it into your configuration, you can add certain info such as collecting the network information as shown below:

1 2 ExtendedOptions options; options.collectNetworkInfo(false);

For more information on what data can be collected, you can find it in the extendedoptions.h file located in include/LicenseSpring/ExtendedOptions.h.

Usage Report:

Any time a check, activation, deactivation or refresh is done, that information will be sent to the usage report page for your license, including the device information. You can also find out the basic usage information under analytics, which will display the information in a visual graph, although it will not show device specific information.

Usage Report UI

UI of Analytics

Device Variables:

Device Variables are key-value pairs, determined by the developer, that can be stored on the local computer, and sent to the LicenseSpring platform using sendDeviceVariables. This is useful for seeing information, specific to each device. For more details, please see Device Variables and Custom Fields.

Consumption-Based License Differences:

Due to the nature of consumption-based licenses, more data is transferred from the device to the LicenseSpring platform. Since consumption-based licenses adopt a metered model to their end users, this requires the device to inform the backend of the number of usages by the device. The server will return the total and the maximum consumptions on license checks. These allowances can be shared across all devices using the same license.

For more information regarding consumption-based licenses, see Consumption.

Note: Consumption-licensing and featured consumption licensing are only available in our enterprise tier.

Kyle Brandon
Kyle BrandonSystems Engineer - LicenseSpring Software
Kyle Brandon is a Systems Engineer at LicenseSpring Software, based out of Vancouver, Canada. With over two years experience, Kyle helps current and prospective customers with ensuring successful implementation of all LicenseSpring has to offer. Specializing in Computing Science, Kyle uses that experience to assist with troubleshooting user-reported bugs and provide helpful guides.