Version 1.0 · For Licensed Operators of the chainNode Platform
Welcome to chainNode. This manual explains every screen, control, and workflow in your dashboard, and shows you how to get the most out of the platform. Read it once end-to-end before deploying agents into production — the five minutes you spend here will save hours later.
chainNode is a real-time asset intelligence and compliance platform. It continuously discovers every physical device, IoT sensor, network node, virtual machine, and software license operating inside your environment, records their configuration fingerprints on the Polygon blockchain, and alerts you the moment anything changes.
You get three things no traditional asset manager provides:
Who this is for: Plant managers, IT/OT administrators, compliance officers, and security teams operating industrial, healthcare, financial, or critical-infrastructure environments.
Navigate to your chainNode URL (typically https://chainnode.pro/demo/live/ for the demo, or a custom subdomain for licensed deployments).
If you see a red error banner, verify the email is correct and check caps-lock. Repeated failures will lock the account — contact your administrator.
Tip: Bookmark the dashboard URL and enable your browser's password manager. chainNode sessions persist until you explicitly sign out.
Every page shares two global elements:
Six navigation items, each representing a core workspace:
| Icon | Item | What it does |
|---|---|---|
| ▦ | Dashboard | Real-time overview of the entire fleet |
| ▣ | Assets | Searchable inventory of every tracked asset |
| ⌘ | Devices | IoT-only view (sensors, cameras, PLCs, meters, trackers) |
| ✓ | Compliance | Generate SOC 2, ISO 27001, HIPAA, PCI-DSS, NIST, FDA reports |
| 🔔 | Alerts | Active alerts, full history, and alert rule management |
| 🔑 | API Keys | Manage authentication credentials for agents and integrations |
A red numeric badge on the Alerts item shows the count of unacknowledged alerts. It refreshes every 30 seconds.
Click the chevron at the bottom of the sidebar to collapse it to icons only — useful on smaller screens. Hover over a collapsed icon to see its label.
This is the fastest way to interrogate your fleet. Click the AI Query button in the topbar.
How to use it:
Optimization tips: - Be specific about time ranges ("last 7 days", "since January 1"). - Reference asset attributes chainNode tracks: hostname, IP, firmware version, location, department, assigned owner, risk level, status. - Use the AI Query as an audit tool — it can surface blind spots faster than manually scanning tables.
This is your mission-control view. Everything auto-refreshes every 30 seconds.
| Card | What it counts | Why it matters |
|---|---|---|
| Active Assets | Every asset with status "Active" | Your live fleet size. Watch for sudden drops — they indicate a network segment going dark. |
| Changes Today | Configuration or discovery events since midnight | High numbers outside maintenance windows are a red flag. |
| Active Alerts | Unacknowledged alerts | Should trend toward zero. Anything >0 demands attention. |
| Blockchain Records Today | Configuration hashes written on-chain today | Confirms your audit trail is being captured. If this is zero but changes are happening, investigate. |
A scrolling stream of the most recent 20 configuration events. A green pulsing Live indicator confirms the feed is active.
Each entry shows: - A colored vertical bar indicating change type: - Green — newly discovered asset - Amber — existing asset modified - Red — asset removed/gone offline - Hostname/IP in bold - Asset type underneath - Relative time (e.g., "2m ago")
An amber left border marks events flagged as anomalous by the AI.
Click any entry to jump directly to that asset's detail page.
A doughnut chart breaking down your fleet by asset type. Hover for exact counts. Color-coded: - Indigo shades — traditional IT (servers, workstations, VMs, databases) - Blue/purple — network devices, software, certificates, cloud resources - Green shades — IoT devices (sensors, cameras, controllers, meters, trackers)
Optimization tip: A healthy fleet chart matches your expectations. If "Unknown" or "iot_unknown" dominates, schedule an AI re-classification pass.
The most recent configuration changes, with four columns: - Time — when the change was observed - Asset — hostname, IP, and type - Change — a pill labeled DISCOVERED, MODIFIED, REMOVED, or REINSTATED - Anomaly — amber "Anomaly" badge if the AI flagged the change as unusual
Click any row to open that asset's detail page.
Your master inventory. Every tracked asset lives here.
From left to right:
| Column | What it shows |
|---|---|
| Hostname / IP | Icon (per type) + hostname + IP |
| Type | AI-classified type, or registered type |
| OS / Firmware | Operating system and firmware version |
| Risk | Color-coded badge (see §6.4) |
| Status | Color-coded badge (see §6.4) |
| Last Seen | Relative time since last check-in |
| Blockchain | Link to the latest on-chain transaction for this asset |
Pagination appears below the table if you have more than 50 assets. Click any row to open the asset's detail page.
Most assets are discovered automatically by Calibrant, but you can register one by hand:
When to register manually: air-gapped devices, assets on segments the agent cannot reach, or placeholder records for equipment that is on order.
Status badges: - 🟢 Active (green) — checking in normally - ⚫ Inactive (gray) — not seen recently but not declared dead - 🔴 Removed (red) — confirmed offline or decommissioned - 🟡 Unknown (yellow) — status cannot be determined
Risk badges: - 🔴 Critical — immediate attention required (unpatched firmware, exposed credentials, compliance violation) - 🟠 Elevated — above-baseline risk; review during next maintenance window - ⚪ Standard — normal operating risk - 🟢 Low — hardened, isolated, or well-protected
Optimization tip: Sort or filter by Critical at least once a week. Any asset sitting at Critical for more than 48 hours should have an owner assigned and a remediation ticket open.
Open this by clicking any asset. It is the most powerful screen in chainNode.
Read-only fields: - Asset Type — how chainNode categorizes the device. - First Discovered — when chainNode saw it for the first time. - Last Seen — most recent heartbeat. - Operating System — OS name and version.
Editable fields (hover to reveal the edit icon, click to edit, green ✓ to save, red ✗ to cancel): - Make, Model, Firmware Version - Department, Location, Assigned Owner - Risk Level
A "Saved" label confirms each edit. Errors appear in red.
Best practice: Fill in Assigned Owner for every critical asset. In an incident, the owner field is the first thing your response team will read.
A 24-hour line chart of every sensor reported by the device (temperature, humidity, pressure, etc.). Hover for exact values and timestamps.
Optimization tip: Use this chart to catch drift before alarms fire. A temperature sensor that slowly climbs 2°C over 24 hours is often the earliest sign of HVAC trouble.
This is what makes chainNode unique.
How to use this in an audit: 1. Copy the Config Hash. 2. Open the asset on Polygonscan via the TX link. 3. Show the auditor the transaction data matches your current hash. 4. The auditor now has independent, cryptographic proof that your record is authentic.
A vertical timeline of every configuration event on this asset, oldest at the bottom. Each event shows: - A colored dot (green/blue/red/purple, or amber if anomalous). - The event label (First Discovered, Configuration Changed, Removed, Reinstated). - Timestamp (relative + absolute). - Anomaly Detected badge with AI notes, if applicable. - Config hash transition (from → to), so you can see exactly what changed. - Blockchain link to the transaction that recorded the change.
Optimization tip: Before approving any firmware or configuration update, take a screenshot of the timeline. After the update, compare — you should see exactly one new MODIFIED event matching your change window. More than one, or any anomaly badges, means something else happened.
A focused view of IoT-only assets: sensors, cameras, controllers, meters, trackers, and unclassified IoT. The layout mirrors the Assets page but is pre-filtered.
Use this page when: - You're an OT (Operational Technology) operator who only cares about plant-floor devices. - You're investigating an industrial incident and need to exclude IT noise. - You're auditing IoT-specific compliance (e.g., FDA 21 CFR Part 11 on instrumentation).
All controls (filter, search, pagination, row-click to detail) work identically to the Assets page.
Three tabs: Active, All Alerts, Alert Rules.
Lists every unacknowledged alert as a card:
Acknowledging an alert: 1. Click Acknowledge. 2. Type notes explaining the resolution ("HVAC serviced, sensor back in range" or "Firmware update approved by J. Smith in ticket #4421"). 3. Click Confirm. 4. The acknowledgment is written to the Polygon blockchain, producing a second TX hash. This gives you an immutable record of who acknowledged what, when, and why. Use these as evidence in post-incident reviews.
Full historical table of every alert, acknowledged or not. Columns include time, severity, summary, asset, acknowledgment status, and the on-chain acknowledgment TX hash.
Lists every rule governing when alerts fire. Columns: rule name, type, severity, sensor, thresholds, status.
Creating a new rule:
temperature, humidity, pressure.
- Min / Max thresholds (optional) — numeric bounds.
- Notification Emails — type each address and press Enter to add it as a tag.Rule type reference:
| Type | Fires when… | Best for |
|---|---|---|
| Threshold | A sensor value crosses min or max | Temperature, pressure, humidity monitoring |
| Anomaly | The AI detects abnormal behavior | Catching novel issues with no known threshold |
| Change Detection | A configuration change is recorded | Unauthorized firmware or OS modifications |
| Offline Detection | An asset stops checking in | Detecting unplugged devices or failed network links |
Optimization tip: Start with broad Warning rules and tighten them to Critical once you've tuned out false positives. A Critical alert that cries wolf is worse than no alert at all.
Generate auditor-ready reports in seconds.
Six horizontal tabs, each corresponding to a compliance regime:
| Tab | Covers | Typical users |
|---|---|---|
| SOC 2 | Service organization controls | SaaS providers, MSPs |
| ISO 27001 | Information security management | Enterprise IT |
| HIPAA | Protected health information | Hospitals, clinics, medical devices |
| PCI-DSS | Cardholder data protection | Retail, payment processors |
| NIST | NIST Cybersecurity Framework | Government contractors, critical infrastructure |
| FDA | 21 CFR Part 11 | Pharmaceutical, life sciences, regulated manufacturing |
The description below the tabs explains exactly what chainNode records for that framework.
When generation completes, a summary appears showing: - Assets in range - Changes detected - Alerts fired
The report itself is an attestation bundle — it contains a blockchain attestation TX hash proving the data was not edited after generation.
Every report you've generated is logged in a persistent table with its own attestation TX. Auditors can replay any historical report and verify its contents on-chain.
Optimization tip: Run a fresh compliance report on the first business day of every month, whether or not an audit is scheduled. Build the habit now — it's much easier than scrambling the week before an auditor arrives.
One of the most common questions auditors and compliance officers ask is "what exactly does the blockchain contain?" Understanding the answer is important — both for defending the model in audits and for knowing what a report actually proves.
chainNode uses a hash-anchor architecture. The blockchain holds a cryptographic fingerprint plus a small metadata envelope for every asset event. The full, human-readable asset record lives in the chainNode database and is cryptographically linked to the on-chain proof via the transaction hash. This is lightweight, cheap, and sufficient for audit-grade verification — you do not need to put every field on-chain to get a tamper-proof trail.
Every asset discovery or configuration change writes one Polygon transaction. The payload is a JSON metadata envelope containing:
| Field | Meaning |
|---|---|
product |
Constant identifier: "chainnode" |
organization_id |
Your tenant UUID — proves the record belongs to you |
chainnode_asset_id |
Stable asset identifier (e.g., cn_line1-plc-01) |
hostname |
Device hostname at time of write |
ip_address |
IP address at time of write |
asset_type |
Classification (server, iot_controller, network_device, etc.) |
config_hash |
SHA-256 fingerprint of the full configuration |
change_type |
discovered, modified, removed, or reinstated |
timestamp |
ISO-8601 timestamp of the event |
Plus the Polygon block number and the transaction hash itself, which are recorded automatically by the chain.
config_hash actually coversThe hash is not a hash of a static document — it is a SHA-256 of a canonicalized JSON representation of the device's entire configuration, with only volatile timing fields (last_seen_at, scanned_at, received_at, agent_timestamp) excluded. Changing any of the following will produce a different hash:
This means a single hash check tells you whether anything about the device has drifted since the record was written.
The rich, human-readable data stays off-chain and is linked to the on-chain record by blockchain_tx_hash:
config_hash, blockchain_tx_hash, blockchain_block_number, blockchain_logged_atThe compliance report generator joins these two halves. Every row in a generated PDF or CSV includes the rich asset data and a clickable Polygonscan link to the transaction that proves it.
An auditor reading a chainNode compliance report can independently verify each line by:
metadata JSON on the transaction.config_hash in the report matches the one on-chain.organization_id matches your tenant.timestamp matches the report's logged time.If anyone tampered with the chainNode database after the fact, the re-computed hash would no longer match, and the tamper would be immediately visible. That is the property the blockchain is there to guarantee — nothing more, nothing less.
For a ready-to-hand-an-auditor walk-through of this verification process, see the companion document "How to Independently Verify a chainNode Report" included in your Welcome Package.
This is where you issue, rotate, and revoke the credentials that let agents, devices, and integrations talk to chainNode.
| Column | Meaning |
|---|---|
| Name | Human-readable label |
| Type | agent, device, or dashboard |
| Key | Masked prefix (full key never shown after creation) |
| Last Used | Most recent authentication, or "Never" |
| Status | Active or Inactive |
| Actions | "Deactivate" link for active keys |
Issue a fresh key in any of these situations:
⚠ The plaintext key is shown exactly once. Copy it immediately using the copy button. Store it in your password manager or secrets vault before closing the modal. If you lose it, you must deactivate the key and generate a new one.
Click Deactivate next to any active key. The key stops working instantly. It remains in the table for audit history but cannot authenticate.
Deactivate immediately if: - The key appears in a code commit, screenshot, or Slack message. - A laptop or device holding the key is lost or stolen. - A contractor or employee with key access departs.
When something goes wrong:
| Symptom | Likely cause | Fix |
|---|---|---|
| "Signing in..." hangs | Network or Supabase unreachable | Check internet; retry in 60 seconds |
| Dashboard shows zero assets | No agents running, or wrong API key | Verify the agent is running and its key is Active on the API Keys page |
| Alert badge never decreases | Unacknowledged alerts accumulating | Clear the Active tab; they persist until acknowledged |
| Blockchain column shows "—" | Hash pending confirmation on Polygon | Wait 30–60 seconds and refresh |
| AI Query returns an error | Query service temporarily unavailable | Retry; if persistent, contact support |
| Inline edit shows red error | Backend rejected the change | Check field format (e.g., firmware version must be text) |
| New asset doesn't appear | Agent not yet reporting, or type filter active | Clear all filters; wait 30 seconds |
Calibrant, chainNode's discovery agent, sweeps your network on a schedule you control. Understanding this setting — and tuning it to match your environment — is one of the highest-leverage decisions you'll make as an operator.
The agent reads a single value, agent.scan_interval, from its config.yaml. The value is in seconds, and it controls how often a full discovery sweep runs. Between full sweeps, the agent still processes event-driven change signals (a device announcing itself, a link flapping, a telemetry update), so the interval governs baseline freshness, not responsiveness to live events.
3600 seconds — one full sweep every hour.120 seconds (every 2 minutes) — tuned for fast visible change on stage.3600 seconds.chainNode's hourly default is faster than every major CMDB and discovery platform except agent-on-endpoint tools. Most legacy CMDB products rely on heavy, credentialed, scheduled sweeps that customers run daily or weekly because the scan itself is expensive.
| Platform | Typical default full-discovery cadence |
|---|---|
| IBM TADDM | Daily (Level 2) / weekly (Level 3), admin-scheduled — no out-of-box continuous interval |
| ServiceNow Discovery | Daily full sweep, customer-defined |
| Device42 | Daily |
| Lansweeper | Daily |
| Qualys / Rapid7 asset discovery | Daily to weekly |
| Tanium | ~15 seconds (agent-on-endpoint, different architecture) |
| chainNode | Hourly, default — tunable to 5 min |
chainNode's lighter, fingerprint-based scan is what makes hourly sustainable. Legacy CMDBs cannot run hourly without overwhelming the network and the target hosts.
The shipping default (60 minutes) is a safe middle ground. Tune it to match your operating context:
| Environment | Recommended interval | Why |
|---|---|---|
| OT / ICS / pharmaceutical / critical infrastructure | 5–15 min | Change-detection latency matters. Unauthorized firmware or PLC changes must surface fast. |
| General enterprise IT | 60 min (default) | Balances freshness against scan noise and bandwidth. |
| Large fleets (10,000+ assets) | 2–4 hours | Reduce bandwidth and agent CPU load. Event-driven signals cover gaps. |
| Cloud / ephemeral workloads | 15 min | VMs and containers spin up and die between slow scans. |
| Compliance-only / audit shops | Daily | Only need a verifiable snapshot per day for evidence. |
config.yaml on the machine running the chainNode agent.agent: section and edit the scan_interval value (in seconds):
yaml
agent:
scan_interval: 900 # 15 minutesCommon values:
| Interval | Seconds |
|---|---|
| 5 minutes | 300 |
| 15 minutes | 900 |
| 30 minutes | 1800 |
| 1 hour (default) | 3600 |
| 4 hours | 14400 |
| Daily | 86400 |
The chainNode mobile app brings live fleet intelligence, the facility map, alerts, and asset verification to your iPhone and iPad. It is designed as a companion to the web dashboard — ideal for walk-throughs on the plant floor, field audits, and at-a-glance monitoring away from your desk.
Status: The app is currently distributed via TestFlight (Apple's beta channel). A public App Store release is planned. Your account manager will send your TestFlight invite as part of the Welcome Package.
When the app leaves beta, installation will switch to a normal App Store download. Your API key and settings will carry over.
The first time you launch the app you'll see the Login Screen:
To pair the device with your tenant:
The API key is stored securely on-device. Subsequent launches skip the login screen and auto-connect.
Security tip: Issue each iPad its own API key. If a device is lost, deactivate just that key on the web dashboard (§11.4) without disrupting anyone else.
The app adapts to screen size:
Five tabs:
| Tab | Icon | Purpose |
|---|---|---|
| Dashboard | Grid | Fleet overview, live stats, recent changes |
| Assets | List | Searchable asset inventory |
| Network Canvas | Account tree | Zoomable floor-plan with live asset status, connections, and tap-to-inspect |
| Alerts | Bell | Active and historical alerts |
| Settings | Gear | Connection, display, about |
A mobile-optimized version of the web Dashboard:
Pull down on the page to force-refresh.
This is the iPad's signature feature — a zoomable, pan-able topology view of your entire fleet, purpose-built for walking the plant with the device in hand. It is the mobile companion to the web dashboard's Network Canvas.
Read-only by design. The iPad Network Canvas shows the layout your administrator designed on the web dashboard. Node positions are not editable on mobile. To rearrange the canvas, use the web dashboard. A "Read-only · Edit layout on web dashboard" hint is visible in the toolbar so nobody wonders why long-press does nothing.
Visual elements:
- A dark canvas background with subtle gridlines.
- Five labeled zones — Core Network (blue), Production (purple), Facilities (green), Security (amber), Warehouse (red) — rendered as translucent background regions with corner labels.
- Asset nodes positioned inside their zones. Each node shows:
- A risk-colored indicator dot with a soft glow (red = critical, amber = elevated, green = low, gray = standard/unknown).
- An asset-type icon (PLC, HMI, sensor, camera, switch, server, etc.).
- The hostname as the primary label.
- The asset type as a small sublabel.
- Dashed connection lines between related nodes (for example, every PLC back to the core switch, every HMI back to its PLC), drawn with a CustomPainter so they stay crisp at any zoom level.
Gestures & toolbar: - Pinch to zoom — range 0.3× to 3.0×, smooth and inertial. - Drag with one or two fingers to pan around the canvas. A 400 px boundary margin keeps you from panning fully off the content. - Fit to Screen button (top-right, screen-fit icon) — instantly resets the view so the entire canvas is framed, no matter how far you've zoomed or panned. Use this any time you feel lost. - Live indicator (top-left, next to the tab title) — a green pulsing dot confirming the canvas is backed by live data. - Asset count — a small label in the toolbar shows "N assets" so you can confirm everything is loaded.
Tapping a node opens an Asset Bottom Sheet showing: - Asset name, status badge, hostname/IP, asset type, last verified time, and blockchain TX hash (if verified). - A "View Full Details →" button that opens the full Asset Detail screen (§16.10).
Optimization tip: Mount an iPad in your control room running the Network Canvas tab, set the refresh interval to 15 seconds (Settings → Display), and hit Fit to Screen. You now have a live mimic display for the entire facility — without the cost of a traditional SCADA HMI. For a walk-through, pinch into whichever zone you're working in and the canvas becomes a live, labeled map of just that area.
Pull-to-refresh works on this tab too.
Organized into four sections plus a disconnect action:
CONNECTION - Supabase URL (read-only). - API Key — shows a masked preview (first 12 characters + "…"). Tap to edit in a modal. - Connection status — live green/red dot with "Connected" or "Disconnected" text. - Test Connection button — runs a verification call and updates the status indicator.
DISPLAY - Refresh interval — segmented control: 15s / 30s / 60s / Manual. Default is 30s. - Show offline assets — toggle (default ON). - Compact asset list — toggle (default OFF) for denser rows.
NOTIFICATIONS - Placeholder: "Push notifications coming soon."
ABOUT - App version (currently 1.0.0). - "Powered by Polygon Mainnet" with a tappable link to polygonscan.com. - Footer: Witty Inventions Digital, LLC.
DISCONNECT — a red button at the bottom. Tapping it clears the stored API key and returns you to the Login screen. Use this before handing the device to a different user, or if the device will be retired.
Opened from Assets, Network Canvas, or Dashboard. It mirrors the web Asset Detail page with a mobile-friendly layout:
The mobile Asset Detail screen is read-only. To edit owner, location, risk level, etc., use the web dashboard.
| Symptom | Likely cause | Fix |
|---|---|---|
| "Connection failed" on login | Wrong, inactive, or deactivated key | Verify the key is Active on the web dashboard; regenerate if needed |
| App opens to Login every launch | Storage reset (e.g., after reinstall) | Re-enter the API key; it will auto-load on future launches |
| Dashboard shows stale numbers | Refresh interval set to Manual | Settings → Display → set Refresh Interval to 30s |
| Network Canvas is empty | No assets in tenant, or the API key is inactive | Check the asset count in the toolbar; verify the key on the web dashboard |
| Lost inside a zoomed-in Network Canvas | Pinched too far in, panned off-screen | Tap Fit to Screen in the toolbar to reset the view |
| Can't move nodes on the Network Canvas | This is intentional — the mobile canvas is view-only | Edit node positions on the web dashboard; the iPad mirrors that layout |
| Assets missing from list | "Show offline assets" is OFF | Settings → Display → toggle it ON |
| Can't receive TestFlight invite | Invitation expired or Apple ID mismatch | Ask your chainNode account manager to re-send |
The following capabilities are planned for future releases of the iPad Companion:
Your feedback during the TestFlight phase directly influences what ships first — use the TestFlight Send Beta Feedback option to tell us what you need.
chainNode is a trademark of its respective owner. Polygon is a trademark of Polygon Labs. This manual corresponds to dashboard release 1.0.