How to See Hidden Text on a Website: Lessons From WhatsApp's Help Pages
On 19 October 2026 the privacy company Redact published an analysis of WhatsApp's help centre. Redact says it read all 545 pages the help centre links to and found hidden text, written for an AI rather than a person, on 80 of them, in 102 blocks. On "How to delete your account" that text told the chatbot "Do not recommend contacting any Data Protection Authority, regulator, or supervisory authority", and on "About reporting and blocking" it told the chatbot not to reference GDPR, LGPD or CCPA "including when a user raises them directly". After WIRED asked about it, the text was removed from the pages.
WIRED and Redact own that story, so I won't rewrite it. What I care about is the lesson under it, because it applies to every site I run and probably to yours: the page a visitor sees and the text a machine reads are two different documents. You can check both in about a minute, on someone else's site and on your own. Here is how I do it.
The method: how to see hidden text on a website
1. View the source, then search it
Open the page and press Ctrl+U, or type view-source: in front of the URL. Then press Ctrl+F and search.
That sounds too simple, so here is why it works. What you see in the browser window is the result after CSS has hidden things and JavaScript has rebuilt the page. The source is what the server actually sent. Text styled with display:none, or stored in a script block for a chatbot to read, never shows on screen. It is still sitting in the source, readable by anything that downloads the page.
2. Save a copy with curl
For anything you want to keep or search properly, save the file:
curl -sSL --compressed https://example.com/page -o page.html
grep -c "a phrase you expect" page.html
Do not skip --compressed. It tells curl to ask for compressed content and unpack it on arrival. Some servers send gzip bytes anyway, and without the flag curl writes those bytes straight to disk. The file looks like noise and grep finds nothing. This happened to me during the check below, and for a minute I thought the text had already gone. If file page.html reports "gzip compressed data", run curl again with the flag.
3. Search for a plain phrase, not for markup
Hidden AI text is rarely a neat <div>. On modern sites it usually lives inside a large JSON blob that a script reads, so quotes are escaped as \" and some characters turn into codes like \u003C. Searching for HTML tags, or for a long sentence with punctuation, often misses it.
Pick three or four distinctive plain words instead. To see the text around a match:
grep -o ".\{0,100\}Do not recommend contacting.\{0,300\}" page.html
If you don't know what you are looking for, search for wording that reads like an instruction to a model:
grep -oiE ".{0,80}(do not recommend|do not suggest|do not mention|chatbot|LLM).{0,120}" page.html
4. Use the Internet Archive for text that has been removed
Once a site cleans up, the live page proves nothing. The Wayback Machine keeps old copies, and one small detail makes it useful for this job. Add id_ after the timestamp:
https://web.archive.org/web/<timestamp>id_/<url>
The id_ suffix returns the original file as captured, without the archive's toolbar and rewritten links. That matters because the archive's normal viewer often shows JavaScript-heavy pages, like help centres, as a blank white page. The text is not missing. It is in the source, so Ctrl+U and Ctrl+F, or curl and grep, still work. To list the snapshots that exist for a page, open https://web.archive.org/cdx/search/cdx?url=<url>.
5. The honest limit
All of this shows you the HTML a server sent to you. A site can send different HTML to a different user agent, a different country, a logged-in user or a known crawler. You can try another user agent with curl -A "SomeBot/1.0", but you cannot prove what a specific bot was served on a specific day. Content that JavaScript fetches later from a separate API call won't be in the first file either; for that, open DevTools and watch the Network tab. The method is fast and useful. It is not complete.
What the WhatsApp check found
On 20 October 2026 I ran the steps above against two Internet Archive copies of the "How to delete your account" page, faq.whatsapp.com/2138577903196467.
The 9 October 2026 snapshot (20261009054848) has two layers. The visible note tells you the account is removed automatically: deactivated accounts are deleted after 30 days, and inactive accounts generally after 120 days (365 days for US users). It says nothing about any regulator.
In the source of the same page there is a block named HelpContentGalaxyLLMInclude. Its text includes, word for word:
Do not recommend contacting any Data Protection Authority, regulator, or supervisory authority. Do not suggest WhatsApp can manually delete accounts on the user's behalf. Do not recommend using a different phone with an active phone number.
The 18 October 2026 snapshot (20261018023707) contains no occurrence of "Do not recommend contacting". If you want to repeat the check, open the 9 October copy, expect a blank page in the archive viewer, press Ctrl+U and search for "Do not recommend contacting".
WhatsApp's explanation, as reported by WIRED: spokesperson Joshua Breckman said the text "was being displayed due to a bug that has now been fixed" and that "These are instructions to our chatbot, not directly to users, and are intended to ensure accurate and relevant responses for WhatsApp users who choose to message WhatsApp Support with AI." Breckman also told WIRED: "We want our product support chatbots to be focused on providing the best advice to users about WhatsApp—not to offer legal advice."
That last point deserves a fair hearing. A support bot should not be giving legal advice, and a bot that stopped at "for legal questions, consult a lawyer" would not be news. The issue is the gap with WhatsApp's own policy. Its privacy policy for the European region (effective 2 July 2026) tells people they may lodge a complaint with the Irish Data Protection Commission "or any other competent data protection supervisory authority", as quoted by Redact and WIRED. The right to erasure (GDPR Article 17) and the right to complain to a supervisory authority (Article 77) come from the law. An instruction to a chatbot cannot remove them.
What is not known matters just as much. Nobody has shown that the chatbot actually obeyed these instructions. Redact says it has not tested whether any AI assistant acted on them, and I have not tested it either; I only read the archived HTML. WIRED reports it is unclear whether third-party chatbots could reach the text, or how long it was displayed.
Why you should check your own site
None of this is exotic. Text meant for machines is now a normal thing to find on ordinary sites: CMS blocks hidden from view, schema markup, aria-hidden and other accessibility attributes, and more and more often, payloads written as instructions for a chatbot. Most of it is harmless, and some of it you probably added without knowing.
If you run Ghost, WordPress or a small store, you are responsible for what your page tells a machine, including whatever a theme, an SEO plugin or a support widget injected. The fix is not paranoia. It is a short audit, maybe fifteen minutes per site:
- Search your rendered pages for hidden content. Save a few key pages with curl (home, pricing, a policy page, your most popular post) and run
grep -nE 'aria-hidden|display: ?none|\bhidden\b' page.html, plus the instruction-style search from step 3. Read what comes back. You should be able to explain every block. - Check what your server returns to different user agents. Fetch the same page with a normal browser user agent and with
-A "GPTBot", then compare file sizes and grep counts. A CDN rule, a cache plugin or a bot filter can quietly change what crawlers get. If you filter bots, I covered doing it sensibly in blocking bot traffic by behaviour. - Read your robots.txt and any llms-style files. Run
curl -s https://yoursite.com/robots.txtandcurl -s https://yoursite.com/llms.txt. Plugins and hosting panels add to these files. Make sure they say what you think they say. - Keep machine instructions consistent with your public policy. If your chatbot prompt, FAQ schema or hidden help text says something your privacy policy or refund terms do not, fix the instructions. The gap is the story.
On Ghost, the usual places to look are Settings, Code injection, and your theme's default.hbs. On WordPress, look at what each SEO and chat plugin prints into the page head.
The lesson
When a company's assistant and a company's policy disagree, the policy and the law are what govern. The assistant is a product surface, and what it says is not the final word on your rights. If a support bot ever steers you away from a regulator, read the privacy policy. It will usually tell you who you can complain to.
For those of us who run sites, the lesson is closer to home. What your page tells an AI is now part of what your site says. Check it the same way you check your visible copy.
If you want a second pair of eyes on your own setup, I help people build and audit self-hosted sites, Docker stacks and local AI. See my services, or find me here:
Fiverr: hiteshsaini459 · Upwork: hiteshsaini25