Skip to main content
Version: 0.1.0

Privacy Policy

Last updated: May 8, 2026

Event Lens's privacy principle: Your data stays with you.

What Data Does Event Lens Collect?

Event Lens records the following information only in your browser.

Event information

  • Event name (e.g. user:login).
  • Event type (CustomEvent, postMessage, BroadcastChannel, PubSub).
  • Event payload (the data the user code emitted).
  • Timestamp.
  • Source (file and line).
  • Subscriber count and names.

Network requests

  • fetch / XHR URL.
  • HTTP method (GET, POST, etc.).
  • Request headers.
  • Request body.
  • Response status code.
  • Response body.
  • Request duration.

Listener information

  • addEventListener calls.
  • removeEventListener calls.
  • Active listener count.
  • Potential memory leaks.

Session information

  • All events (the most recent 500).
  • Network requests.
  • Memory leak report.
  • Listener counts.
  • Breakpoints.
  • Performance budget settings.
  • Replay history.

Technical information

  • Page URL.
  • Page title.
  • Browser console errors.
  • Extension version.

What Data Is Sent Anywhere?

Nothing. Event Lens runs entirely offline.

An event happens on the page
|
Event Lens records it
(in browser memory)
|
DevTools panel shows it
(stays with you, sent to no one)

Where data is not sent

  • Servers (no backend calls).
  • Analytics services (Google Analytics, Mixpanel, etc.).
  • Cloud storage (Google Drive, S3, etc.).
  • Telemetry systems (no usage tracking).
  • Ad networks.

Where data is stored

  • Browser memory — RAM, for the current session.
  • Chrome localStorage — under the extension's storage.
  • Browser cache — cleared when the browser closes.

Where Is Data Stored?

Browser memory

Events are kept in RAM while the DevTools panel is open.

  • Panel open → in RAM.
  • Panel closed → discarded.

If the tab closes, the data is gone.

Chrome localStorage

Some settings persist even when the panel is closed:

  • Settings (budget, theme, filter preferences).

localStorage is managed by Chrome. To wipe it, see Clearing Data below.

Export files

The JSON file produced by Export:

  • Lives in your browser's Downloads folder.
  • Is not encrypted (plain JSON).
  • Is yours to manage (you delete or share it).
  • Is not tracked by Event Lens.

Clearing Data

1. From the DevTools panel

Event Lens → Settings → Clear All Logs

Result:

  • The event list is wiped.
  • Memory is freed.
  • RAM contents are gone.
  • localStorage settings are kept.

2. From Chrome settings

Chrome → Settings → Privacy and security → Clear browsing data
Time range: All time
Cookies and other site data
Cached images and files
→ [Clear data]

Result: localStorage is wiped, the extension session is reset.

3. By uninstalling the extension

chrome://extensions
Event Lens → Remove

Result: the extension and all its data go away. If you reinstall, you start from scratch.

Sensitive Data

What can end up in an export?

The exported JSON can contain things like:

{
"events": [
{
"name": "user:login",
"payload": {
"userId": "12345",
"email": "[email protected]",
"token": "abc123xyz...",
"password": "secret123"
}
},
{
"name": "api:request",
"payload": {
"creditCard": "4111-1111-1111-1111"
}
}
]
}

Risk levels

Data typeRiskExample
User IDMediumuserId: "user123"
EmailMediumemail: "[email protected]"
Session tokenHightoken: "eyJhbG..."
API keyHighapiKey: "sk-..."
PasswordCriticalpassword: "secret"
Credit cardCriticalcardNumber: "4111-1111-..."
SSNCriticalssn: "123-45-6789"

Exporting safely

Sanitise before sharing:

1. Event Lens → Export
2. Open the JSON
3. Remove sensitive fields (e.g. password, token)
4. Share the cleaned JSON

Don't paste raw exports into public GitHub issues.

GDPR & Compliance

GDPR

Event Lens is technically GDPR-compliant:

  • Data is stored locally (no server).
  • Users control the data (delete, download, export).
  • No third-party transfers.

Possible GDPR risk

If your app logs PII (personally identifiable information), Event Lens captures it locally too:

app.js:
fires user:login with:
{
userId: "123", <- GDPR risk
email: "...", <- GDPR risk
ip: "192.168..." <- GDPR risk
}

Event Lens records it
-> PII now lives locally

What to do?

1. Don't log PII

// Wrong
window.dispatchEvent(new CustomEvent('user:login', {
detail: { userId, email, ip }
}));

// Right
window.dispatchEvent(new CustomEvent('user:login', {
detail: { success: true }
}));

2. Mask PII

{
"userId": "***MASKED***",
"email": "user***@example.com",
"ip": "192.168.***"
}

3. Disable Event Lens on sensitive pages

// On the payment page
window.__EVENT_LENS_DISABLED__ = true;

CCPA (California Privacy Rights)

The same approach satisfies CCPA:

  • Users can download their data (Export).
  • Users can delete their data (Clear Logs).
  • The system doesn't ship data anywhere (local only).
  • If sensitive data is logged, a transparency notice is required.

Security

Content Security Policy (CSP)

Event Lens is CSP-compatible:

  • No inline script injection.
  • No connections to external domains.
  • No eval().

Apps with strict CSP may need this directive:

script-src 'self' chrome-extension://[extension-id]

MITM attacks

Because data stays local, Event Lens is safe against MITM:

Browser
Event Lens (data stays here)
-> nothing leaves the network

A wire tap finds no payload to read.

XSS

Event Lens is XSS-safe:

  • It uses textContent, not innerHTML.
  • Payloads are JSON-escaped.
  • Script tags aren't executed.

Data Retention

DataRetentionCleared by
Event (RAM)Session lifetimeClosing the panel
Event (localStorage)PersistentClear Logs or uninstall
Export fileUp to youManual deletion
Network cache1–2 hoursAutomatically

Contact

Privacy concern

Open a GitHub issue with a [Privacy] ... title.

Data deletion request

1. Event Lens → Settings → Clear All Logs
2. Chrome Settings → Clear browsing data
3. Uninstall the extension (chrome://extensions)

Is it safe to use in a test environment?

Yes — data isn't sent to the test server, it stays in localStorage, and there's no telemetry.

Can I use it in production?

Not recommended — Event Lens is built as a dev tool:

  • Events keep being recorded.
  • Memory leaks can build up.
  • ~1–2% CPU overhead.

For production analytics, use Segment, Mixpanel, or your own backend logging.

Policy Changes

This policy may change. Updates will be reflected in the "Last updated" date at the top.

See also