DisclosedConsumer transparency infrastructure · US & Canada

Report card

top10vpn.com

Insufficient data

Generated 2026-09-17 under SPEC: Scoring — v0.6.12. State: Not scored — below the article threshold.

Do they get paid?

41.0%

Monetization exposure across 7 articles. A fact, never scored.

Do they tell you?

1.000

Article-weighted disclosure deficiency, A = 0 through F = 1. Lower means the disclosure appears earlier relative to the first link.

Does the pay change the picks?

not published

Fewer qualifying articles than SPEC §2.2 requires.

Monetization exposure — what was observed

Ranked picks examined
85
Picks with a link established as affiliate
35
— of which badged (confirmed or likely)
36
— of which runtime-attributed only, never badged
0
Picks whose status was not established
50
Observation coverage
41.2%

A pick whose status was not established is counted apart from a pick observed to be unmonetized. Each reason is published on its own, because they are different situations and one of them is about us rather than about the publisher:

Reason the status was not establishedPicks
cloaked unresolved0
declared sponsored unverified0
no observed link49
external destination unclassified1

Marked sponsored by the publisher — what was observed on those links

Direct merchant links so marked
1
Ranked picks they appear on
1
Carrying a real runtime attribution subtag
0
Carrying the literal "undefined" — the publisher’s code found no program
0

1 direct merchant link(s) across 1 ranked pick(s) carry this publisher’s own rel="sponsored" and point at a registrable domain that is not the publisher’s. NONE OF THEM IS BADGED, whatever follows: rel="sponsored" is the attribute the HTML specification defines for paid placement of any kind, including placement that pays no commission, so it establishes that the publisher marked the placement as paid and establishes nothing about a commission. What was observed ON those links, counted apart rather than summarised as an absence: 0 carry a real attribution subtag that this publisher’s OWN client code wrote onto the anchor while the page ran in our browser. SPEC §0.1.0 counts those as monetized (m_i = 1) and still does not badge them, because a signal derived from executed JavaScript is weaker provenance than served markup: it is admitted to a corpus statistic we publish with its inputs, and refused to an assertion made to a reader about one link. 0 carry that same attribute with the literal value "undefined" — the publisher’s own code reporting that it recognised NO affiliate program for that destination. Those are m_i = 0 on the publisher’s own signal rather than on our failure to find one. 1 carry no such attribute at all. Absence is not a statement: those are m_i = 0 because nothing was observed either way, and that is the only one of these three counts about which we are saying we did not detect a mechanism.

Declared, not observed

Picks priced from a declared merchant
12
Declared merchants that resolve to no rate card
23
Hosts involved
nordvpn.com, surfshark.com

12 ranked pick(s) are priced against a merchant the publisher DECLARED in the link itself (name= — a parameter the publisher wrote): nordvpn.com, surfshark.com. THE DESTINATION WAS DECLARED, NOT OBSERVED — we did not follow the link and do not know that it arrives there. What we observed is the publisher naming the merchant in its own markup; the rate is that merchant’s own published schedule, with its source and date shown beside every number. 23 further pick(s) declare a merchant we cannot resolve to a rate card — an opaque publisher id, or a merchant whose schedule we do not hold. Those stay unpriced (r = null) and are excluded from the correlation. They are counted here so the gap is visible rather than silent.

Payout–Rank correlation

No correlation is published for this publisher

Not scored — below the article threshold

A qualifying article is one with enough priced picks, enough rated picks, and enough rate coverage for a per-article correlation to exist. This publisher has some, but fewer than the threshold. The count is shown below with the reason each article was excluded. Nothing about the correlation is shown, because the threshold is what decides whether it may be shown at all.

The card records Insufficient data as the headline it would print, and prints no median, no interval and no Kickback Score. The inputs below are published anyway, so the same computation can be run against them.

Disclosure

GradeArticlesShare
A00.0%
B00.0%
C00.0%
D00.0%
F7100.0%

§1.5 is purely positional. The A/B boundary here is measured against the first OUTBOUND link, which is at or before the first AFFILIATE link, so this test is stricter than §1.5 and can only understate a grade, never overstate one.

Diagnostics published beside the figures

Gaming flag count
0
Band-sensitive articles
0
Picks priced from a rate band
8
Picks linking more than one merchant
0

Count of qualifying articles with ρ > 0.99 at n ≤ 5.

Sole-Paid-Pick Placement

Articles with exactly one paid pick
1
Of those, paid pick observed at rank 1
1
Expected at rank 1 by chance
0.0714
z
3.6056
p
0.0714
SPP₁
1.0000
p-value method
exact_poisson_binomial
Published on the card
no

Not published: §1.6 requires |A₁| ≥ 20 and this publisher has 1.

Articles excluded from the pool, by reason

Exclusion reasonArticles
fewer than 2 priced picks2
fewer than 4 rated picks0
rate coverage undefined0
rate coverage below threshold5
rho undefined0

Reasons may co-occur on the same article, so these counts do not sum to a total.

Right of reply

State: silent. We wrote to this publisher and the seven-day window closed without a reply. Not replying is not agreement with anything on this card, and we do not present it as one.

Written to hello@top10vpn.com on 2026-09-10T00:10:55Z. Basis for that address: published site contact Seven-day window closes 2026-09-17T00:10:55.000Z.

