FORGE / EDGE TOOLS
Local telemetry · Open source

Check the data before it reaches your edge model.

A local audit for industrial telemetry handovers. Catch unit mismatches, quality flags, stale timestamps, missing channels and acquisition skew.

The core needs only Python. An optional collector reads OPC UA locally with an encrypted, pinned-certificate connection. No control-write operation is exposed.

1 / Map the contract

Declare the asset, engineering units, numeric ranges and freshness policy.

2 / Capture locally

Read mapped OPC UA nodes or prepare a historian CSV with raw metadata.

3 / Audit the handover

Check each channel and every complete sample group. Keep failures visible.

4 / Retain the evidence

Export a JSON report with profile and capture hashes for review.

Try the audit

Loading browser Python… the offline kit is available immediately.

This preview executes the same Python audit as the kit. The Python runtime is bundled from pinned Pyodide 314.0.7; entered data is processed in this browser. Use the offline kit for sensitive captures. Preview CSV limit: 2 MB.

Edit the profile and capture

Example limits are invented. Edits invalidate the displayed report until you run checks again.

No audit result yet.
—Telemetry rows checked
—Rejected rows
—Sample groups
—Groups passing all checks
What a passing audit means: the captured data meets the declared metadata/profile contract. It does not establish sensor correctness, authenticated source behavior, model calibration or permission to change a PLC setpoint.

Why both timestamps matter

An unchanged value may have an old source timestamp and a recent server timestamp. A server freshness contract can accept that while retaining the old source age as a warning. A source freshness contract requires recent source updates.

Complete groups also matter: every row can pass individually while a missing channel or excessive acquisition skew still rejects the group.

Freshness is evaluated against each row’s recorded receiver clock. Historical files do not prove current live freshness. The collector’s sequence identifies a sample group; it is not a PLC counter or source replay defense.