UNPKG

@elhamdev/tracejs

Version:

A modern, privacy-conscious alternative to browser fingerprinting for unique user identification.

32 lines (31 loc) 1.02 kB
/** * Utilities for measuring fingerprint entropy and uniqueness */ export interface FingerprintCharacteristics { battery?: string; screen?: string; canvas?: string; webglParams?: string; audio?: string; userAgent?: string; [key: string]: string | undefined; } /** * Calculate Shannon entropy of a string * Higher values indicate more randomness/uniqueness */ export declare function calculateStringEntropy(str: string): number; /** * Estimate bit entropy of a fingerprint * @param fingerprint The fingerprint string * @param characteristics The collected fingerprint characteristics * @returns Estimated bits of entropy */ export declare function estimateFingerprintEntropy(fingerprint: string, characteristics: Partial<FingerprintCharacteristics>): number; /** * Get a qualitative assessment of fingerprint strength */ export declare function getFingerprintQuality(entropyBits: number): { rating: "weak" | "moderate" | "strong" | "very strong"; description: string; };