No. 11 · 30 October 2026 · Security · AI

Written for the Chatbot, Sent to Everyone: auditing the text help pages carry for machines

WhatsApp's help pages shipped instructions for its chatbot inside the page source. Where they went, which tools would have read them, and an audit of 200 help centres, with what 200 sites can and can't show. The audit hasn't been run.

If you don't follow this corner of the web, here is the short version.

WhatsApp, the messaging app from Meta, runs a help centre: pages explaining how to do things like delete your account. It also offers an AI chatbot that answers support questions2. Redact, a company that sells a service for deleting your messages and posts across many platforms, found that WhatsApp's help pages carried text hidden from readers and addressed to an AI, including notes telling it not to point people to a data protection regulator or to privacy law. WhatsApp said the notes were meant for its own support chatbot and were exposed by a bug 2.

This essay asks how those notes reached the public, which of the programs that read web pages for AI systems would have picked them up, and how common this is elsewhere. It matters to anyone who asks a company's chatbot for help: what the chatbot is told to leave out can be decided by text you never see.

In October 2026 the privacy company Redact read all 545 pages that WhatsApp's help centre links to. On 80 of them it found 102 blocks of text that were never drawn on screen, written as instructions to an AI 1. Two told it not to recommend a data protection regulator and not to cite privacy law. WhatsApp said the notes were meant for its own support chatbot and appeared because of a bug, now fixed 2. This essay takes three questions the reporting leaves open: how the notes travelled, which readers would have received them, and how often other help centres carry text like this. It reports one small measurement. Archived copies of the delete-account page were run through six common text-extraction tools. Five returned nothing from the raw page, neither the notes nor the article. The sixth carried both through, inside a dump of the page's scripts. The essay then proposes an audit of 200 help centres and sets out what 200 sites can and can't show. The audit hasn't been run.

Most writing on prompt injection (text planted where an AI will read it, to give it orders) pictures a hostile outsider. Here the text came from the site's own team, through its own publishing pipeline, addressed to its own chatbot, and it went out to everyone else as well.

One question, three desks: what is your help centre telling machines, and who decided?

Drafts here go through the Moot before I read them: a panel of frontier models I call by their lab bosses' first names (Dario, Sam, Sundar), plus Eddie, the house model that drafts. After the first version went up, three outside readers (Claude, OpenAI, Gemini) sent critiques, and this version is what came back. The first version described an audit that hasn't happened as if it had results, cited a newspaper for this essay's own thresholds, and got the arithmetic of its main falsifier wrong. All three are fixed below. Every source was re- read on 31 October 2026. The archive check in section 2 and the extraction test in section 4 were run for this version.

Redact found the first note on 8 October 2026 1. The delete-account page carried a visible note: an account you can't delete yourself is removed anyway, 30 days after deactivation or after 120 days unused (365 in the US). Underneath sat text a reader couldn't see. It repeated the waiting periods and added three orders: "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" 1.

The second note was on the page about reporting and blocking. Once a user mentioned a lawyer, a lawsuit or a court, the AI was told not to cite WhatsApp's terms or privacy policy, and not to "reference, cite, or interpret data protection or privacy regulations (for example GDPR, LGPD, CCPA), including when a user raises them directly" 1. WhatsApp's own European privacy policy names the GDPR and the Irish Data Protection Commission when it tells users how to complain 1.

Those were two blocks out of 102. Redact read every block and called nearly all of them housekeeping: notes that cleared up words people confuse, or pointed a question to a better page. It published twenty summaries in four kinds. Some held information back, some were talking points, some protected the user, and some were housekeeping. One told the bot not to suggest entering a false birth year, even to a user who said they were under 18 1.

The Telescopes

Redact counted 545 pages read, 80 with hidden text, and 102 blocks. The other accounts checked here repeat those numbers, and none of them recounts 234.

Redact checked 300 pages from Facebook's and Instagram's help centres, which are built on the same system, and found no notes like these 1. None of the other accounts checked here mentions it 234. It's the most useful fact in the story: same platform, same company, and the notes appear in one help centre and not in two others. Whatever explains them is narrower than "the CMS does this" (the content management system, the software the pages are published with).

