Skip to navigation Skip to main content
Free on WordPress.org 4.9 / 5 WordPress.org Explore both Plugins
Free on WordPress.org 4.9 / 5 WordPress.org Explore both Plugins
  • WordPress
    Products
    Smart Cycle DiscountsDiscount automation › TrustLensCustomer trust intel › Cycle AI AIPlain-English campaigns ›
    New pluginComing soon
    Resources & toolsDocs, pricing, support ›
    Smart Cycle Discounts

    Smart Cycle Discounts

    Automate WooCommerce discount campaigns — schedule, target, and measure.

    62%
    Free Pro $59 5 discount types Recurring
    Jump into the page
    How it works Capabilities Promo codes Pricing
    Docs
    Getting started Discount types Scheduling
    Explore Smart Cycle Discounts → Changelog
    TrustLens

    TrustLens

    Customer trust intelligence — score buyers, spot abuse, protect revenue.

    Trust 86
    Free Pro $79 6 segments Abuse detection
    Jump into the page
    How it works Detection Outcomes Pricing
    Docs
    Trust scoring Detection modules Card-testing defense
    Explore TrustLens → Verify a report Changelog

    Cycle AI inside Smart Cycle Discounts

    Describe a sale in plain English — Cycle AI builds the whole campaign.

    “20% off hoodies this weekend”
    Included in Pro Natural language Catalog-aware
    See it work

    Type a sentence, get a ready-to-launch discount campaign that already understands your products, prices, and schedule.

    Live demo How it works
    Meet Cycle AI →

    A new plugin Coming soon

    Something is loading in the lab. Join the list to get the reveal first.

    Notify me on launch →

    Resources & tools

    Everything around the plugins — docs, free tools, and help.

    Learn
    Documentation Pricing & bundle Support
    Free tools
    Discount Calculator Sale Calendar
    Stay current
    SCD changelog TrustLens changelog
    Compare all plans →
    Secure checkout WordPress.org 14-day refund View pricing →
  • Affiliate
    Program
    OverviewHow the program works How it works4 steps from apply to earn Commission details30% · 60-day cookie · recurring
    Get started
    Apply nowOpen Takes ~2 minutes Earnings calculatorEstimate your monthly income FAQPayouts, cookies, renewals
    Resources
    Brand kitLogos, banners, copy, social PlaybookTactics that actually convert FTC disclosureHow to disclose properly Affiliate termsFull program agreement Contact teamOpen the contact form
    Earn 30% recurring on every saleFree to join · 60-day cookie · monthly PayPal payouts Apply now
  • Blog
  • DOCS
    Docs & resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle DiscountsAutomated WooCommerce discount campaigns
    Getting started› Discount types› Cycle AI›
    TrustLensCustomer trust & fraud intelligence
    Trust scoring› Detection modules› Card-testing defense›
    Docs home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We make WordPress tools that solve real problems.

    Learn more
    Built from experienceTools we use ourselves
    Time is preciousSimple, intuitive UX
    Real supportTalk to the founders
    Legal & contact
    Contact us Privacy policy Terms of service Refund policy
    14-day money-backNo questions asked
Popular requests
  • smart cycle discounts
  • trustlens
  • chargeback protection
GET STARTED

Glossary

1
  • TrustLens Glossary

Detection Modules

9
  • Card Testing Defense
  • Chargeback Tracking
  • Shipping Anomalies
  • Linked Accounts Detection
  • Category Aware Risk
  • Coupon Abuse Detection
  • Order Pattern Analysis
  • Return Abuse Detection
  • Modules Overview

Card Testing Defense

9
  • Attack History
  • Allowlists
  • Geo Diversity
  • Auto Escalation
  • Fingerprinting
  • VIP Bypass
  • Panic Button
  • Velocity Thresholds
  • Overview

Chargeback Monitor

7
  • Ratio Email Alerts
  • Dispute Evidence Report
  • Chargeback Monitor
  • Manual Dispute Entry
  • Stripe WooPayments Ingestion
  • Card Network Thresholds
  • Chargeback Ratio Speedometer

Customer Management

7
  • Admin Notes
  • Checkout Enforcement
  • Order Trust Column
  • Bulk Actions
  • Blocking and Allowlisting
  • Customer Detail Profile
  • Customer List

Automation

7
  • Async Dispatch Retries
  • Webhooks and HMAC
  • Rule Inspector
  • Actions Reference
  • Conditions Reference
  • Triggers Reference
  • Automation Overview

Trust Scoring

5
  • Account Age Loyalty Bonus
  • Signals Explained
  • Six Customer Segments
  • The 0–100 Score
  • How Trust Scoring Works
View Categories
  • Home
  • Docs
  • Trustlens
  • Card Testing Defense
  • Fingerprinting

Fingerprinting

5 min read

Device fingerprinting is how TrustLens identifies the actor behind a checkout request. Card-testing botnets routinely rotate IP addresses to evade simple IP-based rate limits, but they have a much harder time rotating the full set of browser and device characteristics that make up a fingerprint. This page describes what TrustLens fingerprints, why those specific signals, and how the Pro tier extends the fingerprint with an additional layer.


