AirIndex Developer Tool · Widget v1

AirIndex Verify Widget

A three-line embeddable badge that surfaces AirIndex audit-chain verification on any cited AIX-ID. Drop it next to AirIndex data in your reports, dashboards, or published documents — readers click through to cryptographic proof at /verify/{aix-id}.

1. Integration

Three lines of code. The widget auto-scans the page for elements carrying a data-airindex attribute and renders each as a verification badge.

<div data-airindex="aix:hp:HD67TBTA"></div>
<script src="https://www.airindex.io/widget/v1/verify.js" async></script>

That renders this badge inline:

Each badge is a link to airindex.io/verify/{aix-id} opening in a new tab. The verification page itself works without AirIndex servers after the initial fetch — DigiCert RFC 3161 TSA + OpenTimestamps + Bitcoin anchor, verifiable locally with openssl + ots.

2. Options

Configure each badge via additional data-attributes on the host element.

<div data-airindex="aix:hp:HD67TBTA"
     data-airindex-theme="dark"
     data-airindex-size="small"></div>
AttributeValuesDefault
data-airindex
required — AIX-ID to verify
aix:hp:HD67TBTA
data-airindex-themelight · dark · minimallight
data-airindex-sizesmall · mediummedium

3. Live Demo

All theme and size combinations rendered against the same sample AIX-ID (aix:hp:HD67TBTA — Iowa Methodist Medical Center heliport).

theme=light · size=medium
theme=light · size=small
theme=dark · size=medium
theme=dark · size=small
theme=minimal · size=medium
theme=minimal · size=small

v2 · Live Verification

The badge above (v1) is a static navigation surface — it links to proof but always reads the same. v2 is a drop-in upgrade: same three lines, same data-attributes, but each badge fetches the real audit-chain status of its AIX-ID and renders it. Point the script tag at /widget/v2/verify.js to opt in; existing v1 embeds are unaffected.

<script src="https://www.airindex.io/widget/v2/verify.js" async></script>
<div data-airindex="aix:hp:HD67TBTA"></div>

Each badge makes one call to /api/widget/verify/{aix-id} (CORS-open, hour-cached) and renders one of four honest states. The destination /verify/{aix-id} page stays independently verifiable with no AirIndex server in the trust path.

VerifiedBitcoin block 949,106AirIndex↗Anchored to a Bitcoin block
VerifiedBitcoin pendingAirIndex↗Timestamped; commitment not yet mined
RegisteredAudit chainAirIndex↗Real identifier, not yet anchored
UnrecognizedAirIndex↗Not a registered AIX-ID

See the live fetch across every theme and size at /widget/v2/demo.html.

4. Dynamic Content (SPAs)

For React, Vue, Svelte, or any framework that mutates the DOM after initial load, call window.AirIndexWidget.refresh() after rendering new data-airindex elements. The widget tracks which elements have already been rendered, so re-running refresh() is idempotent.

// React useEffect after content renders:
useEffect(() => {
  window.AirIndexWidget?.refresh();
}, [data]);

5. Versioning

The widget is served from a versioned URL path so embeds never break. /widget/v1/ is the original static navigation badge and remains supported, unchanged. /widget/v2/ adds live audit-chain status on the same embed contract — opt in by pointing the script tag at it. Future breaking changes ship under a new version path; backward-compatible improvements ship in place.

6. License

The widget is free to use commercially with no attribution required beyond the link the widget itself surfaces. Same posture as the AIX-ID identifier system: free to look up, free to cite, free to use commercially. See AIX-ID License for the broader licensing framework.

See Also

AirIndex Verify Widget · v1.0.0 (navigation) · v2.0.0 (live verification) · airindex.io · Vertical Data Group, LLC