diff --git a/products/clickstack/example-datasets/chrome-extension.mdx b/products/clickstack/example-datasets/chrome-extension.mdx
new file mode 100644
index 00000000..9a5ba2dd
--- /dev/null
+++ b/products/clickstack/example-datasets/chrome-extension.mdx
@@ -0,0 +1,182 @@
+---
+slug: /use-cases/observability/clickstack/example-datasets/chrome-extension
+title: 'Chrome extension'
+description: 'Instrument any website for ClickStack session replay and RUM using the HyperDX Chrome extension'
+doc_type: 'guide'
+keywords: ['clickstack', 'chrome extension', 'session replay', 'browser sdk', 'rum', 'observability', 'hyperdx']
+---
+
+import { Image } from "/snippets/components/Image.jsx";
+
+
+**TL;DR**
+
+This guide shows how to inject the ClickStack Browser SDK into any website using the [HyperDX Chrome extension](https://github.com/kyreddie/hyperdx-chrome-extension). No changes to the target application's source code are required — configure the extension once, browse the site, and view session replays in ClickStack.
+
+Time required: 10-15 minutes
+
+
+## Overview {#overview}
+
+The [HyperDX Chrome extension](https://github.com/kyreddie/hyperdx-chrome-extension) injects the [@hyperdx/browser](https://github.com/hyperdxio/hyperdx-js) SDK into pages you visit. It is useful when you want to debug session replay, RUM, or trace propagation on a site without modifying its codebase — for example, a third-party application, a production build, or a local dev server with strict Content Security Policy (CSP).
+
+The SDK is bundled inside the extension (~480 KB), so pages do not need to load scripts from a CDN at runtime. The extension tries external `chrome-extension://` script injection first and falls back to inline injection when CSP blocks extension-origin scripts.
+
+Unlike the [Session Replay Demo](/products/clickstack/example-datasets/session-replay), which instruments a demo application you control, this approach works on **any** URL you open in Chrome. You generate session data by interacting with the site as a normal user.
+
+For background on session replay and how it fits into ClickStack, see the [Session Replay](/products/clickstack/features/session-replay) feature page.
+
+## Prerequisites {#prerequisites}
+
+- Google Chrome or a Chromium-based browser (Edge, Brave, etc.)
+- [Docker](https://docs.docker.com/get-docker/) installed, if running ClickStack locally
+- Ports 4317, 4318, and 8080 available (for local ClickStack)
+
+## Running the demo {#running-the-demo}
+
+
+
+### Clone the extension repository {#clone-extension}
+
+```shell
+git clone https://github.com/kyreddie/hyperdx-chrome-extension
+cd hyperdx-chrome-extension
+```
+
+
+### Install the extension {#install-extension}
+
+1. Open Chrome and go to `chrome://extensions`.
+2. Enable **Developer mode** (top right).
+3. Click **Load unpacked**.
+4. Select the `hyperdx-chrome-extension` directory you cloned.
+
+The extension appears in your toolbar as **HyperDX Browser Extension**.
+
+
+### Start ClickStack {#start-clickstack}
+
+If you already have a ClickStack or HyperDX ingestion endpoint, skip to [Configure the extension](#configure-extension).
+
+For a local ClickStack stack, start the OpenTelemetry collector:
+
+```shell
+docker run \
+ -p 8080:8080 \
+ -p 4317:4317 \
+ -p 4318:4318 \
+ clickhouse/clickstack-otel-collector:latest
+```
+
+Open HyperDX at [http://localhost:8080](http://localhost:8080) to confirm the UI is running.
+
+For a full local deployment with ClickHouse and HyperDX UI, see [Getting started with ClickStack](/products/clickstack/getting-started/oss).
+
+
+### Get your API key {#get-api-key}
+
+For local ClickStack, an API key may not be required — leave the field empty in the extension when sending telemetry to a self-hosted collector on `http://localhost:4318`.
+
+For ClickStack Cloud or HyperDX Cloud ingestion, open HyperDX, go to **Team Settings → API Keys**, and copy your **Ingestion API Key**.
+
+
+### Configure the extension {#configure-extension}
+
+Click the **HyperDX Browser Extension** icon in the Chrome toolbar and fill in the settings:
+
+| Field | Local ClickStack example | Notes |
+|-------|--------------------------|-------|
+| **Enable HyperDX Monitoring** | On | Master toggle for injection |
+| **Service Name** | `my-frontend-app` | Required — identifies the service in ClickStack |
+| **API Key** | *(empty)* | Required for cloud ingestion; optional for some self-hosted setups |
+| **Collector URL** | `http://localhost:4318` | OTLP HTTP endpoint; cloud default is `https://in-otel.hyperdx.io` |
+| **Environment** | `development` | Optional — sets `deployment.environment` resource attribute |
+| **Trace Propagation Targets** | `/api\.myapp\.domain/i, /localhost/i` | Optional — comma-separated JavaScript regex patterns for trace header propagation |
+| **Only inject on matching URLs** | Off | Enable to limit which sites are instrumented |
+| **Capture console logs** | Off | Enable to forward browser console output |
+| **Advanced network capture** | Off | Enable for detailed network request capture |
+
+Click **Save Configuration**, then reload any tabs you want to instrument.
+
+{/* TODO: Add screenshot once `images/clickstack/chrome-extension/extension-config.png` is available (upstream PR references it but does not include the asset). */}
+
+The configuration above shows a typical local setup: monitoring enabled, service name set, collector pointed at `http://localhost:4318`, and trace propagation limited to API and localhost URLs.
+
+
+### Browse a site and generate a session {#browse-site}
+
+Open any website or local application in Chrome — for example, [http://localhost:3000](http://localhost:3000) for a frontend dev server.
+
+Interact with the page normally: click links, submit forms, trigger errors, and navigate between views. The extension injects the Browser SDK automatically on each page load when configuration is valid.
+
+
+### View your session replay {#view-session-replay}
+
+Return to HyperDX at [http://localhost:8080](http://localhost:8080) and navigate to **Client Sessions** from the left sidebar.
+
+You should see your session listed with its duration and event count. Click the ▶️ button to replay it.
+
+Switch between **Highlighted** and **All Events** modes to adjust the level of detail on the timeline.
+
+
+
+## URL filtering {#url-filtering}
+
+By default, the extension injects the SDK on every page you visit while monitoring is enabled. To restrict injection to specific sites, turn on **Only inject on matching URLs** and add one pattern per line (or comma-separated):
+
+| Pattern | Matches |
+|---------|---------|
+| `http://homedepot.com/*` | HTTP only on `homedepot.com` |
+| `*://homedepot.com/*` | HTTP and HTTPS on `homedepot.com` |
+| `*://*.homedepot.com/*` | Subdomains such as `www.homedepot.com` |
+| `https://localhost:3000/*` | Local dev server on port 3000 |
+
+Reload the tab after saving URL patterns.
+
+## Verify injection {#verify-injection}
+
+Open DevTools on a monitored page (**Console** tab), reload the page, and look for:
+
+```
+[HyperDX Extension] Configuration valid, injecting HyperDX
+[HyperDX Extension] Injected via extension scripts
+[HyperDX Extension] HyperDX initialized
+```
+
+If extension-origin scripts are blocked by CSP, the extension logs a fallback message and retries with inline injection.
+
+## Troubleshooting {#troubleshooting}
+
+### Sessions not appearing in HyperDX {#sessions-not-appearing}
+
+1. Check the browser console for `[HyperDX Extension]` log messages or errors
+2. Confirm **Enable HyperDX Monitoring** is on and **Service Name** is set
+3. Verify ClickStack is running and the collector URL is correct (e.g. `http://localhost:4318`)
+4. Adjust the time range in the Client Sessions view (try **Last 15 minutes**)
+5. Hard refresh the browser: `Cmd+Shift+R` (Mac) or `Ctrl+Shift+R` (Windows/Linux)
+
+### `chrome-extension://invalid/` errors {#extension-invalid}
+
+Reload the extension at `chrome://extensions`, then hard-refresh the tab. This happens when the extension was updated or reloaded while tabs were still open.
+
+### No injection on a site {#no-injection}
+
+1. Check that monitoring is enabled and a service name is configured
+2. If **Only inject on matching URLs** is on, confirm the current page URL matches one of your patterns
+3. Some sites block both extension-origin and inline script injection via CSP — injection may not be possible on those pages
+
+### `HyperDX: Missing apiKey` in console {#missing-api-key}
+
+Expected when the API key field is empty. Add an ingestion API key from HyperDX for cloud endpoints, or ignore if your self-hosted collector accepts unauthenticated local traffic.
+
+## Privacy {#privacy}
+
+The extension injects observability code into pages you visit. Use it only on sites you are allowed to debug. Do not share API keys or commit them to version control.
+
+## Learn more {#learn-more}
+
+- [Session Replay](/products/clickstack/features/session-replay) — feature overview, SDK options, and privacy controls
+- [Browser SDK Reference](/products/clickstack/ingesting-data/sdks/browser) — full SDK options and advanced configuration
+- [Session Replay Demo](/products/clickstack/example-datasets/session-replay) — instrument a demo application from source code
+- [ClickStack Getting Started](/products/clickstack/getting-started) — deploy ClickStack and ingest your first data
+- [HyperDX Chrome extension on GitHub](https://github.com/kyreddie/hyperdx-chrome-extension) — source code and issue tracker
diff --git a/products/clickstack/navigation.json b/products/clickstack/navigation.json
index eb640abf..65750f13 100644
--- a/products/clickstack/navigation.json
+++ b/products/clickstack/navigation.json
@@ -23,7 +23,8 @@
"products/clickstack/example-datasets/kubernetes",
"products/clickstack/example-datasets/local-data",
"products/clickstack/example-datasets/remote-demo-data",
- "products/clickstack/example-datasets/session-replay"
+ "products/clickstack/example-datasets/session-replay",
+ "products/clickstack/example-datasets/chrome-extension"
]
},
"products/clickstack/architecture",