Cloudflare maintains a whitelist of HTTP/2 fingerprint and User Agent pairs. Each client request generates a static fingerprint. Playwright's stealth mode masks navigator.webdriver flags but leaves protocol-level signatures exposed. Fingerprint-agent mismatch triggers blocks even when surface indicators look clean.