Skip to main content
Version: 1.0 (Latest)

License Management Guide

Scope

This document describes how to generate fingerprints, install and replace licenses, and diagnose common licensing issues for the Raptor SDK and the Raptor Server.

Concepts

  • License file
    A file distributed by Vantor that grants the right to use the SDK or server on a specific machine or set of machines. Depending on the license, different features may be enabled.
  • Fingerprint
    A device identifier generated on the target machine and sent to Vantor when requesting a license. It is represented as an opaque string; its internal structure is private and may change between versions. Treat it only as a token.

Generating a fingerprint

C++ Raptor SDK

To generate a fingerprint directly from the SDK, call:

  • raptor::Context::generateFingerprint()

Notes:

  • Returns std::optional<std::string>.
  • On success, the string identifies the current machine for licensing purposes.
    • The value is opaque; do not parse, modify, or validate it yourself.
    • If the SDK cannot determine a valid machine identifier on this platform, the function returns std::nullopt.

Recommended workflow

  1. Build a small provisioning tool that calls raptor::Context::generateFingerprint().
  2. Run it on the target system and capture the returned string.
  3. Provide that string to Vantor when requesting a license.
  4. Store the license file you receive at a stable location on the target system.

Raptor Server

When using the Raptor Server, the server can expose the fingerprint through its status API:

  • The GetStatusResponse message includes a fingerprint_b64 field that, when present, contains the server's fingerprint.
  • Use this value in the same way as the C++ SDK fingerprint when requesting a license for the server.

Installing and replacing a license

Place the license file at a stable, readable path on the target machine and point the application at it:

  • C++ SDK — set raptor::Config::licensePath before constructing raptor::Context, or set the licensePath field in the JSON consumed by raptor::parseConfigFromJson().
  • Raptor Server — set the license field in the server's deployment configuration.

To replace an existing license (renewal, added features, machine change), overwrite the file at the configured path — or update the path — and then restart the consumer:

  • C++ applications: destroy existing raptor::Context instances and construct new ones, or restart the process.
  • Raptor Server: restart the server process.

If the license was reissued for a different fingerprint, request a new license against the current machine's fingerprint first (see Generating a fingerprint).

Troubleshooting

Initialization errors

If you encounter an exception related to licensing, the message typically indicates the cause. Common messages and actions:

  • "License file not found or invalid path"
    • Check that the path in licensePath exists and is readable by the application.
  • "Invalid license"
    • The file is present but not a valid Raptor Guide license. Verify that the correct file was installed.
  • "Expired license"
    • The license has passed its expiration date. Request an updated license.
  • "License ApplicationId does not match Raptor Guide"
    • The license targets a different product. Install a license specifically issued for Raptor Guide.
  • Fingerprint-related messages (for example, fingerprint mismatch or invalid fingerprint data)
    • Ensure that the license was issued for the fingerprint of the current machine.
    • Regenerate the fingerprint on this machine and request a new license if necessary.

Runtime "InvalidLicense" results

If updatePose() or updatePosition() returns PoseEstimationError::InvalidLicense:

  • There is a problem with the license (for example, expired or missing required features).
  • Check the license expiry and the licensed feature set, and install an updated license if needed.

For detailed integration steps and configuration examples, see: