A Chrome / Edge extension for the Mist Disconnect Console. The RCA engine is transcribed 1:1 from mist_disconnect_console.py — same correlations, same same-AP radar gate, same verdict. Nothing about the analysis changed.
No local server, no Python. The local ThreadingHTTPServer is deleted rather than ported; host_permissions let the extension page reach the Mist API directly. No 127.0.0.1:8765 hop, nothing listening on the machine.
- One package for Chrome and Edge. The two APIs that actually diverge (
chrome.sidePanel,browser.*promises) are unused, so there is no Edge-specific code. - Token is in-memory only. One variable, passed as an argument to the fetch layer, gone when the tab closes. No
chrome.storage, nolocalStorage, no cookies, and it never reaches the service worker. Idle wipe after 30 minutes. - Minimal permission surface. Zero entries in
permissions. Nine explicithost_permissions, one per Mist region — never<all_urls>. No content scripts, no dependencies, explicit CSP. - Parity enforced.
tests/parity.test.jsis the port of the Pythonself_test(), all 182 assertions.tests/token-hygiene.test.jsgreps the shipped package for every storage and logging path the policy forbids. 35 blocks / 189 assertions, green.
Install
Download mist-disconnect-console-extension.zip below and unzip it, then chrome://extensions or edge://extensions → Developer mode → Load unpacked → select the unzipped folder. Chrome / Edge 116+. Click the toolbar icon; Run sample investigation works with no token.
From a clone, Load unpacked chrome-edge-extension/ instead.
The Python console is unchanged in this release and stays in the repo as the reference implementation the parity suite is checked against.