How many times we can use the same card for grabbing a trial from the same website?

What I mean is, the email used to sign up changes each time, but the same card is used to claim the free trial. Does this depend on the individual website, or do most sites follow the same rule?

It’s the card, not the email. Your processor built a fixed ID from the card number itself — new email, new account, same ID.



EMAIL ✗ ignored · CARD ✓ · DEVICE ✓ · WIRE ✓ · ADDRESS ✓ · TYPING ✓ — 11 of 12 signals survive an email change.

Below: checkers you can open now, controls you already have, and stuff you can run. Not homework.

🔍 Open these tabs — see exactly what a signup form reads off you

Run these on the machine you actually sign up from. Takes 4 minutes total.

Open this What you’ll see
FingerprintJS demo Your visitor ID. Reload in incognito — same ID. That’s the point
EFF Cover Your Tracks How rare your browser is, measured against millions. “1 in 250,000” = you’re trackable
BrowserLeaks canvas The raw canvas hash your GPU + fonts produce
tls.peet.ws Your TLS handshake, sent before any header you control. Most people have never seen this
Scrapfly JA3 tool Second opinion on the same handshake
Supercookie demo Favicon-cache tracking. Survives incognito, cache clear and VPN. Try to beat it
BotD live demo Whether you look automated
Fingerprint Pro demos Working demos of promo-abuse prevention and paywall metering — the exact thing you asked about, running live

:light_bulb: Do it twice: once normally, once in a fresh private window with a VPN. Compare the IDs. That comparison answers your question better than any article.

🎛️ Controls you already have but were never told about
Want to Do this
See which merchants got your new card number Your bank app lists them — how VAU surfaces it
Stop your bank auto-sending new cards to merchants Opt out of Account Updater — opt-out path + the contract clause that enrolled you · clause text
Demand your own risk file Subject access request. What they legally must return — includes risk scores and the signals behind them
Fight a “the system decided” refusal SCHUFA ruling — building the score IS the decision. Case summary · IAPP read
Check if fingerprinting you is even legal where you are EDPB Guidelines 2/2023 — pixels, URL tracking and IP-only tracking all in scope. GDPR vs LGPD vs PIPL
Cancel without getting charged Cancel 48h early, and cancel where you subscribed — App Store signup cancels in Apple settings, not in the app. Screenshot the confirmation
Know what a failed charge does Stripe names “end of trial payment failure” as a watched abuse pattern → their own doc. Chargebacks feed cross-acquirer blacklists
🧰 Run it yourself — clients, APIs and engines you can install today

Read your own device IDs

Tool What it does
devicecheck (pip) Query and write Apple’s 2 per-device bits from Python
media_drm_id Pull your Android hardware DRM ID — survives factory reset
widevine_id Same ID, Flutter package
Raw MediaDrm call (gist) Three lines of Kotlin + the L1/L3 security-level read

Run the fingerprinting stack yourself

Tool What it does
FingerprintJS The open-source library behind most of the web. Also ships an iOS device-ID lib
BotD MIT-licensed automation detection, 100% client-side
JA4+ Generate TLS/HTTP/TCP fingerprints. Implementations in Go, Rust, HAProxy, Suricata
fingerproxy Reverse proxy that computes JA3/JA4/HTTP2 and forwards them as headers
finch Same, plus per-request block/reroute/tarpit rules in HCL
OpenWPM Point it at any site and log every fingerprinting call it makes. Princeton/Mozilla
Tracker Radar Collector DuckDuckGo’s crawler behind their open tracker dataset

Carrier APIs — the network answers for your number

Tool What it does
CAMARA (GitHub) Open specs + test suites for every carrier API
API portfolio SIM Swap, Device Swap, Number Recycling, KYC Match
Tenure API How long a number has been yours — answered by the operator
Telefónica sandbox Chain SIM Swap + Number Verify + Location + KYC in one call
Vodafone sandbox Free dev access; KYC-Match now uses fuzzy logic

Risk engines you can self-host

