Direct answer: A zero-request parse of 20 cached contact pages: 15 contain a form, but only 3 link a privacy policy, 3 mention consent and 1 has a checkbox; only 2 (E02, E03) have form + privacy + consent together. Eight contact pages reference analytics. Contact pages do not fill the privacy gap seen on homepages.
Study 35 looked at homepages: 3 of 25 had a privacy link. A common explanation is “the entry point lives on the contact or form page”. This study takes the same sites' contact pages and tests that explanation.
Method: reuse the study-8 contact cache
Pages come from the 20 contact pages crawled in study 8 (`out/raw`); this study makes no network request. Each page is checked for a <form>, a link whose href points to a privacy policy, consent words (同意 / 已阅读 / 隐私政策), a checkbox, and common analytics scripts. Text signals only; no JavaScript and no compliance judgement.
| Signal | Match | Boundary |
|---|---|---|
| Form | <form | Submittability not tested |
| Privacy link | href containing privacy / yinsi / 隐私 | Target not checked |
| Consent words | 同意 / consent / 已阅读 / 隐私政策 | Keywords are not a consent flow |
| Checkbox | input type=checkbox | Required state not checked |
Result: 15 forms, 3 privacy links
| Signal | Pages (20) | Note |
|---|---|---|
| Form | 15 | E01, E02, E03, E04, E06, E08, E11, E13, E14, E17, E19, E23, E26, E28, E29 |
| Privacy link | 3 | E02, E03, E11 — all form pages |
| Consent words | 3 | E02, E03, E19 |
| Checkbox | 1 | E03 only |
| Form + privacy + consent | 2 | E02, E03 |
| Any analytics | 8 | Baidu 5, CNZZ 3, GTM 1 (overlapping) |
Against homepages: the same three sites
| Layer | Pages | Privacy link | Consent words | Both |
|---|---|---|---|---|
| Homepages (study 35) | 25 | 3 | 5 | 2 |
| Contact pages (this study) | 20 | 3 | 3 | 2 |
The contact-page privacy links are still E02, E03 and E11 — no additions; consent words drop from 5 to 3 (E19 appears on the contact page, while E04/E24/E29 do not). In this sample, “the privacy entry is on the contact page” finds no support, at least in static HTML.
Many forms, few consent checkboxes
Of 15 form pages, only one (E03) also has a checkbox; three have consent words, but E19 lacks a privacy link and E11 lacks consent wording. Only E02 and E03 combine form + privacy link + consent words.
This does not mean the other forms are non-compliant: consent may be handled by a runtime modal, a third-party script or a second confirmation at submit time, and the privacy link may sit outside the footer. It does mean static contact-page HTML is a poor place to confirm “notice before collection”.
What this means for acceptance
- Do not assume the entry is on the contact page. Only 3 of 15 form pages had a privacy link.
- Record form, link, consent and checkbox separately. Their hit rates differ and merging hides gaps.
- A checkbox is not valid consent. Required state, wording and withdrawal still need checking.
- Runtime behaviour needs rendering. Modals and second confirmations are not in static HTML.
- Read both layers together. When homepage and contact page both lack the entry, it is not misplaced — it is absent.
Limits
- Cached, zero-request: contact pages are frozen at the study-8 crawl.
- Regex: keywords can false-positive; links may sit in JavaScript or iframes.
- No JavaScript: runtime consent popups cannot be confirmed.
- No compliance judgement: signals only, not legality of processing.
- 20-page pilot: no industry claim.
Data and reproduction
Anonymised data: equipment-contact-privacy-pilot-2026.csv (20 rows: sample_id, contact URL, status, form, privacy link, consent words, checkbox, analytics flags and combinations). The repository keeps docs/research/2026-11-contact-privacy-pilot.csv.
Parser: scripts/contact_privacy_probe.py; unit tests: scripts/test_contact_privacy_probe.py (10 tests, no network). Run:
python -m unittest scripts.test_contact_privacy_probe
Related: the homepage privacy and analytics pilot (25 pages), the contact-page details pilot (address, phone, map), and the contact-path pilot.
Sources and definitions
- Contact cache: 20 contact pages from study 8 (raw HTML kept off-repository).
- Signals: keyword/regex matches; no JavaScript execution and no compliance judgement.
- Scan: 2026-11-03, zero network requests.