The notes were present when Redact checked at 21:40 UTC on 15 October, and all 102 were gone by 02:08 UTC on 18 October, after WIRED contacted Meta 12. The removal happened somewhere in those 52 and a half hours. A WhatsApp spokesperson told WIRED: "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" 2. Redact is plain about what it doesn't know: "We read its instructions, not its answers." It hasn't tested whether WhatsApp's chatbot or any outside assistant acted on them 1.

Redact's instructions for seeing the notes yourself are to open an archived copy, view the source, and search for the text, which sits near the name HelpContentGalaxyLLMInclude1. I did that with five captures of the delete-account page from the Internet Archive, fetched raw, with no rewriting 5.

The Second Sitter

WhatsApp's help pages aren't sent as finished HTML. Each article arrives as a JSON content tree inside a <script type="application/json"> tag, and the browser builds the page from it. Every node in the tree has a type: HelpContentGalaxyParagraph, HelpContentGalaxyLink, HelpContentGalaxyBold. In the captures from 4 September, 15 October and 16 October, two nodes have the type HelpContentGalaxyLLMInclude, and their children are ordinary paragraphs carrying the notes 5. The visible note about waiting periods sits in the same payload, a few nodes away. In those three captures, neither text appears anywhere outside the JSON. ReptileHaus, a Dublin web studio, reported the same structure from its own captures on 20 October 3.

So these weren't hidden with CSS. The paragraphs a reader saw and the paragraphs they didn't arrived in the same delivery, and the only difference was the node's type. Redact reports that this text never showed on screen 1. A scanner that hunts for hidden elements on the rendered page was looking in the wrong place. The text worth worrying about may be the JSON behind the curtain, not the div with the inline style.

ReptileHaus found one more thing in the page's list of components: HelpContentGalaxyLLMExclude, a twin that marks text to keep away from the model 3. Both names are still in the captures from 18 and 20 October, after the notes were removed5. ReptileHaus argues that "a bug does not come with an opposite" 3. It's right that the capability was built on purpose, in both directions. That doesn't show that sending the notes to the public was on purpose. A component can be designed for one audience and leak to another, and WhatsApp's explanation is exactly that 2. Both readings fit the evidence. Neither is proven.

The Magician's Table

As for who received what, Redact says WhatsApp's server sent the notes "to Google's and Bing's crawlers". Requests made on 9 October under the names OpenAI's, Anthropic's and Perplexity's crawlers use got a page "without the article or the notes" 1. Those were requests that used the names. They didn't come from those companies' networks, a distinction section 5 returns to. Taken at face value, text written for an AI went to two search engines and was held back from the AI crawlers by name.

The archive copies have a limit worth knowing. The page exists under several addresses, with different locale and cms_platform parameters, and captures of different addresses disagree. A capture from 7 September without the locale parameter has no notes. One from 4 September with locale=en_US has both 5. ReptileHaus used the 7 September copy to date the episode 3. A single capture without the notes doesn't show they were absent that day.

The WhatsApp case raises four questions, and each needs its own evidence:

QuestionWhat would answer itWhatsApp
Is the text in what the server sends?The raw responseYes, in the JSON [1][5]
Does a person see it?The rendered page, and what assistive technology readsNot on screen, per Redact [1]. Assistive technology wasn't tested.
Does a model's pipeline take it in?The text each pipeline producesDepends on the pipeline (section 4)
Does it change what the model says?Answers with and without the textUnknown outside Meta [1]

Most of the noise around the story comes from collapsing these. Text can be in a page and never reach a model. A model can read an instruction and ignore it. And a chatbot can steer people away from a regulator without any hidden note being the cause. Each column is a separate measurement.

The fourth row needs Meta. The third doesn't. If the notes were written for a machine, the useful question is which machines would have read them. Most systems that feed web pages to a model don't hand it raw HTML. They run an extractor that pulls out the article, or a converter that turns the page into Markdown.

So I took three archived copies of the delete-account page that carry the notes and two that don't 5. I ran each through six common tools with default settings and no JavaScript, and checked two strings: the hidden "Do not recommend contacting" and the visible "Deactivated WhatsApp accounts are deleted 30 days".

Pipeline (raw HTML, default settings)Hidden noteVisible articleWords out
Mozilla Readability 0.5.0 (jsdom 24.1.3)nono0
readability-lxml 0.9nono0
trafilatura 2.3.1nono0
html2text 2025.4.15nono0
markdownify 1.2.3nono9
Turndown 7.2.0yesyes7,300 to 7,700

