Orange textured background

Glossary / concept

Deterministic vs probabilistic matching

Deterministic matching compares two fingerprints by checking whether they are exactly identical, giving a definitive yes or no. Probabilistic matching instead computes a similarity score that accounts for minor signal drift caused by OS updates, browser upgrades, or hardware changes, producing a confidence level rather than a binary result.

Deterministic matching is simple and fast: if the stored hash and the incoming hash are bit-for-bit equal, the visit is recognised; if they differ by even one bit, it is not. This gives zero false positives but misses returning visitors whose fingerprint has drifted slightly due to a browser update or changed hardware.

Probabilistic matching tolerates drift by comparing individual signals and aggregating how well they agree into an overall score. A high score indicates a likely match even when a few signals have changed. The trade-off is that a similarity threshold must be chosen: too low increases false positives, too high replicates the brittleness of deterministic matching.

In doorman-benny

doorman-benny's `compareFingerprints` function supports multiple matching modes, from exact hash equality to weighted similarity scoring, so integrators can choose the right balance between precision and recall for their use case.

Comparing two fingerprints: six modes

Frequently asked questions

When should I use deterministic matching?

Deterministic matching is appropriate when exact identity is required and fingerprint stability is high, such as short-session recognition where no updates have occurred. It is also a useful fast path: check for an exact match first, then fall back to probabilistic scoring only when needed.

What causes a fingerprint to drift between visits?

Browser version updates can change how engine-bound signals render. OS updates may alter font rendering or audio drivers. Hardware changes such as adding a monitor or updating a GPU driver also affect relevant signals. Probabilistic matching is designed to tolerate this natural drift.

Can probabilistic matching produce false positives?

Yes. Two different devices with similar hardware configurations may produce fingerprints that score above the similarity threshold even though they belong to different people. The false-positive rate decreases as more independent signals are included in the fingerprint.