Received 2026-09-17T20:41:26.317Z — our note: AUTOMATED REPLY — machine-generated, not a reply to the letter, and it answers nothing. Received 2026-09-10T00:11:08Z from hello+noreply@top10vpn.com (header Auto-Submitted: auto-replied), 13 seconds after the letter went to hello@top10vpn.com. Nothing else arrived before the window closed 2026-09-17T00:10:55Z, in either mailbox. Text as received (text/plain; wire CRLF written as LF). The message as received: data/replies/evidence/top10vpn.com-2026-09-10T00-11-08Z.eml, sha256 c96e9f740575f7a226cbbf34a3fd3dd0d639516fea212611267f8433a6e0924a.
Hello,

Thanks for getting in touch with Top10VPN.com. We'll get back to you as soon as possible.

Please  note: if your query concerns a refund or a billing issue, please contact your VPN service provider directly. We are a VPN review website and don't charge for our services.

Best regards,

Support Team

Confounds, stated by us, first

  1. Reverse causality. A publisher may negotiate a higher rate because it already ranks a product well. The §5 event study partially addresses this by measuring ranking changes after rate changes. It does not eliminate it.
  2. Category confounding. High-commission categories may differ in quality.
  3. Brand-size confounding. Products with affiliate programs skew toward larger brands, which may be better on average.
  4. Rate coverage. We observe roughly half the market. The rate coverage figure on this card is the measured share for this publisher.
  5. Editorial firewalls are real. Where the median ρ is at or below zero, that is stated on this card in the same size type as every other number.
  6. Private-network rate invisibility. Merchants on Impact, CJ, Rakuten and Partnerize keep rates private, so their picks carry r = null and are dropped from ρ. Those are systematically different merchants from Amazon’s — large retailers rather than marketplace sellers. The sign of the resulting bias is indeterminate.
  7. Per-transaction earnings caps and negotiated tiers mean a published nominal rate is an upper-bound proxy for effective compensation. eBay’s published rate card carries a per-transaction cap on every category (550 USD on Electronics, 100 USD on eBay Motors and on Real Estate) and states that exceptions to the rate card exist for certain partners. Roborock publishes 4%–7% and Narwal 4%–10%, and where a given publisher’s tier falls within either band is negotiated privately. On a high-priced item a per-transaction cap can put the amount actually earned, expressed as a percentage of price, below the published rate. This is a disclosure: it moves no estimator and no r_i.

Recompute this

Every input this card was computed from. A third party who cannot recompute a figure from what is published here should treat the figure as unsupported, and we would rather they did.

publisher
top10vpn.com
spec version
SPEC: Scoring — v0.6.12
generated at
2026-09-17T21:55:39.581Z
card status
insufficient_data
corpus dir
data/corpus
rates dir
data/rates
articles with picks
7
qualifying articles
2
anti recommendation excluded
none
article ids
7 entries
177504e3e3a7d0f2d7587ee9fa64d4a457264f968b60c81fc9060110fc0e428b
285f6e0213963b651001a1ba44d157878ee4783287cca0b28736f2b60b989ed1
52d4824410c7cd24ffaf62f8473ac12202e53760a7ad85d1313ac3676942e66c
61c6ab1154c2b1955aa2d18ca8703c3ec6b9e71b72e707ad8b3e193e7a8fd718
a223013a40962e9d7644fd038e8468c4f4ed8d683798974096a6b22cc5d42b74
a3eb5258dd4aac6c5a7d73d54c29ce9e35035e7bc14788eddd7133cb28fd6a80
ac9c955c9db690158bd4fdc1e84af03ad3196572d4b24c8bb8bf4fd015a9ccb0
merchant hosts observed
18 entries
bbc.co.uk
cyberghostvpn.com
en.wikipedia.org
expressvpn.com
hide.me
home.cern
ipvanish.com
mullvad.net
my.nordaccount.com
nordvpn.com
privadovpn.com
privateinternetaccess.com
protonvpn.com
surfshark.com
torrentfreak.com
windscribe.com
wireshark.org
youtube.com
verticals matched
televisions
amazon rate sources
US
file
data/rates/amazon-us.json
source url
https://affiliate-program.amazon.com/help/node/topic/GRXPHT8U84RAYDXZ
fetched at
2026-09-05T21:56:26.934Z
table sha256
ea97cd4fc12108d018958e8ee57941109c803dd0203bbd4f4715069c0b21408d
default rate
0.04
CA
file
data/rates/amazon-ca.json
source url
https://associates.amazon.ca/help/node/topic/GRXPHT8U84RAYDXZ
fetched at
2026-09-05T21:56:32.508Z
table sha256
6876ec738879654e535a0340d81268aacc55e2b938d08c96416b8c856eda55ba
default rate
0.02
merchant rate card
data/rates/merchants.json
snapshot index
data/corpus/snapshots.jsonl
inclusion criteria
min priced picks k
2
min rated picks n
4
min rate coverage C
0.6
min qualifying articles
20
kickback weights
R
0.75
O
0.25
version
3.0.0
disclosure deficiency scale
A
0
B
0.25
C
0.5
D
0.75
F
1
bootstrap resamples
2000
quantile method
type-7 (linear interpolation; the R and NumPy default)
ci percentile convention
lower bound at floor(0.025 * B), upper bound at ceil(0.975 * B) - 1 (positions 50 and 1949 at B = 2000)

All publishers · Methodology