Skip to content

Calibration Guard

Calibration Guard is a Windows background daemon that protects ViciVision machine calibration data from unauthorized modification. It is bundled with and installed alongside VIA Onboard.

What it protects

ViciVision machines store all configuration in .ini files. These files contain both day-to-day operational settings (safe to change) and calibration lookup tables (dangerous to change without engineering authorization). The calibration sections — primarily [LOOKUP] and [LOOKUP_VERT] — contain measurement correction coefficients set during factory or on-site calibration. Modifying these without authorization can produce incorrect measurements or damage the machine.

Calibration Guard watches these files around the clock and enforces a simple rule:

  • Valid license → changes are allowed. The guard backs up the protected sections after every valid change.
  • Expired or missing license → changes are reverted. The guard restores the protected sections from its last known-good backup, shows a Windows dialog, and logs the event.

Security level

Calibration Guard is designed to stop non-technical operators and accidental edits — not determined developers. It uses XOR+base64 key encoding (not cryptographic signing) and relies on Windows Registry access control for key storage. This is appropriate for the threat model: protecting calibration values from operator error or casual tampering.

Components

Component Purpose
guard.exe The daemon — compiled from guard.js via pkg. Runs as a Windows Scheduled Task.
guard-config.json Runtime configuration (watch paths, protected sections, log location).
install-key.js CLI tool to write a license key to the Windows Registry (run as Administrator).
key-gen.js Internal tool to generate license keys (run by ViciVision staff on the License Key Server).
src/license.js Key encode/decode/validate logic (shared between guard and key generator).
src/registry.js Windows Registry read/write via reg.exe.
src/ini.js Custom INI parser that preserves file formatting exactly.
src/backup.js Per-file backup storage in C:\ProgramData\ViciCalibGuard\backups\.
src/watcher.js Core guard logic: detect change → check license → allow or revert.
src/notify.js Windows dialog (via PowerShell) and log file writer.

How it integrates with VIA Onboard

Calibration Guard ships as part of the VIA Onboard installer. When VIA Onboard is installed:

  1. guard.exe and guard-config.json are placed in C:\Program Files\ViaOnboard\resources\.
  2. The NSIS installer registers a Windows Scheduled Task named ViciCalibGuard that runs guard.exe on every user logon at highest privilege.
  3. The guard starts immediately without requiring a reboot.
  4. When VIA Onboard is uninstalled, the Scheduled Task is stopped and removed automatically.

For license key installation, VIA Onboard provides a UI in Settings → Service that writes the key to the Windows Registry.

Quick navigation

How It Works

The file watching, backup, and revert cycle explained.

Read More

Configuration

Set watch paths, protected sections, and intervals.

Configure

License Keys

Generate, install, check, and remove keys.

Key Guide

Troubleshooting

Common problems and solutions.

Troubleshoot