MeshanicsDocs
Fleet & groups

Installed artifact integrity

A successful rollout proves that the agent downloaded verified bytes, activated them, and passed the configured health gate at that time. Installed-artifact integrity answers the next question: does the active state still match that verified rollout?

After a successful activation, the Linux agent records a local measurement target. It re-measures supported targets in the background and includes the latest bounded result on its authenticated heartbeat. If a file is replaced, removed, or corrupted, or a managed container is stopped or changed to another image digest, the device appears under Integrity attention in the fleet.

Supported measurements

Delivery pathCurrent measurement
Raw model, config, or fileSHA-256 of the active file in the agent-managed release
Placed model or configSHA-256 of the allowlisted destination file
Systemd service binarySHA-256 of the allowlisted active binary
Managed OCI containerConfigured digest-pinned image and running state
Compose stackNot measured
RAUC, DEB/RPM, MCUNot measured by the Linux artifact-integrity scanner

The file scan streams bytes and does not load a model or binary into memory. The default scan interval is 15 minutes and can be changed with MESHANICS_INTEGRITY_SCAN_INTERVAL, for example 1h for devices where repeatedly reading a large model would create unacceptable I/O.

What the control panel means

  • verified - the latest observed digest equals the locally recorded last-known-good digest;
  • attention - one or more targets drifted or disappeared;
  • warning - a measurement could not complete;
  • partial - supported targets verified, but at least one active adapter is not measurable yet;
  • unsupported - the current targets use adapters without a measurement;
  • unavailable - the agent has not sent this additive contract, or no target has completed a successful rollout with the new agent.

The device detail view shows expected and observed digests, exact observation time, and the affected artifact. Drift and recovery transitions also enter the device audit timeline and the integrity.* webhook family.

Security boundary

Integrity drift is an attention signal, not an automatic verdict that a device was compromised. A local administrator, another management tool, storage corruption, or an attacker can all create the same mismatch.

The first assurance level is device-reported. Mutual TLS authenticates the enrolled device that sent the observation, but a root-level attacker able to replace the agent or its local state may suppress it. Device-signed receipts and hardware-backed appraisal are separate, stronger assurance levels. A digest match also proves bytes, not that the application is behaving correctly, so health probes and model evaluation remain separate controls.

Privacy boundary

The heartbeat contains artifact identity, measurement type, expected and observed digest, state, time, and a bounded diagnostic. It does not contain:

  • artifact, model, configuration, or binary contents;
  • absolute device paths;
  • container environment or writable-layer contents;
  • process, port, user, or filesystem inventory.

Meshanics does not automatically overwrite local drift or quarantine a device. That preserves operator control and avoids destroying possible forensic state.