Privacy and telemetry
Pointer and interaction measurements support automated visitor classification.
An optional action-caller diagnostic inspects a temporary browser call stack during script-dispatched clicks or edits. Only a boolean/null match for a documented browser-driver caller, event categories and whether a trusted event was still being dispatched are retained. Raw stacks, URLs, function sources and entered text are not stored or sent. At most 24 stack samples per page and 16 recent actions on each of three public-page segments are kept; custom formatting hooks, private fields and hidden activity are excluded. These sanitized records go to Portolan for diagnostics and may be evaluated by TypeSafe Jev; shadow collection does not alter live classification decisions. Existing consent and history cleanup apply. On permitted public fields, the script derives the length of plain-text insertions in UTF-16 code units from input-event data. Only counts and insertion-size/timing statistics are retained and sent to Jev, not inserted strings. Paste and composition operations remain separate, and protected fields remain excluded. Content-free input provenance includes browser-trusted versus script-dispatched events, InputEvent versus generic Event interfaces, operation categories, and change-event counts with or without preceding input in the same field episode. These counts survive in bounded public-page summaries and are sent to Jev; no field values are read for this measurement. Script-dispatched events can originate from site functionality or user tools and do not by themselves identify an agent. The detector also records bounded content-free editing episodes: coarse key categories, beforeinput, paste and composition event counts, timing, and whether a field was blurred or its form submitted. It measures sampled pointer speed, acceleration and turns, matched press duration, target and viewport dimensions, target intersection, focus/visibility coverage, and actual scroll offsets with nearby input events. These are observations, not proof of who controls the browser. Up to 12 recent episodes and 12 previous public-page summaries are retained within an additional 10,000-character context budget and sent to Jev. Earlier summaries preserve measured hold-time ranges and counts without retaining earlier field content or target identities. Clipboard contents and entered text are never recorded or transmitted. This context uses the same consent, page exclusions and tab-local history cleanup described below. On eligible public catalog, product, guide, care, parts, search, and shipping, returns, and warranty policy pages, the site sends Portolan interaction counts and timing summaries plus a bounded sequence of pointer coordinates and timestamps, anonymous target-relative positions, clicks, keyboard-event timing, input-operation categories, wheel and scroll events. Up to 192 recent events per page and three recent public pages are retained, within an 18,000-character trace limit; omissions are reported. An additional bounded history keeps event counts and last-observed duration for up to 12 earlier public-page segments, navigation type, and whether a referrer was absent, same-origin or cross-origin. Referrer URLs and search query values are never stored or sent by the detector. Recent-page trace and navigation history use tab-local session storage and are cleared when detector consent is withdrawn or an excluded page is detected. The public page path, elapsed time, random page/browser/session identifiers and a webdriver boolean also reach Portolan. Portolan sends interaction measurements, navigation context, ordered pointer/action records and the automation flag to external TypeSafe Jev for classification; page paths and random visitor/session identifiers are not sent to Jev. Typed characters, key identities, page content and cookie values are not collected. Password, one-time-code and payment fields and marked private regions are excluded. The detector stores random anonymous browser and browsing-session identifiers in first-party local storage, scoped to this site and origin. The browser identifier expires after 30 days; browsing sessions restart after 30 minutes of inactivity. These estimate browser visits, not unique people. Clearing browser storage or withdrawing detector consent removes the local identifiers. The reviewed public search page explicitly permits content-free telemetry despite its noindex policy and query parameters; other query-bearing, noindex, private, and action pages are excluded. Separate request logs contain public paths, methods, response status, duration, and recognized agent declarations; they do not store IP addresses, query values, cookies, or raw user-agent strings. Saved goods, comparisons, and the practice basket also use local browser storage.