exhibit

Exhibit user guide

Exhibit is a Chrome DevTools panel that records browser-visible network requests, explains what each one did in plain language, and lets you inspect the sanitized evidence. Everything stays on the machine: the extension has no backend, sends no telemetry, and declares no required host permissions. Optional access is requested for the inspected page’s origin only when interaction grouping starts. Chrome grants that origin access to the extension, not just one tab, and keeps the grant until the user revokes it or uninstalls the extension; Exhibit uses it only for the active inspected tab.

Install the unpacked extension

  1. Install dependencies and build:

    pnpm install
    pnpm build
    
  2. Open chrome://extensions and enable Developer mode.
  3. Choose Load unpacked and select .output/chrome-mv3.
  4. Open DevTools on any regular web page. An Exhibit panel appears beside Elements, Console, and Network.

Chrome 120 or newer is required. Exhibit was built and manually checked against Chrome 150 on macOS; 120 is the minimum declared from the platform features the code uses, not a tested matrix. Chrome pages (chrome://, edge://, about:) cannot be inspected; the panel says so instead of showing an empty ledger.

Record a session

Recording also asks for interaction access to the inspected page’s origin. If Chrome declines, the panel keeps recording network evidence and says that interaction grouping is unavailable. Chrome’s grant is origin-wide and persistent, while Exhibit’s active collector remains scoped to the inspected tab and recording lease.

Read the evidence

Select a request to open the detail workspace. It has two views:

Explain answers “what happened”:

Inspect shows the developer evidence in tabs: Overview, Request, Response, Timing, Initiator, and Evidence. Bodies render as Structured, Text, or Raw protocol (for React Flight payloads). Large bodies render only after their section is opened.

Filter, search, and compare

Copy and export

Retention

Clear does not revoke an optional origin permission. Revoke it through Chrome’s extension permissions/site-access controls when it is no longer needed.

The command-bar Settings dialog adds custom sensitive field names. Mandatory authorization, cookie, credential-name, and token-pattern protection cannot be disabled. Stop and Clear before changing custom names; the setting then applies to later captures and persists locally. Theme choice also persists locally.

Recovered sessions are re-redacted, their request identifiers are reissued, and their stored analysis is discarded and recomputed rather than trusted.

Keyboard

Context Keys
Request ledger rows Home End to move, Enter or Space to open
Tab lists (Explain/Inspect, evidence tabs, body modes) Home End
Column separators (8 px), Shift + (32 px), Home, End
Dialogs and the filters drawer Tab cycles inside, Esc closes, focus returns to the trigger