License integrity self-healing for administrators
This article explains the license integrity monitor in MobilityManager for administrators: how it self-heals tampered license data, what it warns about, and how to read the integrity status.
Why integrity checking exists
For speed, the platform enforces limits and modules from denormalized license columns stored in the database. The signed license key is the cryptographic source of truth. Someone with database access could edit those columns — raise a limit, flip a module flag, extend the expiry, insert a second active license row, restore the database on another machine, or roll the clock back — without breaking the signature. The integrity monitor is what notices and responds.
Response posture: self-heal and warn
The monitor runs shortly after startup and then about once an hour. Its posture is deliberately non-blocking so air-gapped, perpetual-license installations are never locked out:
- Every anomaly is recorded as an append-only integrity event (tamper evidence).
- Columns that disagree with the signed license are auto-corrected from it, so tampering yields no benefit and there is no false-positive risk — the signed license is the customer's true grant.
- Anomalies that cannot be healed raise a persistent administrator warning but do not stop the product.
What it detects and how it responds
| Anomaly | Severity | Response |
|---|---|---|
| Column mismatch (limit or module flag differs from the signed key) | Critical | Auto-corrected from the signed license |
| Multiple active license rows | Critical | Non-canonical rows deactivated; the authentic row kept |
| Demo profile violation (demo edited beyond its 1/10/5, all-modules, 30-day profile) | Critical / Warning | Corrected back to the canonical demo profile |
| Invalid signature (fabricated or replaced key) | Critical | Warned — cannot be healed |
| Signature unverifiable (no public key configured) | Warning | Warned — limits cannot be confirmed |
| Fingerprint mismatch (database restored/cloned to another host) | Warning | Warned |
| Clock rollback / last-seen cleared | Warning | Warned |
| Over vehicle limit (active vehicles exceed the maximum) | Warning | Warned; new vehicle creation stays blocked |
| Missing activation binding (fingerprint or activation date cleared) | Warning | Warned |
Reading the integrity status
The integrity report (available to administrators with the softwareLicense:manage permission) summarizes recent events and an overall status:
| Status | Meaning |
|---|---|
| Not configured | No active license, or the system database is unavailable — nothing to verify. |
| OK | The license matches its signed source and all invariants hold. |
| Auto-corrected | Tampered columns were detected and healed from the signed license. |
| Violation | An anomaly was found that could not be auto-corrected and needs attention. |
Each event lists when it was detected, the event type and severity, the field involved, the expected and actual values, the response taken, and a human-readable detail message.
Note: A "violation" status does not disable the product. It means a warned anomaly — such as a signature failure, a host fingerprint change, or an over-limit fleet — is present and unresolved. Investigate it rather than expecting the system to block on your behalf.
Warning: Editing license columns directly to unlock capacity or modules is futile and leaves a permanent record. On the next pass the monitor corrects signed-license fields back to their true values and logs the attempt.
Recommended response
- Open the integrity status and review the most recent events.
- For auto-corrected entries, confirm the license now matches your true grant — no further action is usually needed.
- For warnings such as fingerprint or clock anomalies, investigate whether the database was moved or the host clock changed, and correct the underlying cause.
- For an over-limit warning, bring the active vehicle total back within the licensed maximum or apply a license with a higher limit.
Related
- The license heartbeat and clock-tampering protection
- Understanding seat limits (companies, vehicles, users)
- Updating or replacing a license
- Viewing current license status and usage