What’s in the Fingerprint #

The Free fingerprint is built from four signals:

Signal Source Why Useful
User-Agent string HTTP header Browser version, OS, sometimes device. Coarse but reliable.
Accept-Language header HTTP header Language preferences in priority order — botnets often have generic or missing values
Viewport dimensions Client-side JS Screen and window size — bots running headless often have unusual viewports
Canvas hash Client-side JS Hash of a small rendered canvas; differs between browser/OS combinations due to font and rendering differences

The four signals are concatenated and hashed with the plugin’s keyed HMAC-SHA256 secret to produce the fingerprint. Like address and IP hashes elsewhere in TrustLens, the raw signal values are never stored — only the resulting hash.


Pro: The 12-Font Signal #

Pro adds a fifth signal: a 12-font detection check. The script measures the baseline rendering width of 12 specific fonts and produces a per-system signature based on which fonts are installed and how they render.

Why fonts: card-testing botnets are usually run on compromised hosts (residential proxies, virtual machines, hijacked browsers) where the attacker has limited control over installed software. The font set on each compromised host is whatever happens to be there — and replicating a target font set consistently across many botnet nodes is significantly harder than spoofing User-Agent strings.

The 12-font signal makes fingerprint collisions across botnet nodes much rarer, which means lockouts catch more attempts before the bot has time to switch fingerprints.


How Stable Is the Fingerprint? #

A legitimate customer’s fingerprint is stable across multiple checkout attempts in the same session — same browser, same window, same device. It can change when:

  • The customer switches browsers (Chrome → Firefox) — different User-Agent and canvas hash
  • The customer switches devices (laptop → phone) — different User-Agent, viewport, canvas
  • The customer resizes the browser window meaningfully — different viewport
  • Browser update changes rendering — slightly different canvas hash
  • Operating system update — possibly different font set (Pro)

For card-testing-defense purposes, this stability is sufficient. Legitimate customers rarely change devices mid-checkout-burst; attackers can change User-Agent strings but struggle to fake the full fingerprint consistently.


What the Fingerprint Is Used For #

Use Description
Velocity counters Counts declines per fingerprint over rolling 60s and 10m windows
Lockout enforcement Stores the locked-out fingerprint hash with a 90s expiry
Linked Accounts module Fingerprint match is one of six link types
Customer scoring Customers whose fingerprints match recent attacks get a Card-Testing signal applied to their score
Attack History (Pro) Top-10 attacking fingerprints displayed for forensic review
Allowlists (Pro) Explicit allowlist accepts a fingerprint hash or pattern

Privacy #

The raw fingerprint inputs (User-Agent, viewport, canvas, fonts) are read from the request and immediately hashed. The plugin never stores or transmits the raw values. The keyed HMAC-SHA256 secret is plugin-instance-specific, so the same browser visiting two different TrustLens-protected stores produces two different hashes — fingerprints cannot be cross-correlated between stores.

For GDPR data export requests, the customer’s fingerprint hashes are included in the export (since they’re processed personal data). Erasure requests wipe them.


Fingerprint Collisions #

It’s theoretically possible for two different devices to produce the same fingerprint hash — two users on the same browser version, same OS, same viewport, same fonts. In practice:

  • Free fingerprint (4 signals): collisions are uncommon but occur, especially among customers on similar setups (e.g. iPhones with default font sets)
  • Pro fingerprint (5 signals including 12-font): collisions are rare

The defense design accounts for occasional collisions:

  • Lockouts are short (90s default) so a colliding legitimate customer is delayed, not blocked
  • VIP bypass insulates the most valuable customers from collision effects
  • Allowlisting (Pro) provides an explicit override

Fingerprint Visibility #

The fingerprint hash is visible in several admin contexts:

  • Card Testing → Recent Events — each velocity event shows the fingerprint hash
  • Attack History (Pro) — top-10 attacking fingerprints with counts
  • Customer Detail — fingerprints associated with the customer
  • Linked Accounts panel — when a link was produced by fingerprint, the hash is shown

The hash is opaque — there’s no way to decode it back to the raw inputs. Admin tooling exposes only the hash plus any associated metadata (which customer’s checkouts produced it, when it was last seen, etc.).


Fingerprint Inputs Are Not Filterable #

The set of signals that goes into a fingerprint is fixed by the plugin and is not exposed as a filter — this is deliberate. Changing the input set would invalidate all existing fingerprint state (lockouts, linked accounts, attack history), because previously-stored hashes were computed against the old inputs. If you need to react to card-testing detection in custom code, hook the trustlens/card_testing/attack_detected action instead (see the Hooks & Filters Reference), which fires with the fingerprint hash and gate context whenever a fingerprint is newly targeted.


What Fingerprints Don’t Do #

Worth being explicit about what the fingerprint is not:

  • Not biometric. No fingerprint reader, no facial recognition. “Fingerprint” here is metaphor for device-and-browser identity.
  • Not tracking. The fingerprint isn’t used to track customers across the web — it only matches against requests to your store.
  • Not credential-based. The customer doesn’t need to be logged in. Fingerprints work for guest checkout.
  • Not deterministic identity. Two customers can share a fingerprint if they have very similar setups — the fingerprint is one signal among many, not a sole identity proof.
