← Wireframes
Release History
TagSentry
Changelog
Every release, every fix, every new feature — in one place. The extension targets Chrome MV3, with all data stored locally in chrome.storage.local, zero cloud sync.
Auto-Save Settings
All settings controls now save the moment you interact — toggles fire on change, the max sessions number waits 600ms after the last keystroke. No Save button required. A silent flag suppresses the toast on auto-save while preserving it for the explicit Save button.
Manual Permanent Exclusions
A + Add button in the Permanent Exclusions header opens a modal where you can exclude by Host (free-text hostname, protocol/path stripped automatically) or Vendor (alphabetically sorted picker of all built-in and custom vendors).
Console Error Monitor Removed
Backed out entirely: console.error / window.onerror / unhandledrejection hooks removed from injected.js; relay removed from content.js; pageErrors Map and all handlers removed from background.js and panel.js.
PII Chip Fully Respects Disabled Patterns
Detail panel sections now receive getVisiblePIIFindings(entry) instead of raw entry.piiFindings. Inline param highlights and ⚠ PII badges in Query Params and Body both respect which patterns are enabled. saveSettings() triggers a full re-render of the live feed and open detail panel.
Permanent Exclusions
Right-click any request to permanently exclude a vendor or hostname across all sessions. Stored in chrome.storage.local alongside the whitelist; applied at capture time in the background service worker so excluded entries never reach the live feed.
Multi-Select & Bulk Actions
☑ Select mode adds checkboxes to all rows. A bulk action bar offers: Export selected, Hide others this session, or Remove others from the list. Multi-select state is tracked in state.multiSelect.selected (a Set of entry IDs).
Request Type Chips + Filter
Each row shows a type chip (XHR, FETCH·POST, IMG, SCRIPT…) derived from getRequestLabel(). A dropdown in the filter toolbar narrows the live feed to a single request type. Type filter clears with Clear.
Path Disambiguation
When multiple requests share the same hostname, getDisambigPath() returns the shortest 1–2 segment suffix that uniquely identifies the URL within the group. Shown at 70% opacity beneath the host; highlighted by the search term.
Expand All / Collapse All
A button in the Body section header bulk-toggles all nested JSON tree nodes. State is persisted in state[sec.id + '_allExpanded'] and restored across re-renders. Hidden when the body has no nested objects.
Universal Search Highlight + Per-Request Search
Live feed search term highlights in the detail panel. A secondary search input in the detail header (state.detailSearch) narrows highlighting to that request only. First Escape clears per-request search; second closes the detail panel.
Adobe Web SDK (alloy.js)
Adobe Experience Platform Edge Network requests (adobedc.net/ee/, etc.) now identified as vendor adobe_websdk in the Analytics category. XDM envelope flattened so individual event fields are scannable for PII without expanding nested JSON manually.
PII Default Fix
Three-value sentinel replaced null/undefined ambiguity: null = never configured (all-on), [] = user explicitly turned all off, [...ids] = saved selection. Fresh installs correctly default to all-on without overwriting user preferences on existing installs.
Filter / Re-render Bug Fixes
Five bugs fixed: empty search clear, scroll-to-bottom jump on re-render, selected row highlight lost after re-render, stale detail panel when selected entry filtered out. addTagRow(entry, isAppend) flag guards auto-scroll.
VENDOR_PARSERS Map
Structured vendor parser map replacing ad-hoc conditionals. Each vendor entry declares URL patterns, a parser function, and metadata. Custom vendor overrides and per-builtin edits applied at parse time.
Redirect Chip (onBeforeRedirect)
onBeforeRedirect listener captures 3xx redirect tracking pixels and impression beacons that never reach onCompleted. Redirect entries show a distinct chip in the live feed.
Session-Scoped Ignore List
Right-click any row to hide all requests from a vendor or hostname for the current session. Ignore bar above the list shows active rules with a Clear button. Superseded in v1.5 by the two-tier permanent/session exclusion model.
Allow List Eye Button Exclusions
Each vendor row in the Allow List tab gets a 👁 / 🙈 eye button to exclude that vendor from the live feed entirely — independent of the enabled/disabled toggle.
Vendor Edit / Override Modals
Custom vendors get an ✎ Edit button; built-in vendors get an ⓘ View/Edit button opening a read-only-by-default modal with an Override mode to modify URL patterns, name, or category without replacing the built-in entry.
Session Save → Immediate Tab Switch
After saving a session, the panel automatically switches to the Sessions tab so the saved entry is immediately visible. Previously required manual navigation.
Default Light / Large Theme
New installs open with Light theme and Large (14px) font. Version badge reads live from chrome.runtime.getManifest().version — never stale. Migration guard prevents overwriting existing saved preferences.
Per-Tab Request Cache
Switching browser tabs no longer overwrites the request list. Each tab's session is cached separately in a tabCache Map and restored instantly on return. The active tab ID governs which session is displayed.
Allow List Enable / Disable All
One-click toggle to enable or disable all vendors at once. Button label and color update dynamically: green "Enable All" when anything is disabled; red "Disable All" when everything is on. Saves immediately.
PII Respects Disabled Patterns
Turning off a PII pattern in Settings immediately removes its chips from tag rows, its count from the badge, and its rows from the PII tab — no panel reload required. Live re-evaluation on every settings change.
PII Tab Search & Filter
Search findings by parameter name. Filter by severity (HIGH / MED / LOW). Jump directly from a PII chip on any tag row to that vendor's findings in the PII tab with a pre-set vendor filter banner.
Custom PII Patterns
Add named regex patterns with severity levels and a live test field that validates the regex against sample values before saving. Industry-standard built-in patterns hardened to RFC 5322 (email), NANP (phone), and LUHN-aware (cards).
Clear Button Fix
In-flight requests no longer re-populate the list after clicking Clear. A generation counter increments on each clear; background NEW_REQUEST messages carrying a stale generation are silently dropped.
Light / Dark Theme + Font Size
Full theme switcher (Light / Dark) and three font sizes (S / M / L) with preference persistence in chrome.storage.local. Applied immediately without reload.
Keyboard Navigation + Regex Search
↑↓ arrow keys navigate the tag list. / key focuses the search box. Regex mode toggle (/Re) activates regex matching; syntax errors are caught and displayed inline. Resizable detail panel and expandable inline JSON tree nodes.
Initial Release
Chrome MV3 side-panel extension. Live request feed with vendor identification (50+ patterns), PII detection (email, phone, SSN, IP, cards), Allow List with per-vendor toggles, Session save/load, Baseline diff engine, and multi-format export (CSV / JSON / HTML / HAR).