Device resolution
The browser SDK never asserts a device ID. Every event is resolved server-side into a device record from two independent pieces of evidence.
Two kinds of evidence
- Browser instance identifier (
client_hint) — an opaque random token the SDK stores inlocalStorageon first use. Proves "this browser's storage previously held this exact value," nothing more. - Signal similarity — the coarse browser signals collected on every event (OS family, browser engine, device class, screen dimensions, hardware hints, timezone, and a handful of others) are compared against known devices.
A confidence score, not a guess
The server computes a 0–100 confidence score from weighted signal similarity against candidate devices, then bands the result into a resolution decision (for example: resolve to an existing device, or treat this as a new device). Every resolution is traceable: which signals matched, which changed since last seen, which conflicted, and which were unknown. This is a deterministic, rule-based calculation — not a statistical or ML model, and not a claim of a specific measured accuracy rate.
Browser updates don't look like a new device
The browser's major version is tracked as history but never scored as a mismatch on its own — an ordinary browser auto-update shouldn't flip a known device into "new."
What resolution is not
- No cross-browser identity linkage — Sentriq doesn't claim to recognize the same person switching from Chrome to Safari on the same machine.
- No cross-device identity linkage — Sentriq doesn't claim to recognize the same person on a different physical device.
- No device merge or split — two device records are never automatically (or manually) combined, and a device's history is never destructively rewritten.
What you get back
Every event response includes whether the device is new or known. With a secret key, you can pull the full resolution audit trail for any device — the matched, changed, conflicting, and unknown signals behind each decision — via the REST API.