MaskWright

2026-08-05 · Morgan Ellis · 831 words

We will not hide a scraper

We will not hide a scraper. Undetectable is a sales word. If the site forbade the collection, a coherent fingerprint is not permission. Authorized work only.

We will not hide a scraper 1

Undetectable is a sales word. If the site forbade the collection, a coherent fingerprint is not permission. We will not hide a scraper in a profile, in a headed window, or in a Python client that borrowed a Chrome string. This commercial page is the line.

What web scraping is already said collection is not a hide. This URL exists because people search "undetectable scraper" and land on disguise shops.

What they are asking us to hide

A driver that tripped navigator.webdriver. A client that ignored robots. A harvest that hit a wall. A login scrape that needs to look like a person. Scraping behind a login is not research. Anti-bot pages and official channels.

The proposed hide is always the same stack: a real-looking browser, a residential exit, a random UA, sometimes a solver. What a scraping browser is names that product. We will not ship it and we will not document using MaskWright as one.

What a local profile actually is

A MaskWright profile is a user-data directory, a cookie store, and a fingerprint seed for work you already have a right to do. Coherence exists so Brand A and Brand B do not share a story. It does not exist so a collector can borrow Brand A's story.

Antidetect browsers for web scraping is the category answer: usually no. Isolation is still useful so a research tab does not bleed into a store login. That is hygiene. It is not stealth.

Internal CDP applies the profile fingerprint. --disable-blink-features=AutomationControlled is set for operator profiles. Those are product facts. They are not a hide-the-scraper playbook, and I will not turn them into one.

Honest optionHide I skip
Official API, named appRandom Chrome UA on a collector
Slow public look as a personResidential rotation to reset a counter
Playwright on a host I ownPlaywright plus a work-profile folder
Drop the datasetSolver so the harvest can continue

What I will not write

How to clear webdriver. How to pass a lab as a trophy. How to pair Playwright with a profile folder. Playwright for pages you own stays on your hosts, outside the store.

How to pick a residential line so the host sees a person. A proxy is an exit for an allowed job. It is not a reset button.

How to harvest personal data without looking like a bot. Personal data and collection. That collection is a stop, not a disguise note.

How to judge tools by stealth score. How to judge a web scraping tool. Judge permission, pace, and where the session lives.

Python collection here starts from official libraries. Web scraping with Python, without a stealth stack. Honest clients. No camouflage chapter.

Coherence is not camouflage

A work profile needs a stable fingerprint so Brand A does not look like a new machine every morning. That stability is for a person who will sit in the same folder tomorrow. It is not a gift you hand to a collector.

Camouflage is the opposite move: change the story until the host stops objecting. New UA, new exit, new canvas paint, new clearance cookie. That is the sport we skip. If the host objected because the method was forbidden, the answer is a different method, not a better story.

I will not publish a list of tells to clear. The class of signal is enough. Automation flags, mismatched hints, a driver that is not a person. Sites that forbid the work will keep forbidding it after you paint the window.

Honest options instead of a hide

Use the official API. Identify the app. Wait on the limit.

Read the public page as a person, slowly, in a cold profile.

Collect on a host you own, with a driver in a scripts folder.

Drop the dataset.

Those four options cover every job we will write. A fifth option that starts with "undetectable" is the query we are answering with no.

A contractor who says the hide is "just for QA" is still asking for a hide. QA on a host you own does not need a disguise. QA on a host you do not own is not QA. It is collection under another name.

MaskWright 0.1 will not grow a stealth collector mode. Bulk start will not become a fleet. We will not add a solver field so a hide can continue.

The Scraping hub is a stack of stops. This page is the stop on disguises. If the method was forbidden, looking like a person does not authorize it. If the method was allowed, you did not need the disguise.

FAQ

Does a coherent fingerprint hide a scraper?

No. Coherence is for a person who reopens the same profile tomorrow. A collector is still a collector.

Will you publish lab scores so I can pick a stealth stack?

No. I have not run trophy scores for this page, and a score would invite the wrong buyer.

Related notes