tls-devicer
    Preparing search index...

    Class TlsManager

    TlsManager — passive TLS intelligence for the FP-Devicer Suite.

    Collects JA4/JA3 fingerprints, cipher suite order, TLS extensions, HTTP/2 SETTINGS, and header consistency signals. Stores a snapshot per deviceId and scores future requests against history using Jaccard similarity and optional TLSH fuzzy hashing.

    const tlsManager = new TlsManager({ licenseKey: process.env.TLS_KEY });
    tlsManager.registerWith(deviceManager);

    // From your route handler — middleware populates req.tlsProfile
    const result = await deviceManager.identify(req.body, {
    tlsProfile: req.tlsProfile,
    });
    // result.tlsConsistency and result.tlsConfidenceBoost are now available

    Implements

    • DeviceManagerPlugin
    Index

    Constructors

    Accessors

    Methods

    • Score an incoming TlsProfile against historical snapshots for deviceId, persist the snapshot, and return a TlsConsistency report.

      Free-tier callers are limited to FREE_TIER_MAX_DEVICES unique devices. When the cap is reached, the profile for new device IDs is not persisted and a zero-signal TlsConsistency is returned.

      Parameters

      • profile: TlsProfile

        TLS signals collected for the current request.

      • deviceId: string

        The resolved device identifier from DeviceManager.

      Returns TlsConsistency

    • Clear stored snapshots — all devices or a single device.

      Parameters

      • OptionaldeviceId: string

      Returns void

    • Return the full TLS snapshot history for a device.

      Parameters

      • deviceId: string

        Device identifier.

      • Optionallimit: number

        Max entries to return. Returns all when omitted.

      Returns TlsSnapshot[]

    • Validate the Polar license key if one was supplied.

      Call this once at application startup before processing requests. Safe to await multiple times — subsequent calls return the cached promise.

      Returns Promise<void>

    • Patch deviceManager.identify() to automatically analyse TLS signals on every call and attach tlsConsistency and tlsConfidenceBoost to the result.

      The tlsProfile field on the context argument (second parameter of identify) is consumed. All other context fields are forwarded unchanged.

      Confidence boosting:

      • consistencyScore >= 80 → up to +15 points
      • consistencyScore < 40 → up to −15 points
      • New device → ±0 (no history to compare)

      Failures inside the TLS analysis are non-fatal — the original result is returned as-is when analysis throws.

      Parameters

      • deviceManager: DeviceManagerLike

      Returns void | (() => void)