No cookies
Iris does not set or read any browser cookies — first-party or third-party. Visitor and session identity are tracked entirely through the Web Storage APIs.Identity storage
The SDK (web/src/storage.ts) manages two identifiers:
Visitor ID
Key:
Storage:
Lifetime: Persists across sessions on the same browser and device. Cleared when the user manually clears browser storage.
iris_vidStorage:
localStorageLifetime: Persists across sessions on the same browser and device. Cleared when the user manually clears browser storage.
Session ID
Key:
Storage:
Lifetime: Unique per browser tab and session. Automatically cleared when the tab is closed.
iris_sidStorage:
sessionStorageLifetime: Unique per browser tab and session. Automatically cleared when the tab is closed.
ID generation
IDs are generated usingcrypto.randomUUID() when available. For older environments that do not support the Web Crypto API, the SDK falls back to a UUID v4 polyfill based on Math.random():
localStorage or sessionStorage is inaccessible (e.g., blocked by browser settings or an extension), generateId() is called directly and the ID is not persisted — the visitor will appear as a new unique visitor on every page load.
No fingerprinting
Iris does not collect or combine any of the following to infer identity:- User-Agent strings
- IP addresses
- Canvas or WebGL fingerprints
- Font enumeration
- Battery or hardware APIs
window.screen.width (see Metrics reference), which is a single coarse numeric value, not a fingerprinting vector.
Autocapture privacy protections
The autocapture module (web/src/autocapture.ts) listens for click events on interactive elements. Two privacy protections are built in:
Password fields
input[type=password] elements are never captured. The autocapture handler explicitly skips them regardless of any other configuration.iris-ignore class
Add the
.iris-ignore CSS class to any element to prevent autocapture from recording clicks on it or any of its children.Marking elements as ignored
Autocapture is currently marked as work in progress in the Iris source code. The team is still evaluating the best approach for capturing click events reliably across frameworks.
What is recorded per event
Every event sent to the server includes the following fields. No additional personal data is collected.| Field | Description |
|---|---|
n | Event name (e.g., $pageview, $click) |
u | Full page URL at the time of the event |
d | Domain extracted from the URL |
r | Referring URL (can be null) |
w | window.innerWidth in pixels (viewport width) |
s | Site ID configured in IrisConfig |
sid | Session ID from sessionStorage |
vid | Visitor ID from localStorage |
p | Optional custom properties object |
id (UUID) and timestamp (UTC) — these are never sent by the client.