How ranvir7/neoprint works
Neoprint is a browser-fingerprinting library. The primary workflow collects browser and device signals, derives several identifiers and quality measures, then exposes intelligence and persistence APIs. The README documents additional capabilities beyond the sampled implementation; those are included as modules where the tree supports them. Worker offloading is currently disabled, so the graph does not model active worker execution.
Main entry points: src/index.ts Public API · engine.ts Collection engine · collectors/index.ts Built-in collectors · session/index.ts Session linking
Components 23
Signal capture
- Built-in collectors
src/collectors/index.ts - Canvas signal
src/collectors/canvas.ts - WebGL signals
src/collectors/webgl.ts - Device signals
src/collectors
Identity engine
- Public API
src/index.ts - Collection engine
src/core/engine.ts - Protocol filter
src/analysis/protocol.ts - Worker runner
src/core/worker-runner.ts - Fingerprint hashing
src/core/hash.ts - Stable ID
src/analysis/stable-id.ts - Weighted ID
src/analysis/weighted-id.ts - Cross-browser ID
src/analysis/cross-browser.ts
Fingerprint intelligence
- Confidence and entropy
src/analysis - Spoofing checks
src/analysis/inconsistency.ts - Bot detection
src/analysis/bot.ts - Environment profile
src/analysis/environment.ts - Fuzzy comparison
src/analysis/compare.ts - Risk and signal checks
src/analysis
Behavior and continuity
- Behavioral biometrics
src/behavior/index.ts - Session linking
src/session/index.ts - Fingerprint lifecycle
src/lifecycle/index.ts
Other components
- Library caller
- Browser storage
Connections 24
- Library caller → Public API: calls
- Public API → Built-in collectors: registers
- Public API → Collection engine: collects
- Built-in collectors → Collection engine: provides collectors
- Collection engine → Protocol filter: filters names
- Collection engine → Canvas signal: invokes collector
- Collection engine → WebGL signals: invokes collector
- Collection engine → Device signals: invokes collectors
- Collection engine → Worker runner: checks availability
- Collection engine → Fingerprint hashing: hashes components
- Collection engine → Stable ID: computes ID
- Collection engine → Weighted ID: computes ID
- Collection engine → Cross-browser ID: computes ID
- Public API → Spoofing checks: analyzes components
- Public API → Confidence and entropy: scores components
- Public API → Bot detection: detects bots
- Public API → Environment profile: profiles environment
- Public API → Fuzzy comparison: compares fingerprints
- Public API → Risk and signal checks: exposes analysis
- Public API → Behavioral biometrics: starts collection
- Public API → Session linking: creates linker
- Public API → Fingerprint lifecycle: exposes lifecycle
- Session linking → Browser storage: reads and writes
- Fingerprint lifecycle → Browser storage: persists history