Visualize and verify Signet Protocol receipt chains directly inside VS Code with inline provenance metadata.
Features
Local integrity verification of receipt chain hash links
Fetch full chain by trace id from a running Signet server
Interactive hop visualization (tree + webview)
NEW: Signal Chat webview – send prompts, optionally invoke connected MCP server chat tool, each prompt logged as a Signet receipt hop
Export bundle & copy CID for provenance workflows
Inline decorations (hash, hop index, status) in JSON
One-click CID diff (expected vs computed)
Minimal bundled footprint (dependencies inlined)
Screenshot
(Add images/screenshot.png and update this section after capturing.)
<preview pending>
Branding
The Signet logo above is included from the parent repository assets/LogoSignet.png. Use a 128x128 cropped/transparent variant for the marketplace icon.png if higher clarity is needed. Replace icon.png and bump the extension version to publish the new branding.
Commands ("Signet Lens" prefix)
Verify Receipt Chain
Visualize Receipt Chain
Copy Bundle CID
Diff CID
Open Settings
Signet: Upgrade Plan
MCP: Add / Connect / Invoke Tool
Open Signal Chat (view appears under Signet Lens activity icon)
Settings
Setting
Description
Default
serverUrl
Base URL of Signet backend
http://localhost:8088
apiKey
API key used for authenticated endpoints
(empty)
autoVerify
Auto-verify JSON receipts on focus/change
true
showInlineDecorations
Show inline hash / hop metadata
true
highlightReceiptFields
Highlight receipt specific fields
true
Requirements
Run a Signet Protocol backend (see project README) and obtain an API key configured on the server.
Publishing (Maintainers)
Bump version in package.json
npm install (ensure toolchain present)
npm run package:min (generates *.vsix)
npm run publish (requires VSCE_PAT or interactive PAT)
Signal Chat Privacy & Telemetry
Signal Chat posts each prompt (and basic length metadata) to your configured Signet server using the lightweight /v1/exchange/mcp endpoint so a receipt hop is recorded. No responses are stored by the extension beyond the current session view. Telemetry remains opt‑in (signet.telemetry setting) and, when enabled, only sends anonymous event counters (no prompt content).