Linux
- x86_64 and arm64 (64-bit)
- systemd required
- RHEL, Ubuntu, Debian, etc.
api.us.licenseware.io or api.au.licenseware.io instead — the agent follows the issuer in its enrolment token.LOG_SHIP_ENABLED). Regional tenants use pushlogs.us.licenseware.io or pushlogs.au.licenseware.io.cdn.licenseware-collector.com and no longer need this host.objects.githubusercontent.com. Not needed from 0.17.0.Download the installer package for your operating system and architecture. Packages never contain an enrollment token — you supply it at install time.
.exe is deprecated and no longer published here. Use the .msi: it bundles osquery, installs the Windows service, and upgrades in place. Existing .exe installs keep updating themselves.x64 (64-bit)
Debian / Ubuntu · RHEL / Fedora / SUSE
By downloading you accept the Collector Licence Agreement.
The /d/latest/ links above always resolve to the current release. To pin a specific version, replace latest with the release tag, e.g. https://cdn.licenseware-collector.com/d/v1.2.3/…
⚠️ Requires root privileges
curl -fsSLO https://cdn.licenseware-collector.com/d/latest/licenseware-collector_amd64.debsudo apt install ./licenseware-collector_amd64.deb On RHEL / Fedora / SUSE use sudo dnf install ./licenseware-collector_amd64.rpm. Installing stages the service but does not start it — the next step does.
sudo TOKEN=<enrollment-token> licenseware-collector registerFor environments with a proxy or custom CA certificate, export the variables and pass them through to register with sudo -E (on macOS, call the binary by its full path, /usr/local/licenseware-collector/seed/licenseware-collector; it is not on the PATH):
export HTTPS_PROXY="http://proxy.corp.com:8080" # optional
export NO_PROXY="localhost,127.0.0.1" # optional
export CA_CERT_PATH=/etc/ssl/certs/corp-ca.pem # optional
sudo -E TOKEN=<enrollment-token> licenseware-collector registerOr pass the CA certificate as an explicit flag:
sudo TOKEN=<enrollment-token> licenseware-collector register \
--ca-cert /etc/ssl/certs/corp-ca.pem| Flag / Variable | Required | Description |
|---|---|---|
TOKEN | Yes | Enrollment token from the Licenseware platform, passed on the register command line. The aliases LICENSEWARE_ENROLL_TOKEN and ENROLL_TOKEN are also accepted. |
--ca-cert / CA_CERT_PATH | No | Path to PEM file with custom CA certificates (for on-prem / TLS inspection) |
--env-file | No | Path to a file with environment variables to load |
HTTPS_PROXY | No | HTTP(S) proxy for outbound traffic. Automatically saved to the service config. |
NO_PROXY | No | Comma-separated list of hosts to bypass the proxy |
⚠️ Requires root privileges
sudo installer -pkg LicensewareCollector.pkg -target /sudo TOKEN=<enrollment-token> \
/usr/local/licenseware-collector/seed/licenseware-collector register⚠️ Requires Administrator privileges
Invoke-WebRequest -Uri https://cdn.licenseware-collector.com/d/latest/LicensewareCollector.msi `
-OutFile LicensewareCollector.msimsiexec /i LicensewareCollector.msi TOKEN=<enrollment-token>.msi to upgrade in place.The install runs as SYSTEM and is fully unattended: msiexec /i LicensewareCollector.msi TOKEN=<enrollment-token> /qn /norestart. Enrolment happens synchronously inside the installer — nothing is deferred to a background task.
Deployment of the Collector through automated tools such as Intune or SCCM constitutes acceptance of the Collector Licence Agreement by the deploying organisation.
| Code | Meaning |
|---|---|
0 | Installer succeeded — see the caveat below |
3010 | Success, reboot pending (files in use; the package itself schedules no reboot) |
1603 | Install action failed, or a downgrade was blocked. On a fresh install this includes an enrolment token the backend rejected: enrolment runs before the service is created, so the install rolls back. The reason is in %ProgramData%\Licenseware\setup.log |
1618 | Another installation is already in progress |
1619 / 1620 | Package path unreachable, or not a valid installer package |
These are standard Windows Installer codes. There are no vendor-specific values.
From Collector 0.16.0 the agent records whether the Licenseware backend has acknowledged it. On Windows that state is mirrored into the registry, so Intune and SCCM can use a built-in registry rule — no script. Do not use a file-version or product-code rule: both report success even when enrolment did not complete.
| Setting | Value |
|---|---|
| Rule type | Registry |
| Key path | HKEY_LOCAL_MACHINE\SOFTWARE\Licenseware\Collector |
| Value name | Registered |
| Detection method | Integer comparison, Equals, 1 |
| Associated with a 32-bit app on 64-bit clients | No |
SCCM uses the same key and value for an application detection method and for a compliance configuration item. The key also carries Status, AgentId, DeviceUuid, Version, RegisteredAt and LastContactAt as strings for hardware inventory.
On every platform the same information is in a world-readable file with no secrets: registration.json in the agent's state directory (see Installation Paths). Its status is enrolled until the backend acknowledges the agent, then registered. The status command reads it and exits 0 only when registered (2 enrolled only, 3 no state file, 4 no service); status --json prints the file.
licenseware-collector status --json
jq -e '.status == "registered"' /var/lib/licenseware-collector/registration.jsonAgents older than 0.16.0: use this PowerShell detection script. The TOKEN= line is written only by a completed enrolment and the Windows service is created only by register; together they mean the agent has enrolled, though not that the backend has acknowledged it.
$svc = Get-Service licenseware-collector -ErrorAction SilentlyContinue
$env = "$env:ProgramData\Licenseware\collector.env"
if ($svc -and (Test-Path $env) -and (Select-String -Path $env -Pattern '^TOKEN=..*' -Quiet)) {
Write-Output "Installed"
exit 0
}
exit 1When enrolling manually (a tokenless MSI install), the token is supplied through the environment and the remaining options as flags:
$env:TOKEN = "<enrollment-token>"
& "$env:ProgramFiles\Licenseware\LicensewareCollector.exe" register `
--ca-cert <PATH> --env-file <PATH>| Flag | Env Variable | Required | Description |
|---|---|---|---|
TOKEN= (MSI property) | TOKEN | Yes | Enrollment token from the Licenseware platform. Pass TOKEN= to msiexec, or set TOKEN before running register manually. The older ENROLLTOKEN= property is still accepted. |
--ca-cert | CA_CERT_PATH | No | Path to PEM file with custom CA certificates (for on-prem / TLS inspection) |
--env-file, -e | — | No | Path to a file with environment variables to load |
| — | HTTPS_PROXY | No | HTTP(S) proxy for outbound traffic. Automatically saved to the service config. |
| — | NO_PROXY | No | Comma-separated list of hosts to bypass the proxy |
$env:HTTPS_PROXY = "http://proxy.corp.com:8080"
$env:NO_PROXY = "localhost,127.0.0.1"
$env:TOKEN = "<enrollment-token>"
& "$env:ProgramFiles\Licenseware\LicensewareCollector.exe" register `
--ca-cert "C:\certs\internal-ca.pem"If your network requires an HTTP proxy for outbound connections, the collector natively supports standard proxy environment variables for all egress traffic.
| Variable | Description | Example |
|---|---|---|
HTTPS_PROXY | Proxy for HTTPS traffic (used for all collector communication) | http://proxy.corp.com:8080 |
HTTP_PROXY | Proxy for plain HTTP traffic | http://proxy.corp.com:8080 |
NO_PROXY | Comma-separated list of hosts to bypass the proxy | localhost,127.0.0.1,.internal.corp |
Authenticated proxies are supported using the format http://user:password@proxy.corp.com:8080.
Add the proxy variables to the collector environment file on the target machine. Each line uses KEY=value format.
HTTPS_PROXY=http://proxy.corp.com:8080
NO_PROXY=localhost,127.0.0.1/etc/default/licenseware-collectorHTTPS_PROXY=http://proxy.corp.com:8080
NO_PROXY=localhost,127.0.0.1/usr/local/etc/licenseware-collectorHTTPS_PROXY=http://proxy.corp.com:8080
NO_PROXY=localhost,127.0.0.1C:\ProgramData\Licenseware\collector.envAfter modifying the environment file, restart the collector service for changes to take effect:
sudo systemctl restart licenseware-collector sudo launchctl kickstart -k system/io.licenseware.licenseware-collector Restart-Service licenseware-collector Corporate proxies that perform TLS inspection inject their own CA certificate into the chain. The collector must be configured to trust these certificates, otherwise all HTTPS connections will fail.
| Option | Description | Example |
|---|---|---|
CA_CERT_PATH | Environment variable pointing to a PEM file with additional CA certificates | /etc/ssl/corp-ca.pem |
--ca-cert | CLI flag (overrides CA_CERT_PATH when set) | --ca-cert /etc/ssl/corp-ca.pem |
Custom certificates are appended to the system certificate pool, not replacing it. All standard system CAs remain trusted.
Add the CA_CERT_PATH variable to the collector environment file, pointing to the PEM file containing your corporate CA certificate(s).
CA_CERT_PATH=/etc/ssl/certs/corp-ca.pem /etc/default/licenseware-collectorCA_CERT_PATH=/usr/local/etc/ssl/corp-ca.pem /usr/local/etc/licenseware-collectorCA_CERT_PATH=C:\ProgramData\Licenseware\corp-ca.pem C:\ProgramData\Licenseware\collector.envAfter modifying the environment file, restart the collector service for changes to take effect:
sudo systemctl restart licenseware-collector sudo launchctl kickstart -k system/io.licenseware.licenseware-collector Restart-Service licenseware-collector sudo apt remove licenseware-collector sudo dnf remove licenseware-collector Removing the package stops the service and runs the uninstaller for you. Do not call licenseware-collector uninstall directly on a package-managed host — it refuses and points you back at the package manager.
Download uninstall.command from the Downloads section and double-click it, or run it from Terminal:
sudo LICENSEWARE_UNINSTALL_FROM_PACKAGE=1 \
/usr/local/libexec/licenseware-collector/licenseware-collector uninstall --force
sudo rm -rf /usr/local/licenseware-collector
sudo pkgutil --forget io.licenseware.collectormsiexec /x LicensewareCollector.msiSettings > Apps > Installed apps msiexec /x, apt remove / dnf remove and uninstall.command) run with fixed arguments and take no extra options: --preserve-state and --remove-osquery are options of the licenseware-collector uninstall command, not of msiexec.All communication uses HTTPS with Bearer token authentication.
| Method | Endpoint | Purpose | Frequency |
|---|---|---|---|
| POST | /agent/register | Register agent | Once |
| GET | /agent/configs | Fetch configs | Every 30m |
| GET | /agent/catalogs | Get catalogs | Every 30m |
| POST | /agent/ingest | Upload data | Cyclical |
What You Do
What the Collector Does
This section lists every query the Collector runs, the operating systems it runs on, how often, the exact fields collected and why. It is the same specification published as Schedule 3 of the Licenseware Data Processing Addendum, which governs all data transmitted by the Collector. Nothing outside this list is collected.
The Collector runs two fixed catalogues. Catalogue definitions are fetched from the platform every 30 minutes and results are sent over TLS to the regional instance encoded in your enrolment token. Field names are the column names of the underlying osquery tables.
The query, field and purpose tables below are published in English. The English text is the operative version regardless of the language selected for this site.
System, hardware, operating system and installed-software inventory, plus a point-in-time view of running processes, services and logged-in users.
| Query | OS | Fields collected | Purpose | Personal data relevance |
|---|---|---|---|---|
system_info | Linux Windows macOS | hostname, uuid, computer_name, local_hostname, cpu_type, cpu_subtype, cpu_brand, cpu_physical_cores, cpu_logical_cores, cpu_sockets, cpu_microcode, physical_memory, hardware_vendor, hardware_model, hardware_version, hardware_serial, board_vendor, board_model, board_version, board_serial | Device identity and hardware spec for asset matching and per-device licensing | Durable device identifiers (UUID, hardware serial, board serial). No user data. |
os_version | Linux Windows macOS | name, version, major, minor, patch, build, platform, platform_like, codename, arch, install_date, revision | OS edition and version for OS licensing and support-lifecycle reporting | None. |
kernel_info | Linux Windows macOS | version, arguments, path, device | Kernel version for platform reporting | Kernel boot arguments may reveal host configuration. No user data. |
users | Linux Windows macOS | uid, gid, uid_signed, gid_signed, username, directory, shell, uuid, type | Local account enumeration for per-user licence attribution and user counts | Usernames, UIDs and home directory paths of all local accounts, including service accounts. Personal data. |
programs | Windows | name, version, install_location, install_source, language, publisher, uninstall_string, install_date, identifying_number | Primary Windows installed-software inventory | Install paths and product identifiers only. No user data. |
deb_packages | Linux | name, version, source, size, arch, revision, status, maintainer, section, priority | Debian/Ubuntu installed-package inventory | None. |
rpm_packages | Linux | name, version, release, source, size, sha1, arch, epoch, install_time, vendor, package_group | RHEL/SUSE installed-package inventory | None. |
startup_items | Linux Windows macOS | name, path, type, source, status, username | Detect software configured to auto-start | Username associated with each startup item; file paths. Command-line arguments are not collected. |
npm_packages | Linux Windows macOS | name, version, description, author, license, homepage, path, directory | OSS dependency inventory for licence compliance | Package path and directory may reveal internal project and repository names on developer machines. |
python_packages | Linux Windows macOS | name, version, summary, author, license, path, directory | OSS dependency inventory for licence compliance | Package path and directory may reveal internal project and repository names on developer machines. |
chocolatey_packages | Windows | name, version, summary, author, license, path | Windows package-manager inventory | None. |
homebrew_packages | macOS | name, path, version | macOS package-manager inventory | None. |
darwin_apps | macOS | name, path, bundle_executable, bundle_identifier, bundle_name, bundle_short_version, bundle_version, bundle_package_type, compiler, development_region, display_name, info_string, minimum_system_version, category, applescript_enabled, copyright, last_opened_time | Primary macOS installed-software inventory | last_opened_time is a per-application usage signal, not attributed to a user. |
darwin_plist | macOS | app name, app path, plist key, plist value restricted to CFBundleGetInfoString NSHumanReadableCopyright CFBundleIdentifier under /Applications only | Publisher and edition resolution for macOS apps | None. Restricted to three named keys for apps under /Applications. |
running_processes_windows | Windows | pid, name, path, state, cwd, root, uid, gid, euid, egid, suid, sgid, on_disk, wired_size, resident_size, total_size, user_time, system_time, disk_bytes_read, disk_bytes_written, start_time, parent, pgroup, threads, nice, elevated_token, secure_process, protection_type, virtual_process, elapsed_time, handle_count | Join running processes to installed software for last-used inference | Process owner identifiers (uid, euid) and working and root directory paths, which may include user home and project directories. An hourly process list is an activity signal. Command-line arguments are not collected. |
running_processes_posix | Linux macOS | pid, name, path, state, cwd, root, uid, gid, euid, egid, suid, sgid, on_disk, wired_size, resident_size, total_size, user_time, system_time, disk_bytes_read, disk_bytes_written, start_time, parent, pgroup, threads, nice | Join running processes to installed software for last-used inference | Process owner identifiers (uid, euid) and working and root directory paths, which may include user home and project directories. An hourly process list is an activity signal. Command-line arguments are not collected. |
windows_services_running | Windows | name, service_type, display_name, status, pid, path, module_path, description, user_account, start_type, win32_exit_code, service_exit_code | Detect server software running as a service | Service account names. |
systemd_units_running | Linux | id, description, load_state, active_state, sub_state, following, object_path, job_id, job_type, job_path, fragment_path, user, source_path | Detect Linux server software running as a unit | Unit user. Paths only; no command lines. |
launchd_services | macOS | path, name, label, program, run_at_load, keep_alive, on_demand, disabled, username, groupname, stdout_path, stderr_path, start_interval, watch_paths, queue_directories, inetd_compatibility, start_on_mount, root_directory, working_directory, process_type | Detect macOS software running as a daemon or agent | Username and group under which the daemon runs; file paths. Command-line arguments (program_arguments) are not collected. |
logged_in_users | Linux Windows macOS | type, user, tty, host, time, pid, sid, registry_hive | Attribute device usage to a named user | Identifies which user accounts are logged in to a device, and when. Personal data. |
Execution history used to work out when software was last used, for licence reclamation and audit evidence.
| Query | OS | Fields collected | Purpose | Personal data relevance |
|---|---|---|---|---|
prefetch_metadata | Windows | path, filename, hash, last_run_time, other_run_times, run_count, size, volume_serial, volume_creation, accessed_files_count, accessed_directories_count | Last-used and run-count evidence for licence reclaim | Per-binary execution history (last run time, other run times, run count). Not attributed to a user. Accessed files and directories are counts only; no filenames. |
userassist_registry | Windows | path, last_execution_time, sid | Per-user last-used evidence for licence reclaim | Per-user program execution history keyed to the Windows user SID. Direct evidence of which user account ran which program and when. |
bam_registry | Windows | path, last_execution_time, sid | Per-user last-used evidence for licence reclaim | Per-user program execution history keyed to the Windows user SID, as UserAssist. |
darwin_app_file_times | macOS | path, filename, atime, mtime restricted to /Applications | Last-used inference for macOS apps | File metadata only (access and modification times), restricted to /Applications. Not attributed to a user. |
linux_binary_file_times | Linux | path, filename, atime, mtime restricted to /usr/bin /usr/sbin /usr/local/bin /opt /opt/*/bin | Last-used inference for Linux binaries | File metadata only (access and modification times), restricted to named binary directories. Not attributed to a user. |
The agent ships its own operational logs (status, errors, ingestion cycle information) to pushlogs.licenseware.io or the regional equivalent by default. They may incidentally contain hostnames or file paths. Set LOG_SHIP_ENABLED=false in the environment file and restart the service to disable log shipping. Logs are processed under the DPA.
| 3 Sep 2026 | Command-line argument fields (startup_items.args, launchd_services.program_arguments) removed. No process query collects command-line arguments. |
| Sep 2026 | Specification first published at field level. Intervals: 60 minutes (inventory and processes), 240 minutes (software usage). |
Additions to this specification are notified to registered customer contacts at least 30 days in advance under DPA clause 13.3. Reductions in scope take effect immediately and are recorded here.
/usr/libexec/licenseware-collector/licenseware-collector /etc/systemd/system/licenseware-collector.service /etc/default/licenseware-collector /var/lib/licenseware-collector/registration.json %ProgramFiles%\Licenseware\LicensewareCollector.exe C:\ProgramData\Licenseware\bin\LicensewareCollector.exe C:\ProgramData\Licenseware\collector.env C:\ProgramData\Licenseware\registration.json HKLM\SOFTWARE\Licenseware\Collector /usr/local/libexec/licenseware-collector/licenseware-collector /Library/LaunchDaemons/io.licenseware.licenseware-collector.plist /usr/local/etc/licenseware-collector /usr/local/libexec/licenseware-collector/registration.json TOKEN=<enrollment-token> licenseware-collector registerlicenseware-collector statuslicenseware-collector stoplicenseware-collector run-onceOn Linux licenseware-collector is on the PATH (/usr/bin/licenseware-collector). On Windows and macOS it is not: call the binary by its full path, %ProgramData%\Licenseware\bin\LicensewareCollector.exe on Windows and /usr/local/libexec/licenseware-collector/licenseware-collector on macOS.
The collector writes its logs to standard error; the Windows service writes them to the Windows Event Log instead. How you access them depends on the operating system and service manager.
The verbosity is controlled by the LOG_LEVEL environment variable in the collector environment file. The default is info.
| Level | Description |
|---|---|
debug | Most verbose — all messages including internal state |
info | Operational messages (startup, config reload, ingestion cycles) |
warn | Non-critical issues that may need attention |
error | Failures only (default) |
critical | Fatal errors that stop the service |
On systemd-based systems, logs are captured by the journal automatically.
journalctl -u licenseware-collector -f journalctl -u licenseware-collector --since "1 hour ago" The launchd service writes both stdout and stderr to a single log file.
tail -f /var/log/licenseware-collector.log cat /var/log/licenseware-collector.log The Windows service writes the collector's own log to the Windows Event Log under the licenseware-collector provider (step 8); it writes no log file. Use the commands below in an Administrator PowerShell to investigate the service: check its state, inspect service start/stop/crash records that Windows itself emits, read the collector's log, and capture full application output by running the collector interactively.
& "$env:ProgramData\Licenseware\bin\LicensewareCollector.exe" status Get-Service licenseware-collector | Format-List Name, Status, StartType, DisplayName sc.exe qc licenseware-collector ; sc.exe qfailure licenseware-collector Get-WinEvent -FilterHashtable @{
LogName = 'System'
StartTime = (Get-Date).AddDays(-1)
ProviderName = 'Service Control Manager'
} | Where-Object { $_.Message -match 'licenseware-collector' } |
Format-List TimeCreated, Id, LevelDisplayName, MessageGet-WinEvent -FilterHashtable @{
LogName = 'Application'
StartTime = (Get-Date).AddDays(-7)
} | Where-Object { $_.Message -match 'LicensewareCollector' } |
Format-List TimeCreated, ProviderName, Id, LevelDisplayName, Messageeventvwr.msc Stop-Service licenseware-collector
$env:LOG_LEVEL = 'debug'
& "$env:ProgramData\Licenseware\bin\LicensewareCollector.exe" run-once --env-file C:\ProgramData\Licenseware\collector.env *>&1 |
Tee-Object -FilePath "$env:USERPROFILE\licenseware-collector-debug.log"
Start-Service licenseware-collector*>&1 redirection merges every PowerShell stream (stdout, stderr, warnings, verbose, debug) so nothing the collector writes is lost.licenseware-collector provider — stderr is not captured for services, so this is the primary source once the service is running:Get-WinEvent -ProviderName "licenseware-collector" -MaxEvents 50 msiexec /i LicensewareCollector.msi /l*v install.log
Get-Content install.log -Tail 200register printed, including the reason enrollment failed, and it survives the rollback that removes everything else. The enrollment token is never written to it:Get-Content C:\ProgramData\Licenseware\setup.logThe LICENSEWARE Collector is licensed under the Licenseware Collector Licence Agreement, reproduced in full below. A copy is included in every installation package and is printed by licenseware-collector licence. The version published on this page is the current version and prevails over any copy distributed with an earlier release.
The agreement is published in English. The English text is the operative version regardless of the language selected for this site.
Last updated: August 2026
Licenseware Technology Services S.R.L.
B2B Agreement — Governed by the Laws of Romania (EU Member State)
PLEASE READ THIS LICENCE CAREFULLY. BY GENERATING AN ENROLMENT TOKEN FOR THE AGENT, OR BY DOWNLOADING, COPYING, INSTALLING OR USING ALL OR ANY PORTION OF THE AGENT, INCLUDING WHERE INSTALLATION IS PERFORMED THROUGH AUTOMATED DEPLOYMENT TOOLS OR BY A THIRD PARTY ON YOUR BEHALF, YOU ACCEPT ALL THE TERMS AND CONDITIONS OF THIS LICENCE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, YOU MAY NOT USE THE AGENT.
This Licence Agreement (Agreement) is a legal agreement between you (Licensee) and Licenseware Technology Services S.R.L., incorporated and registered in Romania with company number J21/238/2021, VAT no RO42866470, whose registered office is at Independentei 1, Slobozia, Ialomita, 920095, Romania (Licensor) for the Licenseware Collector agent software (Agent) and associated Documentation.
The Agent is provided free of charge as a companion to the Licenseware platform. Your access to and use of the platform itself, including the generation of Enrolment Tokens, is governed by the Licenseware End User Licence Agreement available at https://licenseware.io/legal/, together with any applicable Order Form or partner agreement (together, the Platform Agreement).
This Agreement is a B2B agreement entered into between entities acting in the course of their business. This is not a consumer contract. You acknowledge that we may update the terms and conditions of this Agreement from time to time and that it is your responsibility to check any updates.
1.1 Licensor makes the Agent available for download at https://licenseware-collector.com/ and through the Platform, and will provide the Agent materially in accordance with this Agreement and the Documentation.
1.2 A copy of this Agreement is included in every installation package for the Agent. The version published at https://licenseware-collector.com/ is the current version and prevails over any copy distributed with an earlier release.
2.1 Subject to the Licensee's continuous compliance with this Agreement, Licensor grants the Licensee a non-exclusive, non-transferable, revocable and limited licence, free of charge, during the Term to: (a) download, reproduce and distribute the Agent within its own environment and those of its Managed Clients, including through automated deployment and device management tools, solely for the purpose of installation on Managed Systems; and (b) install and run the Agent on Managed Systems solely to collect and transmit Collected Data to the Licensee's tenant on the Platform, for the Licensee's internal business purposes or, where the Licensee is an authorised partner of Licensor, for the provision of services to its Managed Clients.
2.2 Installation and operation of the Agent on the systems of a Managed Client constitutes use of the Agent by the Licensee. No licence rights are granted to Managed Clients under this Agreement and nothing in this clause constitutes a sublicence.
2.3 The Licensee shall take all necessary steps to ensure that its employees, agents and subcontractors abide by the terms of this Agreement and shall comply with the Documentation.
2.4 The licence granted under clause 2.1 applies without altitude restriction. Where the Licensee operates the Agent on a Managed System at or above the Kármán Line (100 kilometres above mean sea level) and notifies Licensor at contact@licenseware.io with reasonable evidence of the deployment, such as mission documentation, launch records or orbital tracking data: (a) Licensor will designate that Managed System as an orbital asset in the Licensee's tenant; and (b) that Managed System shall not count towards any per-device limit, allowance or charge under any commercial Platform plan, in each case applied under the Platform Agreement. Clause 10.3 applies to any such deployment.
3.1 Except as expressly set out in this Agreement or as permitted by any local law, the Licensee undertakes not to: (a) sell, rent, lease, sublicense, assign or transfer its rights in the Agent, or make the Agent available to any third party other than by deployment on Managed Systems as permitted under clause 2; (b) disassemble, decompile, reverse-engineer or create derivative works based on the Agent, except to the extent essential for interoperability or in respect of Open Source Components; (c) modify, adapt or translate the Agent, or remove or alter any proprietary notices; (d) circumvent, disable or interfere with the Agent's enrolment, security or update mechanisms, or use an Enrolment Token other than in connection with the Licensee's own tenant; (e) use the Agent other than in connection with the Platform; or (f) fail to comply with all applicable technology control or export laws and regulations.
4.1 This Agreement governs the Agent. The Platform Agreement governs the Licensee's access to and use of the Platform, including the generation and management of Enrolment Tokens. Nothing in this Agreement grants any right to access or use the Platform.
4.2 The Agent is licensed exclusively under this Agreement. For the purposes of the Platform Agreement, the Agent does not constitute an App and no licence to the Agent is granted under the Platform Agreement. In the event of any conflict between this Agreement and the Platform Agreement in relation to the Agent, this Agreement prevails; in relation to the Platform, the Platform Agreement prevails.
4.3 Collected Data received by the Platform is processed under the Platform Agreement and the DPA. In relation to the processing of personal data, the DPA prevails over this Agreement to the extent of any conflict.
4.4 Except as stated in clause 11.2, no warranty, indemnity, support or service level commitment in the Platform Agreement applies to the Agent, including, for the avoidance of doubt, the intellectual property indemnity in the Platform Agreement.
5.1 Enrolment Tokens are access credentials. The Licensee shall keep Enrolment Tokens confidential, use them only to enrol Managed Systems to its own tenant, and may rotate or revoke them through the Platform at any time.
5.2 The Licensee is responsible for all Agent instances enrolled using its Enrolment Tokens and for all Collected Data transmitted by those instances.
5.3 Licensor may suspend or revoke Enrolment Tokens, or suspend an Agent instance's access to the Platform, where reasonably required for security reasons or in the event of suspected breach of this Agreement.
6.1 The Agent collects Collected Data from Managed Systems and transmits it over encrypted connections to the Regional Instance associated with the Enrolment Token, as described in the Documentation. The categories of data collected, and the collection intervals, are set out in the Documentation.
6.2 As between the parties, the Licensee (or its Managed Client, as applicable) is the controller of any personal data within Collected Data, and Licensor processes such personal data as processor or sub-processor in accordance with the DPA, which is incorporated into this Agreement by reference.
6.3 The Licensee is responsible for ensuring that it has a lawful basis for the collection of Collected Data from each Managed System, for providing any notices required by applicable law to its personnel and to the personnel of Managed Clients, including in relation to software usage, execution history and user session data, and for completing any consultations required by applicable law prior to deployment.
6.4 The Agent transmits operational logs to Licensor by default for troubleshooting, security and service improvement purposes. Log shipping may be disabled as described in the Documentation. To the extent such logs contain personal data, they are processed in accordance with the DPA.
7.1 The Agent checks for and installs Updates automatically, retrieving them from Licensor's release infrastructure, which may include third-party hosting services identified in the Documentation. The Licensee consents to the automatic download and installation of Updates without further notice.
7.2 Licensor reserves the right at any time to make any improvement, substitution or modification in the design or configuration of the Agent, provided that such change shall not result in any material reduction in the core functionality of the Agent.
7.3 Restricting the Agent's network access to the endpoints listed in the Documentation may prevent Updates from being applied or cause the Agent to stop functioning. The Licensee deploys the Agent in restricted network environments at its own risk.
8.1 The Agent includes, or may retrieve, Open Source Components that are licensed under their own terms. Those terms apply to the relevant components in place of clauses 2 and 3 of this Agreement to the extent of any conflict, and nothing in this Agreement restricts any rights granted to the Licensee under them.
8.2 Applicable open source licence texts and attribution notices are included in the installation packages or identified in the Documentation.
9.1 All Intellectual Property Rights in the Agent and the Documentation, other than in Open Source Components, belong to Licensor or its licensors. The Agent is licensed, not sold. The Licensee has no Intellectual Property Rights in the Agent other than the right to use it in accordance with this Agreement.
9.2 The Licensee acknowledges that it has no right to access the Agent in source code form, except in respect of Open Source Components to the extent provided under their own licence terms.
9.3 Licensor may use any feedback or suggestions relating to the Agent without restriction or obligation.
10.1 Licensor warrants that it has the rights and authority necessary to make the Agent available under this Agreement.
10.2 Except as expressly provided in clause 10.1, the Agent is provided free of charge, "as is" and as available. To the maximum extent permitted by applicable law, Licensor disclaims all other warranties, express or implied, including any implied warranties of non-infringement, merchantability or fitness for a particular purpose, and does not warrant that the Agent will operate uninterrupted or error-free or that it is compatible with every environment.
10.3 The Agent is not designed or intended for high-risk use scenarios where failure could reasonably lead to death, serious bodily injury, or severe damage to property or the environment.
11.1 The Agent is provided free of charge and no standalone support or service level commitment applies to it.
11.2 Where the Licensee holds a paid subscription to the Platform, support for the Agent is provided in accordance with the support terms of the Platform Agreement, provided that such support covers the Agent software only and excludes the Managed Systems on which it runs, their operating systems, and the Licensee's network and deployment tooling.
12.1 Nothing in this Agreement excludes or limits either party's liability for death or personal injury caused by negligence, for fraud or fraudulent misrepresentation, or for any liability that cannot be excluded or limited under applicable mandatory law.
12.2 Subject to clause 12.1, neither party shall be liable to the other for any indirect or consequential damages, including lost revenues, lost profits, business interruption, or loss of business information or data, and neither party shall be liable for any delay or default caused by conditions beyond its reasonable control, including any Force Majeure event.
12.3 Subject to clause 12.1 and reflecting that the Agent is provided free of charge: (a) where a Platform Agreement is in force between the parties, Licensor's total aggregate liability under or in connection with this Agreement shall count towards, and shall in no event exceed, the aggregate liability cap set out in the Platform Agreement; and (b) in all other cases, Licensor shall have no liability whatsoever under or in connection with this Agreement, howsoever arising.
12.4 No indemnity is granted by Licensor under this Agreement.
13.1 This Agreement takes effect on the earlier of the Licensee's acceptance as described above and the first installation of the Agent, and continues until terminated (the Term).
13.2 This Agreement terminates automatically if the Licensee ceases to hold an active account on the Platform or if the Platform Agreement terminates or expires.
13.3 Either party may terminate this Agreement on thirty (30) days' written notice. Licensor may suspend or terminate this Agreement with immediate effect where reasonably required for security reasons or where the Licensee is in material breach. Licensor may discontinue the Agent, in whole or in part, on reasonable notice.
13.4 On termination, the Licensee shall cease all use of the Agent and uninstall it from all Managed Systems. Clauses 3, 4, 6.2, 8, 9, 10, 12, 14 and 15 survive termination.
14.1 The Licensee warrants that it has, and will maintain for the duration of each deployment, all rights, consents and authority necessary to install and operate the Agent on each Managed System, including systems belonging to Managed Clients.
14.2 The Licensee shall comply with all applicable laws in connection with its deployment and use of the Agent, including all applicable technology control, sanctions and export laws and regulations.
15.1 Notices. All notices shall be in writing. Email is agreed as a valid means of formal notice. Notices to Licensor: contact@licenseware.io.
15.2 Confidentiality. Any Confidential Information exchanged between the parties in connection with the Agent is governed by the confidentiality provisions of the Platform Agreement.
15.3 Amendments. Licensor may update this Agreement from time to time by publishing the updated version at https://licenseware-collector.com/ and including it with subsequent releases of the Agent. Continued use of the Agent following the effective date of an update constitutes acceptance of the updated Agreement.
15.4 Assignment. The Licensee may not assign or transfer this Agreement without Licensor's prior written consent. Licensor may assign this Agreement to an affiliate or in connection with a merger, acquisition or sale of assets.
15.5 Severability. If any provision of this Agreement is held invalid or unenforceable, the remainder shall continue in full force and effect to the fullest extent allowed by law.
15.6 Entire agreement. This Agreement constitutes the entire agreement between the parties in relation to the Agent and supersedes any prior agreements relating to the Agent, without affecting the Platform Agreement.
15.7 Governing law and jurisdiction. This Agreement and any dispute or claim arising out of or in connection with it shall be governed by the laws of Romania, as an EU member state. Each party irrevocably submits to the exclusive jurisdiction of the Romanian courts. The parties confirm that they are each acting in the course of their business and that this Agreement is not a consumer contract.
| Term | Definition |
|---|---|
| Agent | The Licenseware Collector agent software made available at https://licenseware-collector.com/ or through the Platform, including bundled components and all Updates. |
| App | Has the meaning given in the Platform Agreement. |
| Collected Data | System, hardware and software inventory data, software usage and execution history, running process and user session data, and related metadata collected by the Agent from Managed Systems and transmitted to the Platform, together with the Agent's operational logs. |
| Documentation | The Agent documentation published at https://licenseware-collector.com/ and https://help.licenseware.io/, as updated from time to time. |
| DPA | The Licenseware Data Processing Addendum available at https://licenseware.io/legal/#data-protection-agreement. |
| Enrolment Token | An API key or enrolment token generated through the Platform that registers an Agent instance to the Licensee's tenant. |
| Force Majeure | Any cause beyond the reasonable control of the affected party including acts of God, war, terrorism, fire, flood, epidemic, pandemic, and communication failures. |
| Intellectual Property Rights | All patents, rights to inventions, copyright, moral rights, trade-marks, business names, domain names, rights in designs, rights in computer software, database rights, and all other intellectual property rights, whether registered or unregistered, throughout the world. |
| Managed Client | A third party to whom the Licensee provides IT, software asset management or managed services under a written agreement, where the Licensee is an authorised partner of Licensor. |
| Managed System | A system owned or controlled by the Licensee, or a system of a Managed Client that the Licensee is authorised to manage and on which the Licensee is authorised to install software. |
| Open Source Components | Third-party components included with, or retrieved by, the Agent that are licensed under open source licence terms, including osquery, as identified in the Documentation or in the notices accompanying the Agent. |
| Platform | The Licenseware SaaS platform, including its Regional Instances as described in the DPA. |
| Platform Agreement | The agreement or agreements governing the Licensee's access to and use of the Platform, including the Licenseware End User Licence Agreement, any Order Form, and any applicable partner or reseller agreement, together with the DPA. |
| Term | Has the meaning given in clause 13.1. |
| Updates | All updates, upgrades, bug fixes, error corrections, enhancements and other modifications to the Agent. |