fingerprinter-js
Version:
Enterprise-grade browser fingerprinting with 19 collectors and advanced bot detection
90 lines • 2.62 kB
TypeScript
import { EnhancedSuspectAnalysis, ISuspectSignalDetector, SuspectAnalysisConfig } from '../types';
/**
* Advanced Suspect Analyzer with Contextual Scoring
* Implements sophisticated multi-factor analysis with correlation detection
*
* Key features:
* - Contextual scoring based on signal relationships
* - Correlation analysis for multi-factor detection
* - Dynamic weight adjustment based on signal patterns
* - Machine learning-inspired confidence calculation
*/
export declare class EnhancedSuspectAnalyzer {
private readonly detectors;
private readonly config;
private readonly correlationMatrix;
constructor(detectors: ReadonlyArray<ISuspectSignalDetector>, config: SuspectAnalysisConfig);
/**
* Perform comprehensive suspect analysis
*/
analyze(components: Readonly<Record<string, unknown>>): EnhancedSuspectAnalysis;
/**
* Collect signals from all detectors
*/
private collectSignals;
/**
* Analyze correlations between signals
*/
private analyzeCorrelations;
/**
* Calculate correlation strength between two signals
*/
private calculateSignalCorrelation;
/**
* Get direct correlation from pre-built matrix
*/
private getDirectCorrelation;
/**
* Calculate category-based correlation
*/
private calculateCategoryCorrelation;
/**
* Calculate severity-based correlation
*/
private calculateSeverityCorrelation;
/**
* Create a signal correlation object
*/
private createSignalCorrelation;
/**
* Calculate the impact score of a correlation
*/
private calculateCorrelationImpact;
/**
* Generate a human-readable correlation description
*/
private describeCorrelation;
/**
* Detect multi-signal patterns (3+ signals)
*/
private detectMultiSignalPatterns;
/**
* Create a multi-signal pattern correlation
*/
private createMultiSignalPattern;
/**
* Calculate contextual score with correlation analysis
*/
private calculateContextualScore;
/**
* Calculate risk level based on score
*/
private calculateRiskLevel;
/**
* Calculate analysis metadata
*/
private calculateMetadata;
/**
* Build correlation matrix for known signal relationships
*/
private buildCorrelationMatrix;
/**
* Get available detectors
*/
getDetectors(): ReadonlyArray<ISuspectSignalDetector>;
/**
* Get configuration
*/
getConfig(): SuspectAnalysisConfig;
}
//# sourceMappingURL=suspect-analyzer.d.ts.map