Tool What it does
radar Real-time anti-fraud rule engine, Java. Built against promo-abuse crews, open-sourced
risk_engine Decision engine on top of rule + flow engines
DGFraud Runnable graph-based fraud detectors, not a reading list
dedupe Active-learning record matching, field by field
JedAI Full entity-resolution pipeline as separate stages
libpostal Normalise addresses so “30 W 26th St” = “30 West Twenty-sixth Street”
lieu Dedupe places/addresses at scale on top of libpostal
Datasketch / MinHash-LSH walkthrough Near-duplicate matching across 5M records
SimHash implementation 64-bit fingerprints + fast Hamming lookup
📦 Grab-and-use data — blocklists, graphs and labelled datasets

Live blocklists (raw endpoints, drop straight into code)

File Notes
disposable-email-domains Screenshot-verified, since 2014. The accurate one
amieiro list Rebuilt every 15 min. Allow and deny lists, TXT + JSON
Chrisdbhr blocklist TXT / JSON / XML with raw HTTP endpoints
eramitgupta aggregate 110k+ domains, merged from multiple upstreams daily
Python package pip install and check
Django integration Pluggable domain loaders
18 lists tested head-to-head Which to trust, and what none of them catch

Playable graph + labelled fraud data

Dataset What you get
Uber/Lyft Neo4j file Accounts ↔ phones ↔ IPs. Load it and watch the linkage happen
Amazon fraud benchmark 9 datasets behind one API. The winning solution rebuilt a card fingerprint from anonymised columns
Feedzai BAF 6 variants of real account-opening fraud data · download
IEEE-CIS 590k card-not-present transactions; card1 acts as the card identity key
Fraud e-commerce set Rare public data with explicit device_id and ip_address columns
Sparkov generator Synthesise your own transaction graph
The “magic” notebook Kaggle winner — the magic is entity resolution on anonymised columns
ULB credit card set The imbalance baseline everyone benchmarks against
Sparkov-generated set 1.85M transactions, 999 customers, 2 years

Behaviour datasets

Dataset What you get
CMU keystroke benchmark 51 people × 400 reps + the 8ms polling study
Balabit mouse dynamics Real mouse traces, released for an open competition
GREYC keystroke set Chosen logins, not a fixed string
Keystroke datagen Roll your own timing dataset

Curated indexes to raid

Index Contents
Awesome Entity Resolution Every “are these two records one person” library that exists
Awesome graph fraud detection Papers + code, refreshed per conference cycle
safe-graph paper list Same field, different editorial taste
risk-hub (CN) Chinese risk-control knowledge base — device fingerprinting, account security, payment security
algorithm-and-risk-management (CN) Weighted-edge graph in code: shared IP = +1, shared email suffix = +2
GitHub topic: fraud-detection Live feed of new tooling
GitHub topic: ja4 New protocol-fingerprint implementations
GitHub topic: disposable-email New blocklist sources
📊 Survival table — 12 signals vs 3 changes
Signal Plain meaning New email New card Fresh browser
Card fingerprint Fixed ID from card number :white_check_mark: :cross_mark: :white_check_mark:
PAR One code across all card versions :white_check_mark: :white_check_mark: :white_check_mark:
Account Updater Network mails new card to merchant :white_check_mark: :white_check_mark: :white_check_mark:
Billing address Normalised, “St” = “Street” :white_check_mark: :white_check_mark: :white_check_mark:
Cardholder name Fuzzy-matched, typos included :white_check_mark: :warning: :white_check_mark:
Device fingerprint Picture of your browser settings :white_check_mark: :white_check_mark: :warning:
TLS fingerprint Handshake sent before any header :white_check_mark: :white_check_mark: :warning:
IP / ASN Who owns your connection :white_check_mark: :white_check_mark: :white_check_mark:
Cookies / storage The obvious one :white_check_mark: :white_check_mark: :cross_mark:
Behaviour Typing rhythm, mouse path, speed :white_check_mark: :white_check_mark: :white_check_mark:
Phone number Plus how old it is with the carrier :warning: :white_check_mark: :white_check_mark:
Email age Brand-new address is itself a flag :cross_mark: :white_check_mark: :white_check_mark:

Matching is not exact — locality-sensitive hashing (matching things that are close, not identical) means a browser update doesn’t wipe your profile. Tuned threshold, never published.

Per-device flags that survive a factory reset:

Platform Storage Apple’s own stated use case
DeviceCheck 2 bits per device, per dev team “a free trial has been used on this device”
Play Integrity recall 3 values per device “devices that already redeemed… a free trial”
bit0 bit1 State
0 0 Never trialled
1 0 Trial active
1 1 Trial used up
0 1 Banned device
🎯 5 real situations this changes

1. Refused a trial for a service you’ve never touched.
Flatmate or family on the same wifi and billing address already used it. Same IP, same normalised address, same device cluster. Check that before arguing with support.

2. You’re building anything with signups — shop, app, newsletter, side project.
One field, four lines of code, stops most duplicate abuse. Vendors charge thousands a month for this. It’s already sitting in your Stripe object.

3. A subscription you cancelled keeps charging a card you replaced.
Account Updater. Your bank pushed the new number to the merchant. There’s an opt-out and your bank app usually lists who got it.

4. Secondhand phone, and offers silently don’t appear.
DeviceCheck bits and Play Integrity values follow the hardware, not the account. A previous owner’s flag blocks promos on apps you never installed.

5. Support says “the system decided” and won’t explain.
In the EU/UK that’s no longer valid. SCHUFA put the obligation on whoever builds the score. A DSAR forces the file and the reasoning open.

📚 The docs behind every claim above

Vendor documentation, specs and patents. Only open these if you want to verify something.

Doc Contains
Stripe — supported attributes Every field a merchant can write a rule against. The literal answer to “what do they check”
Stripe — customer abuse Trial-abuse rules with real syntax
Stripe — misuse Prepaid card + weekly customer count rule
Stripe — risk settings Dedicated trial-abuse control
Stripe — free trial abuse Their signal list
Stripe — multi-accounting “a sign-up flow has no memory”
Stripe fingerprint, in code · SaaS angle Store it, query it
Adyen identifiers · collect data · stored methods · PAR anchor · token webhooks Same machine, different processor
EMVCo tokenisation · PAR primer PDF · network tokens Why one card keeps one code
Mastercard ABU · all four networks · Zuora reconciliation Account Updater mechanics
Apple intro offers · subscriptions · engineer confirming · follow-up One offer per Apple ID per group, ever
Google Play billing · can’t be reset The one-trial toggle
Device recall · verdict JSON · DeviceCheck · persistence · bit table · limits The per-device flags
Android identifiers · O lockdown · DRM device counting · one-line config · ExoPlayer thread Hardware IDs
Netflix household · Columbia CS IP + device IDs + activity, no GPS
MATCH codes · Visa VMSS · TMF · VAMP math Cross-company blacklists
Consortium effect (PT) · Brazilian GNN · Zhihu 黑产团伙识别 · device farms (CN) Strong vs weak evidence weighting
Uber graph learning · Mastermind · Grab graph vs rules · Grab platform · Grab syndicates Production architectures
Account-linking patent · identity graph patent · banned-fingerprint patent · PayPal patent Written under oath
Fingerprinting survey · INRIA copy · script owners · stats timeline The academic base
JA4 explainer · HTTP/2 Black Hat PDF · cross-layer consistency Network layer
Proxy detection · proxy types · IPinfo dataset · Stanford PDF IP intelligence
Evercookie · favicon bitmask · supercookie anatomy Storage persistence
Proximity detection · Mouse dynamics survey · MinHash+LSH explained · libpostal README Matching maths
Bloom filter PPRL · multi-party · PSI + LSH Matching without sharing data
EDPB objection letter · GDPArrrrrrr · defensible system · NIST 800-63-4 · evidence tiers PDF Legal + assurance
Privacy Pass RFC 9577 · Cloudflare · Apple WWDC · PAT deep dive · PACT 2026 · DBSC spec · Chrome guide · shipped · SSF 1.0 · FIDO explainer What replaces fingerprinting

You changed the only field nobody was reading.