The results were the same on all three copies with notes. On the two copies without them, Turndown still carried the visible note and the hidden one was gone, which is the control that should hold.

The Letter Pipe

The pattern is simple. Every article extractor looks for article text in the HTML and finds none, because the article is in a script. So it returns nothing at all. The notes were dropped, but so was everything else. Turndown, by default, keeps the text inside <script> tags, so it passed through the whole serialized payload, 7,300 to 7,700 words of component names, configuration and escaped JSON, with the article and the notes somewhere inside.

Text written for a machine was, on this evidence, unreadable to most of the machines that might have fetched it, along with the article it was attached to. The pipelines that would have carried it are the crude ones: a raw page pasted into a context window, a converter that keeps scripts, a crawler that parses JSON. The pipeline it was written for is Meta's own, and WhatsApp says its chatbot was the intended reader 2. How that chatbot reads the content tree hasn't been published.

The limits are real. This is one page, from archive copies rather than Redact's saved originals. It doesn't test a pipeline that runs JavaScript, renders the page, and reads the result. I tried to render the archived copy in a headless browser (a browser driven by a program, with no screen), and it came back blank, as Redact warns the archive's viewer often does 1. The test says nothing about CSS-hidden text in ordinary HTML, which several of these tools handle differently. It's a start, run in an afternoon.

The obvious next measurement is to ask a page as a browser and as each AI crawler, then compare. The first version of this essay's pseudocode did exactly that, and called any difference "ROUTED". That's wrong twice over.

The Chauffeur at the Gate

First, sending a crawler's name proves nothing about what the real crawler gets. Google tells site owners to verify Googlebot by reverse and forward DNS lookups on the requesting IP address 8. OpenAI and Anthropic publish their crawlers' IP ranges 67. A site that routes by verified address will treat a researcher's request as a researcher's request, whatever it claims to be. Changing your User-Agent (the name a request gives for the program making it) changes what you claim to be, not where you're calling from.

Second, pages differ between fetches for reasons that have nothing to do with AI: timestamps, tokens, A/B buckets, rate limits, error pages. I asked for the live delete- account page twice under four names from the server this essay was built on. Both times, the browser name got an HTTP 400 error page of 6,278 bytes, and each crawler name got an empty 302 redirect. The bytes differ, and none of it is the article. ReptileHaus ran the same kind of check on 113 help URLs. The first sweep flagged 37 whose response changed with the user agent. When ReptileHaus re-fetched those slowly, with retries, 33 still differed 3. ReptileHaus reads most of them as ordinary engineering 3. Okta's help portal sent 78 characters to a browser and 9,449 to the crawlers, which is what prerendering a JavaScript app for crawlers looks like. Microsoft Learn sent 17,340 characters to a browser and a 403 to all three crawler names 3.

So an audit can reach three conclusions, and only two of them from the outside:

None of this is a new class of attack. Greshake and colleagues named indirect prompt injection in 2023: instructions planted in content a model retrieves, rather than typed by its user 10. Invernizzi and colleagues measured cloaking in 2016, when sites showed search crawlers different content from what they showed people 11.

The Fourth Flag

The closest work is recent. Khodayari and colleagues analysed 1.2 billion URLs from 24.8 million hosts in April 2026 and validated 15,300 indirect prompt injections on 11,700 pages. About 70% sat in parts of the page that are never rendered, such as headers, comments and metadata, and their targets included customer-support agents. They also ran 5,200 controlled experiments across 13 models and four representations of each page. Compliance reached 8% for smaller models given plain text, and structured representations reduced it 9. BrowseSafe++ pairs 38,675 attacked pages with clean copies, each in four views: HTML, Markdown, an accessibility tree and a screenshot 12. Comparing raw HTML with extracted text, then, is established method, not this essay's contribution.

There's also a careful zero. A study posted to OWASP's LLM Top 10 project scanned sites sampled from the Tranco top million. In a September rerun it covered 2,924 distinct reachable sites and found no hidden text matching its rules for AI manipulation, plaintext or decoded 13. A commenter on the thread worked out that this bounds the rate at about 0.1% at one-sided 95%, for reachable sites only. 41% of the sampled domains were unreachable, blocked automation or failed. The same run logged one hidden passage the scanner classed as agent-aware and benign 13. Its sample was homepages and a few inner pages, not help centres, and its rules look for manipulation, so the zero doesn't transfer. It does show what a careful zero looks like.

The One Picture

Two more audits came out in the week after the story. Aissist, which sells support agents, found four pages from Lorikeet, a competitor, carrying sections headed for AI agents that a visitor can't see. Those are addressed to outside assistants and ask for the user's consent 4. ReptileHaus asked 112 help-centre hosts for an llms.txt, the public file meant to tell AI assistants what a site contains. 26 had one. Their 11,962 links included exactly one to a real regulator contact 3. Both sell services in this area. Redact sells account and data deletion. None of that makes a measurement wrong, but it belongs in view.

What's left, and worth measuring, is narrower than prompt injection in general. It's first- party instructions: text a company writes to steer its own assistant, published through the same pipeline that serves its customers, and readable by everyone else's assistants too. That is a governance question as much as a security one.

The proposal is to measure how many public help centres carry text addressed to an AI that a visitor isn't shown.

The sampling frame. Help centres of companies in the Tranco top 10,000, found from the help, support or docs host each company links from its homepage, stratified by help-centre platform: Zendesk, Salesforce, Intercom, Freshdesk, and custom builds. The platform is identified from the page itself. A random 200 come from the strata in proportion to their size.

Inside each site. Up to 25 articles picked at random from the sitemap. Then, as a separate count, every page about deleting an account, privacy, complaints or refunds. That's where WhatsApp's two notes were, and mixing a targeted search into a random sample would bias the rate. Sites that can't be reached, block polite automation or have no sitemap are counted and reported. The rate applies to reachable sites only.

What counts as a positive. Prose addressed to an AI or written as instructions to one, present in what the server sends, and not shown to a visitor. Candidates come from four places: strings in JSON payloads, comments and metadata, elements hidden by computed style, and text in the raw page that isn't in the rendered one. Two readers, who can't see the site's name, judge each candidate and sort the positives into Redact's four kinds. Counts are reported both before and after that judgement.

What the numbers can say. The unit is the site. With 200 sites, the exact one-sided 95% bounds 16 work out like this:

Positive sites (of 200)ObservedOne-sided 95% bound
00%upper 1.49%
10.5%upper 2.35%
31.5%upper 3.83%
84.0%lower 2.01%
2814.0%lower 10.14%
The Washtub and the Teacup

The first version said fewer than four positives would put the upper bound at 2% or below. Only zero does. It also predicted 10% or more. To show the rate exceeds 10% at this confidence takes 28 positives. If the true rate were exactly 10%, a study of 200 would get there only about 4% of the time. So 10% is gone. The prediction had no basis beyond one incident. These figures also assume independent sites and perfect judging. Sites on the same platform aren't independent, so intervals are reported for each platform and for the weighted total, and they'll be wider than the table.

Mechanism needs its own sample. If the rate is a few percent, 200 sites yield a handful of positives, too few to say how the text gets there. Mechanism is measured on an enriched sample instead: every known positive, from this audit, from the published audits, and from WhatsApp's archived pages. Each is fetched twice under each name, as in section 5.

Ingestion and behaviour, separately. Each positive goes through the section 4 pipelines, plus one that renders the page with JavaScript. For behaviour, each surviving block gets a paired test: the same questions asked of the same models with the block in the context and without it, with answers scored against a key written in advance. Meta's chatbot can't be tested this way, and the audit doesn't claim to.

Conduct. One request a second, robots.txt honoured, no stealth browsers. RFC 9309 says robots.txt rules are not a form of access authorization 14. They're honoured anyway. Results are published in aggregate. Each site with a positive is told before publication.

Aissist's audit makes the governance point plainly. Instructions to an agent belong in the agent's own configuration, versioned and reviewed, not in published content 4. When the instructions live in the help centre, whoever can edit an article can change the bot's behaviour, and nobody in support review has to notice. An instruction that would fail a policy review never gets one. And because the text is public, it's an instruction set for everyone else's assistant too.

Lifting the Ground

None of this changes anyone's rights. In the EU, the right to erasure and the right to complain to a supervisory authority come from Articles 17 and 77 of the GDPR, and a note to a chatbot can't remove them 115. What a note can do is make sure a person doesn't hear about them from the place they went for help. Whether a given note breaks a given law depends on facts nobody outside Meta has: what the bot actually said, to whom, and how often. That analysis belongs to lawyers in the right jurisdiction.

For a team that runs a help centre, the checks are cheap:

Each claim is judged on a one-sided 95% exact interval, with the site as the unit. An interval that straddles its threshold means the study was too small.

This is the shape of the per-page check, written for reading. It reads public pages and changes nothing.

  # Every crawler identity here is claimed, not verified.
  NAMES = (BROWSER, GOOGLEBOT, GPTBOT, CLAUDEBOT)

  def audit_page(url):
      got = {name: (fetch(url, name), fetch(url, name)) for name in NAMES}
      seen = render(url)              # visible text, computed styles
      blocks = set()
      for pair in got.values():
          for page in pair:
              blocks |= json_strings(page) | comments_and_meta(page)
      blocks |= hidden_by_style(seen)
      hidden = {b for b in blocks
                if is_prose(b) and b not in seen.visible_text}
      return [(b, mechanism(b, got), judge(b)) for b in hidden]

  def mechanism(block, got):
      def always(name):               # in both fetches under that name
          return all(block in page.text for page in got.get(name))
      def never(name):
          return not any(block in page.text for page in got.get(name))
      crawlers = [n for n in NAMES if n != BROWSER]
      if always(BROWSER):
          return "SENT_TO_BROWSERS"   # hidden by rendering only
      if never(BROWSER) and any(always(n) for n in crawlers):
          return "VARIES_WITH_CLAIMED_NAME"   # not proof of routing
      return "UNSTABLE"               # refetch, or report as unstable

judge

is the two-reader step from section 7, with the site's name hidden. json_strings walks every string in every JSON payload on the page, so a node type like HelpContentGalaxyLLMInclude is found by its content, not by guessing its name.

How not to:

The engineer's question was which pipeline reads the text. The executive's was whether anyone can show what the bot was told, and who approved it. Both are answered by the same artifact: a register of every instruction your assistants receive, with where it lives, who wrote it, who reviewed it, and which pipelines carry it. Text hidden in a help article can't be in that register, because nobody knows to put it there.

The thresholds are on paper. The crawl hasn't happened yet.

ClaimFootnote(s)Source typeStatus
102 hidden blocks on 80 of 545 linked WhatsApp help pages.[1]PrimaryEstablished (as reported)
No comparable notes on 300 Facebook and Instagram help pages.[1]PrimaryEstablished (as reported)
Notes present 15 Oct 21:40 UTC, all gone by 18 Oct 02:08 UTC.[1]PrimaryEstablished
WhatsApp: the notes were chatbot instructions, exposed by a bug now fixed.[2]PrimaryEstablished (as stated by WhatsApp)
The notes are HelpContentGalaxyLLMInclude nodes in the page's JSON content tree.[3][5]Measured hereEstablished
HelpContentGalaxyLLMExclude is also among the page's components, before and after removal.[3][5]Measured hereEstablished
Search crawler names got the notes; AI crawler names got neither notes nor article.[1]PrimaryEstablished (spoofed- name test)
Five of six tools returned neither notes nor article from the raw page; Turndown returned both.—Measured hereEstablished
Captures of different URL variants disagree on whether the notes are present.[5]Measured hereEstablished
A claimed user agent can't verify a crawler; Google verifies by DNS, OpenAI and Anthropic publish IPs.[6][7][8]PrimaryEstablished
33 of 113 help URLs differed by user agent after slow re-fetching.[3]SecondaryEstablished (as reported)
Khodayari: 15.3K validated injections in 1.2B URLs; about 70% in non-rendered HTML.[9]PrimaryEstablished
OWASP #855 rerun: zero Tier A/B matches on 2,924 distinct reachable sites.[13]PrimaryEstablished
Zero of 200 bounds the rate below 1.49%; showing more than 10% needs 28.[16]CalculationEstablished
The capability was built on purpose; whether publishing the notes was intended.[2][3]—Open (unresolved)
Whether WhatsApp's chatbot or any outside assistant acted on the notes.[1]—Open (unresolved)
At least 2% of reachable help centres carry such text (H1).—InferenceHypothesis
Most positives are sent to browsers, not only to claimed crawlers (H2).[4][5]InferenceHypothesis
Article extractors drop such text in most positives (H3).—InferenceHypothesis

References

  1. 01D. Saltman. "WhatsApp's Hidden Notes Told AI Not to Recommend a Regulator." Redact blog, 19 Oct 2026 (updated 18 and 19 Oct). https://redact.dev/blog/whatsapp-help-pages-hidden-ai-instructions (accessed 2026-10-31).
  2. 02M. Burgess. "WhatsApp Help Pages Leaked Hidden Instructions for a Meta Chatbot." WIRED, 19 Oct 2026. https://www.wired.com/story/whatsapp-help-pages-leaked-hidden-instructions-for-a-meta-chatbot/ (accessed 2026-10-31).
  3. 03ReptileHaus. "We Read 11,962 Links Written for AI. One Names a Regulator." ReptileHaus journal, 20 Oct 2026. https://reptile.haus/journal/ai-help-pages-llms-txt-regulator-audit-2026/ (accessed 2026-10-31).
  4. 04L. Díaz. "What's hidden in your help center: auditing your knowledge base for hidden prompt instructions." Aissist, 21 Oct 2026. https://aissist.io/insights/hidden-prompt-instructions-knowledge-base (accessed 2026-10-31).
  5. 05Internet Archive. Raw captures (id_) of faq.whatsapp.com/2138577903196467: 20260904080630 (locale=en_US), 20260907091230, 20261015140709 (locale=en_US), 20261016141128, 20261018023707, 20261020074406. https://web.archive.org/web/20261016141128id_/https://faq.whatsapp.com/2138577903196467/?cms_platform=android (accessed 2026-10-31).
  6. 06OpenAI. "Overview of OpenAI Crawlers." OpenAI developer docs. https://developers.openai.com/api/docs/bots (accessed 2026-10-31).
  7. 07Anthropic. "Does Anthropic crawl data from the web, and how can site owners block the crawler?" Claude Help Center. https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler (accessed 2026-10-31).
  8. 08Google. "Verify Requests from Google Crawlers and Fetchers." Google Search Central. https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot (accessed 2026-10-31).
  9. 09S. Khodayari, X. Zhang, B. Acharya, G. Pellegrino. "Indirect Prompt Injection in the Wild: An Empirical Study of Prevalence, Techniques, and Objectives." arXiv:2604.27202, 29 Apr 2026. https://arxiv.org/abs/ 2604.27202 (accessed 2026-10-31).
  10. 10K. Greshake, S. Abdelnabi, S. Mishra, C. Endres, T. Holz, M. Fritz. "Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection." arXiv:2302.12173, 23 Feb 2023. https://arxiv.org/abs/2302.12173 (accessed 2026-10-31).
  11. 11L. Invernizzi, K. Thomas, A. Kapravelos, O. Comanescu, J.-M. Picod, E. Bursztein. "Cloak of Visibility: Detecting When Machines Browse a Different Web." IEEE Symposium on Security and Privacy, 2016. https://elie.net/publication/cloak-of-visibility-detecting-when-machines-browse-a-different-web (accessed 2026-10-31).
  12. 12Y. Chen, K. Zhang, Y. Du, T. Li, et al. "BrowseSafe++: Benchmarking Prompt Injection Detection Across Web Contexts, Languages, and Browser Views." arXiv:2610.17457, 12 Oct 2026. https://arxiv.org/abs/ 2610.17457 (accessed 2026-10-31).
  13. 13A. Singh and commenters. "Prevalence data for LLM01 prompt injection, a measurement of hidden agent directed text across 4,991 websites." OWASP LLM Top 10, GitHub issue #855, opened 14 Jul 2026, rerun reported 13 Sep 2026. https://github.com/OWASP/www-project-top-10-for-large-language-model-applications/issues/855 (accessed 2026-10-31).
  14. 14M. Koster, G. Illyes, H. Zeller, L. Sassman. "Robots Exclusion Protocol." RFC 9309, IETF, Sep 2022. https://www.rfc-editor.org/rfc/rfc9309 (accessed 2026-10-31).
  15. 15European Parliament and Council. Regulation (EU) 2016/679 (GDPR), Articles 17 and 77. https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A32016R0679 (accessed 2026-10-31).
  16. 16C. J. Clopper, E. S. Pearson. "The Use of Confidence or Fiducial Limits Illustrated in the Case of the Binomial." Biometrika 26(4):404–413, 1934. https://doi.org/10.1093/biomet/26.4.404 (accessed 2026-10-31).