Updated on June 18, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Auto EscalationVIP Bypass
Table of Contents
  • What's in the Fingerprint
  • Pro: The 12-Font Signal
  • How Stable Is the Fingerprint?
  • What the Fingerprint Is Used For
  • Privacy
  • Fingerprint Collisions
  • Fingerprint Visibility
  • Fingerprint Inputs Are Not Filterable
  • What Fingerprints Don't Do
Newsletter

Insights that grow your business

Join thousands of WooCommerce store owners who get actionable tips, plugin updates, and industry news every week — plus 10% off either of our plugins as a welcome.

We respect your privacy. Unsubscribe at any time.

10% off welcome gift — A code for either plugin, on us
Weekly updates — Fresh content every Tuesday
Exclusive content — Tips you won't find on our blog
Early access — Be first to know about new plugins
Webstepper
Weekly WooCommerce Tips
Just now
This week: 5 proven strategies to boost your average order value using smart discount campaigns...
10% off inside
Webstepper

Tools for store owners who'd rather grow than grind.

Simple, powerful plugins that help WooCommerce store owners sell more — without the learning curve.

Products

  • Smart Cycle Discounts
  • TrustLens
  • Discount Calculator
  • Sale Calendar

Company

  • About Us
  • Blog
  • Contact
  • Affiliates
  • Log In

Resources

  • Help Center
  • Guides
  • Verify a report
  • Affiliate Program
  • Become a Partner

Questions? We actually answer.

Real humans, real help. No bots, no runaround. Usually within a few hours.

Get in touch
Operated by Setmood LLC · 7901 4th St N, St Petersburg, FL 33702 · United States

© 2026 Webstepper. All rights reserved.

Privacy Terms Refunds
Visa Mastercard PayPal Apple Pay Google Pay & more
Limited Time Offer

Get 10% off
Smart Cycle Discounts or TrustLens

Drop your email and we’ll send you a unique, single-use code — works on either plugin at checkout. New customers, first payment.

23 hours
:
59 minutes
:
59 seconds

No spam. Unsubscribe anytime.

  • WordPress
    Back
    Products
    Smart Cycle DiscountsDiscount automation › TrustLensCustomer trust intel › Cycle AI AIPlain-English campaigns ›
    New pluginComing soon
    Resources & toolsDocs, pricing, support ›
    Smart Cycle Discounts

    Smart Cycle Discounts

    Automate WooCommerce discount campaigns — schedule, target, and measure.

    62%
    Free Pro $59 5 discount types Recurring
    Jump into the page
    How it works Capabilities Promo codes Pricing
    Docs
    Getting started Discount types Scheduling
    Explore Smart Cycle Discounts → Changelog
    TrustLens

    TrustLens

    Customer trust intelligence — score buyers, spot abuse, protect revenue.

    Trust 86
    Free Pro $79 6 segments Abuse detection
    Jump into the page
    How it works Detection Outcomes Pricing
    Docs
    Trust scoring Detection modules Card-testing defense
    Explore TrustLens → Verify a report Changelog

    Cycle AI inside Smart Cycle Discounts

    Describe a sale in plain English — Cycle AI builds the whole campaign.

    “20% off hoodies this weekend”
    Included in Pro Natural language Catalog-aware
    See it work

    Type a sentence, get a ready-to-launch discount campaign that already understands your products, prices, and schedule.

    Live demo How it works
    Meet Cycle AI →

    A new plugin Coming soon

    Something is loading in the lab. Join the list to get the reveal first.

    Notify me on launch →

    Resources & tools

    Everything around the plugins — docs, free tools, and help.

    Learn
    Documentation Pricing & bundle Support
    Free tools
    Discount Calculator Sale Calendar
    Stay current
    SCD changelog TrustLens changelog
    Compare all plans →
    Secure checkout WordPress.org 14-day refund View pricing →
  • Affiliate
    Back
    Program
    OverviewHow the program works How it works4 steps from apply to earn Commission details30% · 60-day cookie · recurring
    Get started
    Apply nowOpen Takes ~2 minutes Earnings calculatorEstimate your monthly income FAQPayouts, cookies, renewals
    Resources
    Brand kitLogos, banners, copy, social PlaybookTactics that actually convert FTC disclosureHow to disclose properly Affiliate termsFull program agreement Contact teamOpen the contact form
    Earn 30% recurring on every saleFree to join · 60-day cookie · monthly PayPal payouts Apply now
  • Blog
  • DOCS
    Back
    Docs & resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle DiscountsAutomated WooCommerce discount campaigns
    Getting started› Discount types› Cycle AI›
    TrustLensCustomer trust & fraud intelligence
    Trust scoring› Detection modules› Card-testing defense›
    Docs home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Back
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We make WordPress tools that solve real problems.

    Learn more
    Built from experienceTools we use ourselves
    Time is preciousSimple, intuitive UX
    Real supportTalk to the founders
    Legal & contact
    Contact us Privacy policy Terms of service Refund policy
    14-day money-backNo questions asked
We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.
More info More info Accept