Skip to content

docs: TLS-fingerprint walls, where the impersonated tier helps - #533

Merged
us merged 2 commits into
us:mainfrom
paoloantinori:docs/tls-walls-site-coverage
Sep 11, 2026
Merged

us merged 2 commits into
us:mainfrom
paoloantinori:docs/tls-walls-site-coverage

Conversation

@paoloantinori

Copy link
Copy Markdown
Contributor

Follow-up to #527, documentation only.

While validating the impersonated-http tier I ran an A/B probe (plain HTTP vs the impersonated pin, same egress) across the site classes people actually ask about, and the result is worth shipping as a page rather than staying in a PR thread: the wall landscape splits into three gate shapes, and only one of them is what the tier fixes.

The new page (docs/tls-fingerprint-walls.md, linked from the JS-rendering pin table) covers:

  • The three gate shapes, with verified examples and dates: TLS-only gates (amazon.it's interstitial, Temu's obfuscated stub, Facebook's 400-on-plain), JavaScript gates where impersonation cannot help (X, Booking's script challenge, Zara, LinkedIn, Glassdoor, www.reddit.com), and combined vendor gates (DataDome/Akamai) that only engage fully from datacenter egress.
  • The anti-pattern: a block returning the identical error to two different TLS stacks is an IP-rate block (eBay demonstrated it live during the probe), and impersonation is wasted budget there.
  • A three-step diagnosis runnable from whatever egress a deployment uses, since the landscape is egress-dependent.
  • The extension recipe for other marketplaces: capture the wall's actual interstitial sentence, verify it is unique to the wall (the English "click the button below to continue shopping" is deliberately absent because empty-cart pages carry it verbatim), then add the exact sentence with positive and negative fixtures. This is the same discipline feat(renderer): impersonated-http tier (Chrome TLS/JA3 via wreq) #527 applied to the it-IT phrase.
  • Preset maintenance: the graceful fall-through behavior when the pinned Chrome fingerprint ages, and the #[ignore] live tests as the sentinel.

Local checks: scripts/docs-guards.sh and scripts/check-doc-links.sh pass (the page is registered in docs/site.config.js; 50 known slugs, no broken links).

Turns the site-coverage research behind us#527 into a user-facing page: the
three gate shapes (TLS-only, JavaScript, combined vendor) with verified
examples and dates, the IP-rate anti-pattern (identical errors on two TLS
stacks mean pacing, not impersonation), a three-step diagnosis that works
from whatever egress crw runs on, and the extension recipe for covering
another marketplace's interstitial (verify the sentence against a live
wall before adding it, with positive and negative fixtures). Linked from
the js-rendering pin table.

gate-exempt: documentation-only change (new page, one pointer, sidebar
registration); docs-guards and the internal link check pass locally.

Gates: /simplify, code-review
Adapt the research notes to the documentation register the rest of the
site uses: page-intro block with Covers/Verified-against, symptom-first
structure, imperative voice instead of probe narration, a blockquoted
"not a fingerprint problem" note mirroring the troubleshooting page's
"not a block" pattern, and managed-cloud plus self-hosted cURL examples
for the diagnosis steps. Same facts, same scope.

Gates: /simplify, code-review
@us

us commented Sep 11, 2026

Copy link
Copy Markdown
Owner

thank you for that @paoloantinori 🫶

@us
us self-requested a review September 11, 2026 11:44
us
us previously approved these changes Sep 11, 2026
@us
us force-pushed the docs/tls-walls-site-coverage branch from a22669c to 6549fad Compare September 11, 2026 11:48
@us
us merged commit db55f4e into us:main Sep 11, 2026
20 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants