Overview
Velatir local detection scans managed devices for installed AI applications and reports findings to your Velatir dashboard under App Insights. It runs on Windows, macOS, and Linux, and is designed for scheduled execution via MDM platforms such as Microsoft Intune and Jamf Pro.Prerequisites
- A Velatir project API key (from Dashboard > Settings > API Keys)
- An MDM platform (Microsoft Intune, Jamf Pro, or similar)
- Python 3 on macOS/Linux devices (pre-installed on macOS and most Linux distributions)
Configuration
The detection script reads its API key from a configuration file at a well-known path:| Platform | Config File Path |
|---|---|
| Windows | C:\ProgramData\Velatir\detection-config.json |
| macOS / Linux | /etc/velatir/detection-config.json |
The macOS/Linux script also accepts
--api-key as a command-line argument, which takes precedence over the config file.Microsoft Intune (Windows)
Deploy using two Intune Remediation packages: one for the configuration file and one for the scan script.Step 1: Deploy the Configuration File
- Go to Devices > Remediations > Create script package
- Name it “Velatir Local Detection - Configuration”
Detect-VelatirConfig.ps1):
Remediate-VelatirConfig.ps1):
- Configure the script package:
- Run this script using the logged-on credentials: No
- Enforce script signature check: No
- Run script in 64-bit PowerShell: Yes
- Assign to your device groups
- Set the schedule (e.g., once per day)
Step 2: Deploy the Detection Script
- Go to Devices > Remediations > Create script package
- Name it “Velatir Local Detection - Scan”
Detect-VelatirScan.ps1):
Remediate-VelatirScan.ps1):
- Configure the script package:
- Run this script using the logged-on credentials: No
- Enforce script signature check: No
- Run script in 64-bit PowerShell: Yes
- Assign to your device groups
- Set the schedule (e.g., once per day)
Why two separate Remediation packages?Separating the configuration and scan into two packages allows you to update the API key independently, and ensures the config file is in place before the scan runs. Intune Remediations cannot guarantee execution order within a single package.
Jamf Pro (macOS)
Step 1: Deploy the Configuration File
Create a Jamf Pro policy to deploy the configuration file.- Go to Computers > Policies > New
- Name it “Velatir Local Detection - Configuration”
- Add a Scripts payload with the following script:
- Set Trigger to Enrollment Complete and Recurring Check-in
- Set Execution Frequency to Once per computer
- Scope to your target computers
Step 2: Deploy the Detection Script
- Go to Computers > Policies > New
- Name it “Velatir Local Detection - Scan”
- Add a Scripts payload with the following script:
- Set Trigger to Recurring Check-in
- Set Execution Frequency to Once every day
- Scope to your target computers
Linux
The same macOS/Linux script works on Linux. Deploy it via your configuration management tool (Ansible, Puppet, Chef, etc.) or schedule it with cron: 1. Deploy the configuration file:Verification
After deployment, verify local detection is working:Windows
- Check the config file exists:
- Check for a recent scan timestamp:
macOS
- Check the config file exists:
Dashboard
Go to App Insights in your Velatir dashboard to see detected applications across your fleet.Troubleshooting
Python not found (macOS/Linux)
Local detection requires Python 3. On macOS it is pre-installed. On Linux, install it via your package manager:Network or firewall issues
The detection script needs outbound HTTPS access toapi.velatir.com. Verify connectivity:
Config file permissions
- Windows: The config file in
C:\ProgramData\Velatir\is accessible to SYSTEM and administrators by default. Intune Remediations run as SYSTEM. - macOS/Linux: Ensure the config file is readable by the user running the script (
chmod 644).
32-bit vs 64-bit context (Windows)
Ensure Run script in 64-bit PowerShell is enabled in your Intune Remediation settings. Running in 32-bit context may causeGet-CimInstance or registry checks to behave differently.