C-01
Real-time tag detection
Hooks the JS layer at document_start, sniffs the network (fetch, XHR, image, beacon, form POST, plus a webRequest safety net), parses cookies, reads the DOM. Rescans on a 0 ms → 15 s ladder and on every SPA route change, so Next.js apps don't go dark.
C-02
PII leak detector
Scans every fire's URL and payload — nested JSON bodies included — for raw emails, phone numbers, and 15+ named PII fields. Short-code values are heuristically validated to suppress false positives. Tiered raw / identifier / hashed.
C-03
Consent Mode classifier
Reads gcs= on every Google ping and classifies fires as denied-state modeling, plumbing, real violation, or inconsistent.
C-04
Consent Mode simulator
Injects Grant / Deny via gtag('consent','update'). One-click Accept / Reject auto-click across 19 CMP vendors.
C-05
Server-side detector
Identifies sGTM (renamed paths, encoded transport, Stape), first-party proxies, and vendor server APIs by classifying captured fires against canonical hostnames. Surfaces the actual proxy domain — and tells Google Tag Gateway apart from a server-side container.
C-06
Latency badge per fire
Every fire gets a green / yellow / red badge from performance.now(). The slow tag hanging your conversion is visible immediately.
C-07
Live events & regex search
Stream of every fire — platform, event, method, account ID, latency, severity. Substring or /regex/ filter across names, IDs, URLs and payloads — find a hit by transaction ID. Pause / resume.
C-08
A–F health score
100-point scale. Deductions for pre-consent fires, duplicates, retired tags, dormant IDs, missing IDs, missing required params, CSP-blocked tags, silent tags, and PII — steepest for PII sent under denied consent.
C-09
Saved runs & diff
Persist the full audit state under a name. Load any saved run for a side-by-side diff with the current page. 10 runs per browser.
C-10
One-click HTML report
Single self-contained HTML file with every tag, event, score, consent transition, cookie, PII finding, and SST signal — opening with a plain-language page summary and compliance table. Send it. Sign it off.
C-11
IAB privacy frameworks
Reads __tcfapi, __gpp, __uspapi, and Global Privacy Control. TCF v2.2 purpose grid plus a fire audit that flags tags firing against denied consent.
C-12
Per-hit consent decode
Decodes Google's gcd parameter on every hit — the consent state each hit actually carried, per signal, with default vs. user-update provenance.
C-13
Meta CAPI dedup audit
Flags Meta browser events missing the server-dedup event ID when dedup is demonstrably in use — the fires at risk of double-counted conversions.
C-14
CSV export & cross-run compare
Export every captured fire as an RFC-4180 CSV, and compare any two Saved Runs for a side-by-side delta of tags, fires, PII, cookies, and SST signals.
C-15
Meta form-POST & Shopify capture
Intercepts the hidden form POST carrying Meta's richest events (>2 KB payloads) and parses Shopify's undocumented trackShopify calls — closing the "Pixel Helper sees it, we don't" gap.
C-16
Silent-tag audit & safety net
Flags tags that are installed but never fire — with a NO EVENTS badge and health deduction — and a webRequest safety net catches fires from sandboxed frames no JS hook can reach.
C-17
PII under denied consent
Every PII finding is correlated with the consent evidence that governed the fire — the hit's own gcd/gcs, then the IAB TCF record, then observed state. The GDPR-fine scenario as one PII · NO CONSENT finding, with the steepest health deduction.
C-18
Conversion reconciliation
One row per platform for the same checkout — conversions, sends, order ID, value, currency, dedup ID, user data. Flags duplicate conversions, order-ID disagreement, value or currency mismatch, and missing dedup IDs.
C-19
Enhanced Conversions audit
Is user-provided data captured and sent? Reads Google's tv.1~ wrapper and UET's pid on the wire and the capture calls in JS. Verdicts: sent · captured but not sent · configured with no data · not detected.
C-20
TC-string decoder & Tag Gateway
Decodes the IAB euconsent-v2 string offline when a CMP exposes no working __tcfapi — paste any TC string to read it — and reports Google Tag Gateway as what it is: a first-party delivery path to Google, not a server-side container.