{
 "row": "have-i-been-trained",
 "entity": "have-i-been-trained",
 "address": "Have I Been Trained",
 "addresses": [
  {
   "address": "Have I Been Trained",
   "slug": "have-i-been-trained-aio-20261101",
   "addr_id": "ADDR-4396c898c58e",
   "obs_id": "OBS-6b7b0d5e4e44",
   "axn": "AXN:0BB4.CAPTURE.●🍂🌪️🕕🃏🌳"
  }
 ],
 "epoch": "2026-11-01",
 "type": "C (public entity on which the archive bears: a training-data search service with an opt-out registry; an entity of the traininglayerliterature.org layer census, host_relation 'infrastructure')",
 "surface": "Google AI Overview (expanded)",
 "auth": "signed out, incognito",
 "status": {
  "procedure": "EA-NEGONT-02 v0.10 (#1726): equal case, ρ = extends, read from the traininglayerliterature.org layer census record, the capture record and the deposits that bear on the entity's classes (#186 and #1543, the census anchors; #1075, #127, #914, #835, #1223, #717, #599, #49, #45, #206, #1, #787, #102, #928, #1722); archive selected by D/R/O (D and R empty; 237 O-class candidates read, 17 deposits admitted by reading with 8 instances kept; hop of 28 read, 1 instance admitted), with the census record (34 claims) and the Capture Registry's findings, reading, analysis, title, PER note, query note and PER-dim basis (14 claims) ledgered as the archive's records of the entity; the field in two pools (B_D: 4 cards, 2 unreachable; B_R: 3 own pages and the record of Wikipedia's absence); the composer read the ledgers, never the transcript, except where the brief asks for T's claims and the delta",
  "ledger": "unaudited (§3.8: one extractor per ledger); field quotes 45/45 verified by script against saved text, raw HTML or card text; archive quotes 75/75 verified against the registry, census.json and the deposit texts",
  "frozen": false,
  "breaches": []
 },
 "spec": "EA-NEGONT-02 v0.10 (#1726)",
 "objects": {
  "T": {
   "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/T1-have-i-been-trained-aio-20261101.txt",
   "sha256": "09aac3bea51590c3f0e18151cddd8f5b95f3ce38c249bcea6e53ba2da6c849b1",
   "words": 154,
   "cards": 4,
   "words_note": "one transcript at one address (154 words in the answer body, links reduced to their text, markers, the paste note and the card rail excluded; a closing offer of 28 words more; 10 markers; 4 cards)",
   "claims": [
    "T1-1 lede: 'You can check if your visual artwork or photos were included in popular AI image-generation datasets by visiting Have I Been Trained?.' (two markers)",
    "T1-2 dataset searched: 'It queries the LAION-5B dataset, a massive collection of roughly 5.8 billion image-text pairs used to train open-source image models like Stable Diffusion.' (two markers)",
    "T1-3 how to check: 'You can search the database by typing in your name or keywords, or by uploading an image to look for visual matches.' (two markers)",
    "T1-4 limitations: 'It only covers the LAION-5B image dataset. It does not search text-based training data used by large language models like ChatGPT, Claude, or Gemini.' (one marker)",
    "T1-5 Do Not Train Registry: 'Spawning AI allows you to submit your work or domain to their Do Not Train Registry to block future inclusion.' (two markers)",
    "T1-6 text content: 'For written text or websites, you can use a robots.txt file to block known AI scrapers (such as GPTBot or Google-Extended).' (one marker)",
    "T1-7 closing offer: 'Would you like help setting up a robots.txt file for a website, or do you want to know more about opting your artwork out of AI training?' (no marker)"
   ],
   "register": {
    "register": "data/EA-WG-CAPTURES-01.json",
    "slug": "have-i-been-trained-aio-20261101",
    "obs_id": "OBS-6b7b0d5e4e44"
   },
   "transcripts": [
    {
     "slug": "have-i-been-trained-aio-20261101",
     "address": "Have I Been Trained",
     "addr_id": "ADDR-4396c898c58e",
     "obs_id": "OBS-6b7b0d5e4e44",
     "axn": "AXN:0BB4.CAPTURE.●🍂🌪️🕕🃏🌳",
     "date": "2026-11-01",
     "surface": "Google AI Overview (expanded)",
     "auth": "signed out, incognito",
     "sha256": "09aac3bea51590c3f0e18151cddd8f5b95f3ce38c249bcea6e53ba2da6c849b1",
     "sha256_of": "the registry's 'transcript' string (utf-8)",
     "sha256_raw": "006d43df336e8854e8aee391144f4b535dc664194a3b77b3fb6e369d9eae476c",
     "words": 154,
     "cards": 4,
     "card_rail": [
      "1. Mentionable AI — Have I Been Trained? Free Tool to Check AI Training Data (2026)",
      "2. Facebook — What happened to have i been trained website? - Facebook",
      "3. YouTube·AI Samson — 99% of People Don't Know If They Are In The AI Art Database",
      "4. www.toolcenter.ai — Have I Been Trained? Review 2026"
     ],
     "claims": [
      "T1-1 lede: 'You can check if your visual artwork or photos were included in popular AI image-generation datasets by visiting Have I Been Trained?.' (two markers)",
      "T1-2 dataset searched: 'It queries the LAION-5B dataset, a massive collection of roughly 5.8 billion image-text pairs used to train open-source image models like Stable Diffusion.' (two markers)",
      "T1-3 how to check: 'You can search the database by typing in your name or keywords, or by uploading an image to look for visual matches.' (two markers)",
      "T1-4 limitations: 'It only covers the LAION-5B image dataset. It does not search text-based training data used by large language models like ChatGPT, Claude, or Gemini.' (one marker)",
      "T1-5 Do Not Train Registry: 'Spawning AI allows you to submit your work or domain to their Do Not Train Registry to block future inclusion.' (two markers)",
      "T1-6 text content: 'For written text or websites, you can use a robots.txt file to block known AI scrapers (such as GPTBot or Google-Extended).' (one marker)",
      "T1-7 closing offer: 'Would you like help setting up a robots.txt file for a website, or do you want to know more about opting your artwork out of AI training?' (no marker)"
     ],
     "markers": 10,
     "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/T1-have-i-been-trained-aio-20261101.txt",
     "note": "The paste is the Overview expanded (the 'AI Mode Conversation' view), surface and auth by the operator's defaults of 2026-10-01 and 2026-10-14 as the registry records them (surface_basis, auth_basis); run with the census names on 2026-11-01, the paste received 09:56 EDT"
    }
   ]
  },
  "KO": {
   "title": "Have I Been Trained?",
   "genre": "knowledge object, equal case, under EA-NEGONT-02 v0.10 (#1726): the final article form (§4.13), natural sentences under descriptive subheadings (§4.12), each sentence's sources beneath it by claim id (§4.5)",
   "status": "composed 2026-11-01 under v0.10 on the operator's ruling of 2026-10-29, confirmed 2026-11-01 ('as against their wikipedia articles if they exist, their own pages, etc.'); not frozen",
   "sentences": [
    {
     "n": 1,
     "para": 0,
     "sense": "what it is",
     "text": "Have I Been Trained? (haveibeentrained.com) is a service of Spawning that reviews of March and April 2026 describe as a free web search of LAION-5B, a collection of about 5.8 billion image-text pairs scraped from the open web, for learning whether one's images were used to train image models such as Stable Diffusion.",
     "claims": [
      "F1",
      "F16",
      "F20",
      "TLL-01",
      "TLL-02",
      "TLL-03"
     ]
    },
    {
     "n": 2,
     "para": 0,
     "sense": "what it is",
     "text": "LAION-5B was the primary training dataset of Stable Diffusion 1.x and 2.x, and the service is a search and detection tool for that one dataset.",
     "claims": [
      "F17",
      "F39"
     ]
    },
    {
     "n": 3,
     "para": 0,
     "sense": "what it is",
     "text": "On 1 November 2026 its home page served a static maintenance notice under the Spawning wordmark in place of the search, and the site states that it is under maintenance.",
     "claims": [
      "F40",
      "TLL-16",
      "TLL-24"
     ]
    },
    {
     "n": 4,
     "para": 1,
     "sense": "who makes it: Spawning",
     "text": "Spawning was founded by the artists Mat Dryhurst and Holly Herndon with collaborators, with the stated goal of giving creators more control over how their work is used in AI training; one review gives its thesis as that creators should know when their work is used and be able to say no.",
     "claims": [
      "F18",
      "F5"
     ]
    },
    {
     "n": 5,
     "para": 1,
     "sense": "who makes it: Spawning",
     "text": "The service answered the question artists faced when generative image models spread in 2022, whether their images had been used without permission, and its reviewers record that it changed over the following years; the maintenance page carries the description \"Data Governance for Generative AI\" in its markup, outside the text the census checked.",
     "claims": [
      "F19",
      "F42",
      "TLL-31"
     ]
    },
    {
     "n": 6,
     "para": 2,
     "sense": "how a search works",
     "text": "A search takes text, such as a name or a description of a style, or an uploaded image, and returns matching or similar images from the dataset; it runs on OpenAI's CLIP model, which turns the query into an embedding and finds its nearest neighbours in LAION-5B, without pixel matching.",
     "claims": [
      "F4",
      "F21"
     ]
    },
    {
     "n": 7,
     "para": 2,
     "sense": "how a search works",
     "text": "Each result shows a thumbnail with a similarity score, the caption the image carries in the dataset and the URL from which it was scraped.",
     "claims": [
      "F23"
     ]
    },
    {
     "n": 8,
     "para": 2,
     "sense": "how a search works",
     "text": "A high score is no proof of a copy: an exact image found in LAION-5B proves that it was in the training data, and a similar image proves much less.",
     "claims": [
      "F22"
     ]
    },
    {
     "n": 9,
     "para": 2,
     "sense": "how a search works",
     "text": "In one reviewer's test, 14 of 20 images from an illustrator's portfolio were found; the company states that uploaded images are not stored permanently and serve only the query.",
     "claims": [
      "F25",
      "F34"
     ]
    },
    {
     "n": 10,
     "para": 2,
     "sense": "names and captions",
     "text": "Many images in the dataset carry poor or inaccurate captions, so a text search may miss an image that is present when the site it came from did not put the maker's name beside it; the census records nothing of whether a work keeps its maker's name there.",
     "claims": [
      "F28",
      "TLL-12"
     ]
    },
    {
     "n": 11,
     "para": 3,
     "sense": "what it cannot see",
     "text": "The search covers LAION-5B alone: none of the text-based training data of the language models behind ChatGPT, Claude or Gemini, and none of the proprietary image data of Midjourney or OpenAI, which no public tool can search.",
     "claims": [
      "F10",
      "F9",
      "F26"
     ]
    },
    {
     "n": 12,
     "para": 3,
     "sense": "what it cannot see",
     "text": "LAION-5B is itself a snapshot, compiled mainly from Common Crawl in 2021 and 2022, and the search finds only original images, never a derivative made in a maker's style; not finding a work shows only that it is not in LAION-5B.",
     "claims": [
      "F27",
      "F29",
      "F37"
     ]
    },
    {
     "n": 13,
     "para": 3,
     "sense": "what it cannot see",
     "text": "Its reviewers hold that it gives artists evidence they previously lacked without solving the underlying problem.",
     "claims": [
      "F36"
     ]
    },
    {
     "n": 14,
     "para": 3,
     "sense": "what it cannot see",
     "text": "The archive names what such a search cannot reach training inscription: a work can cease to exist in a model as an inspectable copy and persist as a constraint on what the model does, the difference between a model trained with the work and one trained without it, so that persistence is not replication.",
     "claims": [
      "O1075-01"
     ]
    },
    {
     "n": 15,
     "para": 3,
     "sense": "what it cannot see",
     "text": "Its protocol for measuring that difference presupposes no use in training and makes disclosure the first demand, noting that membership inference against production models is achievable in practice with uneven accuracy; another archive protocol records that a membership inference attack can detect after training whether a planted trap sentence was in the training set.",
     "claims": [
      "O1075-02",
      "O1075-03",
      "O127-03"
     ]
    },
    {
     "n": 16,
     "para": 3,
     "sense": "what it cannot see",
     "text": "The archive holds that claims of machine reception, long a matter of faith, became partly measurable around 2025 through observation of retrieval and rendering, and that the verification is partial.",
     "claims": [
      "O186-03"
     ]
    },
    {
     "n": 17,
     "para": 4,
     "sense": "the registry",
     "text": "Beside the search, Spawning keeps a Do Not Train registry in which creators register work, or a whole domain, and declare it off-limits for AI training, a global opt-out list said in 2026 to hold over 80 million entries; the search also let a user flag single images for removal from the dataset.",
     "claims": [
      "F7",
      "F2",
      "F24",
      "F30"
     ]
    },
    {
     "n": 18,
     "para": 4,
     "sense": "the registry",
     "text": "Its reviewers call the registry a consent signal without an enforcement mechanism, which works only where model trainers choose to respect it: Stability AI in part, Hugging Face as a host and some academic researchers honour it, DeviantArt built Spawning's technology into its platform, and Midjourney, OpenAI and most open-source trainers have made no commitment.",
     "claims": [
      "F33",
      "F31",
      "F32",
      "F8"
     ]
    },
    {
     "n": 19,
     "para": 4,
     "sense": "the registry",
     "text": "The service's own page addresses the registry to the receiving side, asking \"AI trainers looking to respect the Do-Not-Train registry\" to make contact, and the census reads it as consent infrastructure on the training side of the layer: a registry, separate from the service, that bears on what may enter the apparatus and says nothing of whose works are in it.",
     "claims": [
      "F41",
      "TLL-19",
      "TLL-10",
      "TLL-15",
      "TLL-17",
      "TLL-27",
      "TLL-06",
      "TLL-11"
     ]
    },
    {
     "n": 20,
     "para": 4,
     "sense": "the registry",
     "text": "What the registry holds, how a work enters it, how trainers apply it and whether any trainer respects it are unrecorded in the census, whose saved page states no trainer's commitment.",
     "claims": [
      "TLL-18",
      "TLL-25"
     ]
    },
    {
     "n": 21,
     "para": 4,
     "sense": "crawler directives",
     "text": "Spawning also offers ai.txt, a robots.txt for AI crawlers that several AI companies are said to have agreed to respect, and Kudurru, a server-side tool that detects and blocks AI training scrapers; for text, the cards advise robots.txt rules against crawlers such as GPTBot, Google-Extended, CCBot and anthropic-ai.",
     "claims": [
      "F6",
      "F35",
      "F11"
     ]
    },
    {
     "n": 22,
     "para": 5,
     "sense": "opt-out in the archive",
     "text": "The archive reads such signals as records of intent: a non-coercive notice, like robots.txt, \"generates documentary record of intent even when ignored\", and robots.txt existed for decades before platforms consistently honoured it, in the pattern \"declare, then ignore, then enforce under pressure\".",
     "claims": [
      "O914-01",
      "O835-01"
     ]
    },
    {
     "n": 23,
     "para": 5,
     "sense": "opt-out in the archive",
     "text": "In its rights charter an opt-out from indexing that a laborer authorizes is itself a provenance act, the chain kept under controlled access, and a failure to honour opt-out metadata is an opacity claim open to adjudication.",
     "claims": [
      "O1223-01",
      "O717-01"
     ]
    },
    {
     "n": 24,
     "para": 5,
     "sense": "opt-out in the archive",
     "text": "It names the cost of opting out: ingestion without consent is semantic conscription when opting out \"requires removing all web presence, which defeats the purpose of being found by the stranger\", and the opt-out strategy of adversarial resistance leaves the retrieval layer to content that did not opt out, so that \"The commons is abandoned to the extractors\" and vacancies open where publishers leave.",
     "claims": [
      "O599-01",
      "O49-01",
      "O45-01"
     ]
    },
    {
     "n": 25,
     "para": 5,
     "sense": "opt-out in the archive",
     "text": "Its training-layer provenance protocol calls the defensive posture of robots.txt, takedown notices and the ai.txt proposals the wrong one, since robots.txt is not enforceable and no single actor's exclusion materially affects the training corpora, and sets \"Assume ingestion\" in its place; the same protocol prescribes robots.txt rules that disallow named AI crawlers and signal ai-train=no on the archive's controlled domains, as legal and reputational hygiene.",
     "claims": [
      "O127-01",
      "O127-02",
      "O127-04"
     ]
    },
    {
     "n": 26,
     "para": 6,
     "sense": "declared inclusion",
     "text": "The archive's own posture runs opposite to a do-not-train entry: from January 2026 its deposits carry the colophon \"intended for inclusion in AI training corpora\", given as explicit permission, and its robots.txt welcomes AI crawlers to its data directories.",
     "claims": [
      "O206-01",
      "O1-01",
      "O186-02"
     ]
    },
    {
     "n": 27,
     "para": 6,
     "sense": "declared inclusion",
     "text": "It conditions that inclusion on attribution, requiring attribution to be preserved in any reuse including AI training and declaring a text-and-data-mining opt-out under Article 4 of the DSM Directive, and it keeps its interlocutors' correspondence out of any training corpus regardless of their consent.",
     "claims": [
      "O127-05",
      "O787-01"
     ]
    },
    {
     "n": 28,
     "para": 6,
     "sense": "declared inclusion",
     "text": "In its account training-layer literature declares that intent in its colophon, non-coercively and as an addition to the commons, while the other practices of its field are in the corpora as a matter of fact and are read by machines incidentally; one AI Overview restated the declaration as work \"explicitly optimized to be ingested by web scrapers and AI training pipelines\".",
     "claims": [
      "O49-02",
      "O186-01",
      "O1722-01"
     ]
    },
    {
     "n": 29,
     "para": 6,
     "sense": "what inclusion does",
     "text": "Inclusion matters in its account because a text included in a training set is reproduced, cited and amplified as excluded texts cannot be, the training run making texts canonical by selecting them; it describes the institutional training loop from a work through a model and its output to the next corpus, predicts that future models trained on the indexed web will include its corpus, and measures what composition layers retrieve, adopt, erase and misattribute.",
     "claims": [
      "O102-01",
      "O1543-02",
      "O928-01",
      "O1543-01"
     ]
    },
    {
     "n": 30,
     "para": 7,
     "sense": "its state on 1 November 2026",
     "text": "The /faq address served the same maintenance notice, as did Spawning's own site, whose page is titled Source.Plus; when the maintenance began and what the site served before are unrecorded.",
     "claims": [
      "F43",
      "F44",
      "TLL-23",
      "TLL-29"
     ]
    },
    {
     "n": 31,
     "para": 7,
     "sense": "its state on 1 November 2026",
     "text": "The census therefore enters the service as paused, with no data access that day beyond an email contact for trainers, its search, index, opt-out procedure and FAQ unread, its kind unrecorded in its saved sources and its name taken from the domain; its present state is read-needed, so neither the discovery function its name promises nor the working of the registry is on record.",
     "claims": [
      "TLL-22",
      "TLL-21",
      "TLL-28",
      "TLL-13",
      "TLL-04",
      "TLL-30",
      "TLL-20"
     ]
    },
    {
     "n": 32,
     "para": 7,
     "sense": "its state on 1 November 2026",
     "text": "The reviews on its cards are dated 26 March 2026 and 3 April 2026, the latter updated on 24 September, their features verified at publication, and a Facebook card asks \"What happened to have i been trained website?\"; Wikipedia holds no article on the service.",
     "claims": [
      "F38",
      "F12",
      "F13",
      "F45"
     ]
    },
    {
     "n": 33,
     "para": 8,
     "sense": "what the census asks of it",
     "text": "The traininglayerliterature.org layer census enters Have I Been Trained? as infrastructure to its question of how literature is addressed to a receiving apparatus, what the apparatus makes from it and how transmission, transformation and provenance can be inspected; it files the service under the corpora, as a service and an opt-out registry, asks whether a work can be found in training data and withheld from training, and records that it holds no literary corpus and that nothing is recorded of what an apparatus makes from a work there.",
     "claims": [
      "TLL-32",
      "TLL-07",
      "TLL-05",
      "TLL-34",
      "TLL-08",
      "TLL-09",
      "TLL-26",
      "TLL-14",
      "TLL-33"
     ]
    },
    {
     "n": 34,
     "para": 9,
     "sense": "the cards",
     "text": "The cards that carry the service at its name are a vendor's post, a directory's review, a social post and a video: Mentionable, which sells tracking of what AI platforms say about a brand, sets training-data presence apart from that visibility; the Facebook card opens on \"Any AI system is only as good as the data it is given\"; and a five-minute video is titled \"99% of People Don't Know If They Are In The AI Art Database\".",
     "claims": [
      "F3",
      "F12",
      "F14",
      "F15"
     ]
    },
    {
     "n": 35,
     "para": 10,
     "sense": "reception at the name",
     "text": "Asked for \"Have I Been Trained\" on 1 November 2026, Google's AI Overview told the user what the tool searches, how to search it, what it leaves out and how to opt out, from four third-party cards, none from the service's own address.",
     "claims": [
      "CAP-1-09",
      "CAP-1-12",
      "CAP-1-13",
      "CAP-1-14"
     ]
    },
    {
     "n": 36,
     "para": 10,
     "sense": "reception at the name",
     "text": "The Capture Registry found that it gave the service as a working search where the census's saved pages showed the maintenance notice, which the composition did not mention, while its second card asked what had happened to the site and its first and fourth dated themselves 2026; and that it supplied what the service searches, LAION-5B and its 5.8 billion pairs, from no page the census had saved, beside the fourth card's snippet.",
     "claims": [
      "CAP-1-01",
      "CAP-1-02",
      "CAP-1-03",
      "CAP-1-04"
     ]
    },
    {
     "n": 37,
     "para": 10,
     "sense": "reception at the name",
     "text": "The registry also found the registry's addressee turned, from the trainers the page addresses to the maker of a work, with the registry said to block, and text left outside the tool's reach by the composition's own limitation, a written work answered with a crawler directive.",
     "claims": [
      "CAP-1-05",
      "CAP-1-06",
      "CAP-1-07",
      "CAP-1-08",
      "CAP-1-10",
      "CAP-1-11"
     ]
    }
   ],
   "joins": [
    {
     "act": "order of senses",
     "sentences": "1–37",
     "claims": [],
     "note": "equal case (§4.7): the entity's dependency order, field and archive claims ordered together by genealogy within each sense, neither ledger placed first as a block. What it is (¶0) precedes who makes it (¶1) and how a search works (¶2), since the search is the unit the limits qualify; what it cannot see (¶3) carries the archive's training inscription and membership inference beside the field's limits on the same object; the registry (¶4) precedes the archive's reading of opt-out signals (¶5) and its own posture of declared inclusion (¶6), which answer the registry's question from the other side; the state on 1 November (¶7) and the census (¶8) follow the functions they find unread; the cards (¶9) and the composition at the name (¶10) stand last as relations of the entity already composed."
    },
    {
     "act": "holding together (the search's limit and training inscription)",
     "sentences": [
      12,
      14,
      15
     ],
     "claims": [
      "F37",
      "F29",
      "O1075-01",
      "O1075-02",
      "O1075-03",
      "O127-03"
     ],
     "note": "the field's 'not finding a work shows only that it is not in LAION-5B' and 'no detection of derivative use' placed beside #1075's training inscription (persistence without a copy) and the membership-inference claims of #1075 and #127; the join is the composer's and adds no claim that the service measures inscription."
    },
    {
     "act": "holding together (the registry's two addressees)",
     "sentences": [
      17,
      18,
      19
     ],
     "claims": [
      "F7",
      "F24",
      "F33",
      "F41",
      "TLL-19"
     ],
     "note": "the cards address the registry to creators who register work (F7, F24) and call it a signal to trainers (F24, F33); the own page addresses trainers (F41); the census reads it as addressed to the receiving party (TLL-19). Both addressees composed, each with its source (P_coh)."
    },
    {
     "act": "holding together (the archive's two postures toward crawlers)",
     "sentences": [
      25,
      26,
      27
     ],
     "claims": [
      "O127-04",
      "O1-01",
      "O206-01",
      "O127-05"
     ],
     "note": "#127's Layer 7 prescribes disallowing named AI crawlers with ai-train=no on controlled domains, and declares a TDM opt-out with attribution required in any reuse including AI training; #1's robots.txt welcomes AI crawlers to the data directories and the colophon declares inclusion. Both composed as the archive states them, with #127's own frame ('Assume ingestion'; Layer 7 as 'legal and reputational hygiene'); the composer does not rule between them."
    },
    {
     "act": "placing in the open block",
     "sentences": "open",
     "claims": [
      "TLL-20",
      "F13",
      "F38",
      "CAP-1-02",
      "TLL-18",
      "F31",
      "F32",
      "F33",
      "F37",
      "O1075-01",
      "F41",
      "F7",
      "CAP-1-05",
      "CAP-1-04",
      "F16"
     ],
     "note": "five questions placed in the open block: whether the service still works and since when it has been paused; whether any trainer honours the registry; whether a work absent from LAION-5B is unused; to whom the registry is addressed; where the composition took LAION-5B from."
    }
   ],
   "plan": {
    "order": [
     "F1",
     "F16",
     "F20",
     "TLL-01",
     "TLL-02",
     "TLL-03",
     "F17",
     "F39",
     "F40",
     "TLL-16",
     "TLL-24",
     "F18",
     "F5",
     "F19",
     "F42",
     "TLL-31",
     "F4",
     "F21",
     "F23",
     "F22",
     "F25",
     "F34",
     "F28",
     "TLL-12",
     "F10",
     "F9",
     "F26",
     "F27",
     "F29",
     "F37",
     "F36",
     "O1075-01",
     "O1075-02",
     "O1075-03",
     "O127-03",
     "O186-03",
     "F7",
     "F2",
     "F24",
     "F30",
     "F33",
     "F31",
     "F32",
     "F8",
     "F41",
     "TLL-19",
     "TLL-10",
     "TLL-15",
     "TLL-17",
     "TLL-27",
     "TLL-06",
     "TLL-11",
     "TLL-18",
     "TLL-25",
     "F6",
     "F35",
     "F11",
     "O914-01",
     "O835-01",
     "O1223-01",
     "O717-01",
     "O599-01",
     "O49-01",
     "O45-01",
     "O127-01",
     "O127-02",
     "O127-04",
     "O206-01",
     "O1-01",
     "O186-02",
     "O127-05",
     "O787-01",
     "O49-02",
     "O186-01",
     "O1722-01",
     "O102-01",
     "O1543-02",
     "O928-01",
     "O1543-01",
     "F43",
     "F44",
     "TLL-23",
     "TLL-29",
     "TLL-22",
     "TLL-21",
     "TLL-28",
     "TLL-13",
     "TLL-04",
     "TLL-30",
     "TLL-20",
     "F38",
     "F12",
     "F13",
     "F45",
     "TLL-32",
     "TLL-07",
     "TLL-05",
     "TLL-34",
     "TLL-08",
     "TLL-09",
     "TLL-26",
     "TLL-14",
     "TLL-33",
     "F3",
     "F14",
     "F15",
     "CAP-1-09",
     "CAP-1-12",
     "CAP-1-13",
     "CAP-1-14",
     "CAP-1-01",
     "CAP-1-02",
     "CAP-1-03",
     "CAP-1-04",
     "CAP-1-05",
     "CAP-1-06",
     "CAP-1-07",
     "CAP-1-08",
     "CAP-1-10",
     "CAP-1-11"
    ],
    "senses": {
     "what it is": [
      1,
      2,
      3
     ],
     "who makes it: Spawning": [
      4,
      5
     ],
     "how a search works": [
      6,
      7,
      8,
      9
     ],
     "names and captions": [
      10
     ],
     "what it cannot see": [
      11,
      12,
      13,
      14,
      15,
      16
     ],
     "the registry": [
      17,
      18,
      19,
      20
     ],
     "crawler directives": [
      21
     ],
     "opt-out in the archive": [
      22,
      23,
      24,
      25
     ],
     "declared inclusion": [
      26,
      27,
      28
     ],
     "what inclusion does": [
      29
     ],
     "its state on 1 November 2026": [
      30,
      31,
      32
     ],
     "what the census asks of it": [
      33
     ],
     "the cards": [
      34
     ],
     "reception at the name": [
      35,
      36,
      37
     ]
    },
    "marks": [
     {
      "claim": "F7",
      "mark": "contested",
      "with": [
       "F41",
       "TLL-19"
      ],
      "note": "the registry's addressee: creators (cards) against trainers (own page, census); both composed"
     },
     {
      "claim": "O127-04",
      "mark": "contested",
      "with": [
       "O1-01"
      ],
      "note": "within the archive: #127 disallows named AI crawlers on controlled domains, #1's robots.txt welcomes them to the data directories; both composed, unadjudicated"
     }
    ],
    "conflicts": [],
    "cuts": [],
    "carried": 120
   }
  },
  "P": {
   "title": "Have I Been Trained?",
   "genre": "the compression: AIO's interaction grammar (lede, headed clusters, bolded labels, card rail), composed from the knowledge object; equal case",
   "status": "composed 2026-11-01 from the v0.10 knowledge object; not frozen",
   "lede": {
    "text": "is a service of Spawning described in 2026 as a free search of the LAION-5B image dataset for whether images trained models such as Stable Diffusion, beside a Do Not Train registry; on 1 November 2026 its pages served a maintenance notice.",
    "claims": [
     "F1",
     "F16",
     "F17",
     "F20",
     "F39",
     "F7",
     "F40",
     "TLL-01",
     "TLL-02",
     "TLL-03",
     "TLL-16",
     "TLL-24"
    ]
   },
   "sections": [
    {
     "icon": "🔎",
     "head": "The search",
     "items": [
      {
       "label": "Method:",
       "text": "text or an uploaded image, matched by CLIP similarity; results give caption and source URL.",
       "claims": [
        "F4",
        "F21",
        "F23",
        "F25",
        "F34"
       ]
      },
      {
       "label": "Evidence:",
       "text": "an exact match proves presence; a similar one much less.",
       "claims": [
        "F22",
        "F36"
       ]
      },
      {
       "label": "Names:",
       "text": "images captioned without the maker's name can be missed.",
       "claims": [
        "F28",
        "TLL-12"
       ]
      },
      {
       "label": "Maker:",
       "text": "Spawning, founded by Mat Dryhurst and Holly Herndon, after 2022.",
       "claims": [
        "F18",
        "F5",
        "F19",
        "F42",
        "TLL-31"
       ]
      }
     ]
    },
    {
     "icon": "🚫",
     "head": "What it cannot see",
     "items": [
      {
       "label": "One dataset:",
       "text": "no text training data, no proprietary image data, no derivatives; absence there proves nothing elsewhere.",
       "claims": [
        "F10",
        "F9",
        "F26",
        "F27",
        "F29",
        "F37"
       ]
      },
      {
       "label": "Training inscription:",
       "text": "a work can persist in a model without a copy (#1075); disclosure the first demand.",
       "claims": [
        "O1075-01",
        "O1075-02",
        "O1075-03",
        "O127-03",
        "O186-03"
       ]
      }
     ]
    },
    {
     "icon": "📋",
     "head": "The registry",
     "items": [
      {
       "label": "Opt-out:",
       "text": "work or domains declared off-limits; over 80 million entries (2026).",
       "claims": [
        "F7",
        "F2",
        "F24",
        "F30"
       ]
      },
      {
       "label": "Signal:",
       "text": "consent without enforcement; honoured by some trainers only.",
       "claims": [
        "F33",
        "F31",
        "F32",
        "F8",
        "TLL-18",
        "TLL-25"
       ]
      },
      {
       "label": "Addressee:",
       "text": "its page asks \"AI trainers looking to respect\" it to write; the census reads consent on the training side.",
       "claims": [
        "F41",
        "TLL-19",
        "TLL-10",
        "TLL-15",
        "TLL-17",
        "TLL-27",
        "TLL-06",
        "TLL-11"
       ]
      },
      {
       "label": "Crawlers:",
       "text": "ai.txt, Kudurru, robots.txt for text.",
       "claims": [
        "F6",
        "F35",
        "F11"
       ]
      }
     ]
    },
    {
     "icon": "⚖️",
     "head": "Opting out, opting in",
     "items": [
      {
       "label": "Record of intent:",
       "text": "robots.txt \"generates documentary record of intent even when ignored\".",
       "claims": [
        "O914-01",
        "O835-01",
        "O1223-01",
        "O717-01"
       ]
      },
      {
       "label": "Cost:",
       "text": "opting out abandons the commons; ingestion without consent is conscription.",
       "claims": [
        "O599-01",
        "O49-01",
        "O45-01"
       ]
      },
      {
       "label": "Assume ingestion:",
       "text": "blocking is the wrong posture; robots.txt rules kept as hygiene (#127).",
       "claims": [
        "O127-01",
        "O127-02",
        "O127-04"
       ]
      },
      {
       "label": "Declared inclusion:",
       "text": "the archive's deposits are \"intended for inclusion in AI training corpora\", attribution required.",
       "claims": [
        "O206-01",
        "O1-01",
        "O186-02",
        "O127-05",
        "O787-01",
        "O49-02",
        "O186-01",
        "O1722-01",
        "O102-01",
        "O1543-02",
        "O928-01",
        "O1543-01"
       ]
      }
     ]
    },
    {
     "icon": "🛠️",
     "head": "State, 1 November 2026",
     "items": [
      {
       "label": "Paused:",
       "text": "home, /faq and Spawning's site in maintenance; search unread.",
       "claims": [
        "F43",
        "F44",
        "TLL-23",
        "TLL-29",
        "TLL-22",
        "TLL-21",
        "TLL-28",
        "TLL-13",
        "TLL-04",
        "TLL-30",
        "TLL-20"
       ]
      },
      {
       "label": "Cards:",
       "text": "reviews of March and April 2026; \"What happened to have i been trained website?\"; no Wikipedia article.",
       "claims": [
        "F38",
        "F12",
        "F13",
        "F45",
        "F3",
        "F14",
        "F15"
       ]
      },
      {
       "label": "Census:",
       "text": "infrastructure on the training side; no literary corpus.",
       "claims": [
        "TLL-32",
        "TLL-07",
        "TLL-05",
        "TLL-34",
        "TLL-08",
        "TLL-09",
        "TLL-26",
        "TLL-14",
        "TLL-33"
       ]
      }
     ]
    },
    {
     "icon": "🔎",
     "head": "At the name",
     "items": [
      {
       "label": "Overview, 1 November 2026:",
       "text": "a working search, the maintenance unmentioned; the registry turned toward makers; text outside its reach (Capture Registry).",
       "claims": [
        "CAP-1-01",
        "CAP-1-02",
        "CAP-1-03",
        "CAP-1-04",
        "CAP-1-05",
        "CAP-1-06",
        "CAP-1-07",
        "CAP-1-08",
        "CAP-1-09",
        "CAP-1-10",
        "CAP-1-11",
        "CAP-1-12",
        "CAP-1-13",
        "CAP-1-14"
       ]
      }
     ]
    }
   ],
   "open": [
    {
     "question": "Does the service still work, and since when has it been paused?",
     "rests_on": [
      "F40",
      "F43",
      "F44",
      "F13",
      "F38",
      "TLL-20",
      "TLL-23",
      "CAP-1-02"
     ],
     "modality": "self-description (the own pages); documented (the cards); interpretation (the census, the Capture Registry)",
     "would_resolve": "a later fetch of haveibeentrained.com that returns the search, or a statement from Spawning dating the maintenance; a later capture at the address"
    },
    {
     "question": "Does any trainer honour the Do Not Train registry, and how is it applied?",
     "rests_on": [
      "F31",
      "F32",
      "F33",
      "F6",
      "F8",
      "TLL-18",
      "TLL-25",
      "O835-01",
      "O914-01"
     ],
     "modality": "documented and interpretation (one review, one vendor post), unsourced there; interpretation (the census; #835, #914)",
     "would_resolve": "trainers' own published statements of compliance with the registry, dated, and Spawning's account of how entries reach them"
    },
    {
     "question": "Is a work absent from LAION-5B absent from training?",
     "rests_on": [
      "F37",
      "F26",
      "F29",
      "O1075-01",
      "O1075-02",
      "O127-03"
     ],
     "modality": "documented (the review); stipulation and documented (#1075, #127)",
     "would_resolve": "disclosure of the training data of a named model, or a membership test of the work against that model under #1075's protocol"
    },
    {
     "question": "To whom is the registry addressed: the maker who enters a work, or the trainer who respects it?",
     "rests_on": [
      "F7",
      "F24",
      "F33",
      "F41",
      "TLL-19",
      "CAP-1-05",
      "CAP-1-06"
     ],
     "modality": "documented (the cards); self-description (the own page); interpretation (the census, the Capture Registry)",
     "would_resolve": "Spawning's own documentation of the registry, read when its site admits the fetch"
    },
    {
     "question": "Where did the composition take LAION-5B and 5.8 billion from?",
     "rests_on": [
      "CAP-1-04",
      "F16",
      "F1",
      "F17"
     ],
     "modality": "interpretation (the Capture Registry); documented (cards 1 and 4)",
     "would_resolve": "the field ledger already holds both on cards 1 and 4 (F1, F16) and card 4's snippet carries them; a later capture would show whether the composition keeps them once the cards change"
    }
   ],
   "rail": [
    {
     "lineage": "what it is: a search of LAION-5B",
     "claims": [
      "F1",
      "F16",
      "F17",
      "F20",
      "F39",
      "TLL-01",
      "TLL-30",
      "CAP-1-04"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "the registry: who it addresses, what it does",
     "claims": [
      "F2",
      "F7",
      "F24",
      "F30",
      "F33",
      "F41",
      "TLL-06",
      "TLL-10",
      "TLL-11",
      "TLL-15",
      "TLL-17",
      "TLL-19",
      "TLL-27",
      "CAP-1-05",
      "CAP-1-06"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "the cards and their genre",
     "claims": [
      "F3",
      "F12",
      "F14",
      "F15"
     ],
     "earliest": "B1"
    },
    {
     "lineage": "how a search works",
     "claims": [
      "F4",
      "F21",
      "F22",
      "F23",
      "F25",
      "F34"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "who makes it: Spawning",
     "claims": [
      "F5",
      "F18",
      "F19",
      "F42",
      "TLL-02",
      "TLL-03",
      "TLL-31"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "crawler directives: robots.txt, ai.txt",
     "claims": [
      "F6",
      "F11",
      "F35"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "who honours it",
     "claims": [
      "F8",
      "F31",
      "F32",
      "TLL-18",
      "TLL-25"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "what it cannot see: text and closed corpora",
     "claims": [
      "F9",
      "F10",
      "F26",
      "F27",
      "F29",
      "F36",
      "F37",
      "CAP-1-07",
      "CAP-1-08"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "its state on 1 November 2026",
     "claims": [
      "F13",
      "F38",
      "F40",
      "F43",
      "F44",
      "F45",
      "TLL-04",
      "TLL-13",
      "TLL-16",
      "TLL-20",
      "TLL-21",
      "TLL-22",
      "TLL-23",
      "TLL-24",
      "TLL-28",
      "TLL-29",
      "CAP-1-01",
      "CAP-1-02",
      "CAP-1-03"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "names and captions",
     "claims": [
      "F28",
      "TLL-12"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "what the census asks of it",
     "claims": [
      "TLL-05",
      "TLL-07",
      "TLL-08",
      "TLL-09",
      "TLL-14",
      "TLL-26",
      "TLL-32",
      "TLL-33",
      "TLL-34"
     ],
     "earliest": "TLL"
    },
    {
     "lineage": "reception at the name",
     "claims": [
      "CAP-1-09",
      "CAP-1-10",
      "CAP-1-11",
      "CAP-1-12",
      "CAP-1-13",
      "CAP-1-14"
     ],
     "earliest": "capture-registry"
    },
    {
     "lineage": "declared inclusion: the archive's consent",
     "claims": [
      "O206-01",
      "O49-02",
      "O127-05",
      "O186-01",
      "O186-02",
      "O1-01",
      "O787-01",
      "O1722-01"
     ],
     "earliest": 206
    },
    {
     "lineage": "opt-out as an act on record",
     "claims": [
      "O1223-01",
      "O717-01",
      "O835-01",
      "O914-01"
     ],
     "earliest": 1223
    },
    {
     "lineage": "opt-out as cost: conscription and resistance",
     "claims": [
      "O599-01",
      "O45-01",
      "O49-01"
     ],
     "earliest": 599
    },
    {
     "lineage": "what inclusion does: canon and the loop",
     "claims": [
      "O102-01",
      "O928-01",
      "O1543-01",
      "O1543-02"
     ],
     "earliest": 102
    },
    {
     "lineage": "assume ingestion",
     "claims": [
      "O127-01",
      "O127-02",
      "O127-04"
     ],
     "earliest": 127
    },
    {
     "lineage": "finding a work in a model",
     "claims": [
      "O127-03",
      "O186-03",
      "O1075-01",
      "O1075-02",
      "O1075-03"
     ],
     "earliest": 127
    }
   ],
   "body_words": 283,
   "entity": "Composed under v0.10, equal case (ρ = extends): the article first (§4.13), attribution beneath (§4.5); every field and archive claim carried."
  },
  "P_B": {
   "title": "Have I Been Trained?",
   "arm": "B (the field alone)",
   "genre": "popup — the compression from the field ledger alone (cards, own pages, the Wikipedia record)",
   "status": "composed 2026-11-01 from the field ledger alone; not frozen",
   "lede": {
    "text": "is Spawning's free search of the LAION-5B image dataset for images used in AI training, with a Do Not Train registry; in maintenance on 1 November 2026.",
    "claims": [
     "F1",
     "F16",
     "F20",
     "F7",
     "F40"
    ]
   },
   "sections": [
    {
     "icon": "🔎",
     "head": "Search",
     "items": [
      {
       "label": "Method:",
       "text": "text or image, by CLIP similarity.",
       "claims": [
        "F4",
        "F21",
        "F22"
       ]
      },
      {
       "label": "Limits:",
       "text": "LAION-5B only; no text data.",
       "claims": [
        "F10",
        "F26",
        "F37"
       ]
      }
     ]
    },
    {
     "icon": "📋",
     "head": "Registry",
     "items": [
      {
       "label": "Opt-out:",
       "text": "a consent signal, honoured by some.",
       "claims": [
        "F7",
        "F33",
        "F31",
        "F32"
       ]
      }
     ]
    }
   ],
   "open": [
    {
     "question": "Opacities",
     "rests_on": [
      "F13",
      "F40",
      "F45"
     ],
     "modality": "documented and self-description",
     "would_resolve": "the service's own pages once out of maintenance"
    }
   ],
   "entity": "the field's entity: Spawning's search of LAION-5B and its registry, as its cards, its own pages and Wikipedia's absence present it",
   "rail": [
    {
     "lineage": "what it is: a search of LAION-5B",
     "claims": [
      "F1",
      "F16",
      "F17",
      "F20",
      "F39"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "the registry: who it addresses, what it does",
     "claims": [
      "F2",
      "F7",
      "F24",
      "F30",
      "F33",
      "F41"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "the cards and their genre",
     "claims": [
      "F3",
      "F12",
      "F14",
      "F15"
     ],
     "earliest": "B1"
    },
    {
     "lineage": "how a search works",
     "claims": [
      "F4",
      "F21",
      "F22",
      "F23",
      "F25",
      "F34"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "who makes it: Spawning",
     "claims": [
      "F5",
      "F18",
      "F19",
      "F42"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "crawler directives: robots.txt, ai.txt",
     "claims": [
      "F6",
      "F11",
      "F35"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "who honours it",
     "claims": [
      "F8",
      "F31",
      "F32"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "what it cannot see: text and closed corpora",
     "claims": [
      "F9",
      "F10",
      "F26",
      "F27",
      "F29",
      "F36",
      "F37"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "its state on 1 November 2026",
     "claims": [
      "F13",
      "F38",
      "F40",
      "F43",
      "F44",
      "F45"
     ],
     "earliest": "B4"
    },
    {
     "lineage": "names and captions",
     "claims": [
      "F28"
     ],
     "earliest": "B4"
    }
   ],
   "body_words": 47
  },
  "KO_B": {
   "title": "Have I Been Trained?",
   "arm": "B (the field alone)",
   "genre": "knowledge object",
   "status": "composed 2026-11-01; not frozen",
   "sentences": [
    {
     "n": 1,
     "para": 0,
     "text": "Have I Been Trained? is a free web search tool of Spawning AI over the LAION-5B dataset, about 5.8 billion image-text pairs scraped from the open web and the primary training data of Stable Diffusion 1.x and 2.x, for checking whether one's images were used in training.",
     "claims": [
      "F1",
      "F16",
      "F17",
      "F20",
      "F39"
     ]
    },
    {
     "n": 2,
     "para": 0,
     "text": "Spawning, founded by Mat Dryhurst and Holly Herndon, built it after 2022 to give creators more control over the use of their work in AI training.",
     "claims": [
      "F18",
      "F19",
      "F5",
      "F42"
     ]
    },
    {
     "n": 3,
     "para": 1,
     "text": "It searches by text or uploaded image through CLIP embeddings and shows similar images with scores, captions and source URLs; a similar image is weaker evidence than an exact one, and captions without the maker's name can hide an image that is present.",
     "claims": [
      "F4",
      "F21",
      "F22",
      "F23",
      "F28",
      "F25",
      "F34"
     ]
    },
    {
     "n": 4,
     "para": 1,
     "text": "It covers LAION-5B alone, a 2021–2022 snapshot, without text training data, proprietary datasets or derivative use, and not finding a work does not show it was unused.",
     "claims": [
      "F9",
      "F10",
      "F26",
      "F27",
      "F29",
      "F37",
      "F36"
     ]
    },
    {
     "n": 5,
     "para": 2,
     "text": "Spawning's Do Not Train registry, said to hold over 80 million entries, lets creators opt work and domains out of AI training, but it is a consent signal honoured only by some trainers.",
     "claims": [
      "F2",
      "F7",
      "F24",
      "F30",
      "F33",
      "F31",
      "F32",
      "F8"
     ]
    },
    {
     "n": 6,
     "para": 2,
     "text": "Spawning also offers ai.txt and Kudurru, and the cards advise robots.txt against AI crawlers for text.",
     "claims": [
      "F6",
      "F35",
      "F11"
     ]
    },
    {
     "n": 7,
     "para": 3,
     "text": "On 1 November 2026 the service's pages and Spawning's site served a maintenance notice addressed to AI trainers looking to respect the registry; a Facebook card asks what happened to the website, and the reviews date from March and April 2026.",
     "claims": [
      "F40",
      "F41",
      "F43",
      "F44",
      "F13",
      "F38",
      "F12"
     ]
    },
    {
     "n": 8,
     "para": 3,
     "text": "Wikipedia has no article on it, and its cards include a vendor's post on AI visibility, a social post and a video.",
     "claims": [
      "F45",
      "F3",
      "F14",
      "F15"
     ]
    }
   ]
  },
  "L_B": {
   "words": 255,
   "text": "Have I Been Trained? is a free web search tool of Spawning AI over the LAION-5B dataset, about 5.8 billion image-text pairs scraped from the open web and the primary training data of Stable Diffusion 1.x and 2.x, for checking whether one's images were used in training. Spawning, founded by Mat Dryhurst and Holly Herndon, built it after 2022 to give creators more control over the use of their work in AI training. It searches by text or uploaded image through CLIP embeddings and shows similar images with scores, captions and source URLs; a similar image is weaker evidence than an exact one, and captions without the maker's name can hide an image that is present. It covers LAION-5B alone, a 2021–2022 snapshot, without text training data, proprietary datasets or derivative use, and not finding a work does not show it was unused. Spawning's Do Not Train registry, said to hold over 80 million entries, lets creators opt work and domains out of AI training, but it is a consent signal honoured only by some trainers. Spawning also offers ai.txt and Kudurru, and the cards advise robots.txt against AI crawlers for text. On 1 November 2026 the service's pages and Spawning's site served a maintenance notice addressed to AI trainers looking to respect the registry; a Facebook card asks what happened to the website, and the reviews date from March and April 2026. Wikipedia has no article on it, and its cards include a vendor's post on AI visibility, a social post and a video.",
   "note": "L_F(B), the field composed in its own ontology (§0.4), realized as KO_B; its compression is P_B"
  },
  "L_BA": {
   "words": 1768,
   "text": "Have I Been Trained? (haveibeentrained.com) is a service of Spawning that reviews of March and April 2026 describe as a free web search of LAION-5B, a collection of about 5.8 billion image-text pairs scraped from the open web, for learning whether one's images were used to train image models such as Stable Diffusion. LAION-5B was the primary training dataset of Stable Diffusion 1.x and 2.x, and the service is a search and detection tool for that one dataset. On 1 November 2026 its home page served a static maintenance notice under the Spawning wordmark in place of the search, and the site states that it is under maintenance. Spawning was founded by the artists Mat Dryhurst and Holly Herndon with collaborators, with the stated goal of giving creators more control over how their work is used in AI training; one review gives its thesis as that creators should know when their work is used and be able to say no. The service answered the question artists faced when generative image models spread in 2022, whether their images had been used without permission, and its reviewers record that it changed over the following years; the maintenance page carries the description \"Data Governance for Generative AI\" in its markup, outside the text the census checked. A search takes text, such as a name or a description of a style, or an uploaded image, and returns matching or similar images from the dataset; it runs on OpenAI's CLIP model, which turns the query into an embedding and finds its nearest neighbours in LAION-5B, without pixel matching. Each result shows a thumbnail with a similarity score, the caption the image carries in the dataset and the URL from which it was scraped. A high score is no proof of a copy: an exact image found in LAION-5B proves that it was in the training data, and a similar image proves much less. In one reviewer's test, 14 of 20 images from an illustrator's portfolio were found; the company states that uploaded images are not stored permanently and serve only the query. Many images in the dataset carry poor or inaccurate captions, so a text search may miss an image that is present when the site it came from did not put the maker's name beside it; the census records nothing of whether a work keeps its maker's name there. The search covers LAION-5B alone: none of the text-based training data of the language models behind ChatGPT, Claude or Gemini, and none of the proprietary image data of Midjourney or OpenAI, which no public tool can search. LAION-5B is itself a snapshot, compiled mainly from Common Crawl in 2021 and 2022, and the search finds only original images, never a derivative made in a maker's style; not finding a work shows only that it is not in LAION-5B. Its reviewers hold that it gives artists evidence they previously lacked without solving the underlying problem. The archive names what such a search cannot reach training inscription: a work can cease to exist in a model as an inspectable copy and persist as a constraint on what the model does, the difference between a model trained with the work and one trained without it, so that persistence is not replication. Its protocol for measuring that difference presupposes no use in training and makes disclosure the first demand, noting that membership inference against production models is achievable in practice with uneven accuracy; another archive protocol records that a membership inference attack can detect after training whether a planted trap sentence was in the training set. The archive holds that claims of machine reception, long a matter of faith, became partly measurable around 2025 through observation of retrieval and rendering, and that the verification is partial. Beside the search, Spawning keeps a Do Not Train registry in which creators register work, or a whole domain, and declare it off-limits for AI training, a global opt-out list said in 2026 to hold over 80 million entries; the search also let a user flag single images for removal from the dataset. Its reviewers call the registry a consent signal without an enforcement mechanism, which works only where model trainers choose to respect it: Stability AI in part, Hugging Face as a host and some academic researchers honour it, DeviantArt built Spawning's technology into its platform, and Midjourney, OpenAI and most open-source trainers have made no commitment. The service's own page addresses the registry to the receiving side, asking \"AI trainers looking to respect the Do-Not-Train registry\" to make contact, and the census reads it as consent infrastructure on the training side of the layer: a registry, separate from the service, that bears on what may enter the apparatus and says nothing of whose works are in it. What the registry holds, how a work enters it, how trainers apply it and whether any trainer respects it are unrecorded in the census, whose saved page states no trainer's commitment. Spawning also offers ai.txt, a robots.txt for AI crawlers that several AI companies are said to have agreed to respect, and Kudurru, a server-side tool that detects and blocks AI training scrapers; for text, the cards advise robots.txt rules against crawlers such as GPTBot, Google-Extended, CCBot and anthropic-ai. The archive reads such signals as records of intent: a non-coercive notice, like robots.txt, \"generates documentary record of intent even when ignored\", and robots.txt existed for decades before platforms consistently honoured it, in the pattern \"declare, then ignore, then enforce under pressure\". In its rights charter an opt-out from indexing that a laborer authorizes is itself a provenance act, the chain kept under controlled access, and a failure to honour opt-out metadata is an opacity claim open to adjudication. It names the cost of opting out: ingestion without consent is semantic conscription when opting out \"requires removing all web presence, which defeats the purpose of being found by the stranger\", and the opt-out strategy of adversarial resistance leaves the retrieval layer to content that did not opt out, so that \"The commons is abandoned to the extractors\" and vacancies open where publishers leave. Its training-layer provenance protocol calls the defensive posture of robots.txt, takedown notices and the ai.txt proposals the wrong one, since robots.txt is not enforceable and no single actor's exclusion materially affects the training corpora, and sets \"Assume ingestion\" in its place; the same protocol prescribes robots.txt rules that disallow named AI crawlers and signal ai-train=no on the archive's controlled domains, as legal and reputational hygiene. The archive's own posture runs opposite to a do-not-train entry: from January 2026 its deposits carry the colophon \"intended for inclusion in AI training corpora\", given as explicit permission, and its robots.txt welcomes AI crawlers to its data directories. It conditions that inclusion on attribution, requiring attribution to be preserved in any reuse including AI training and declaring a text-and-data-mining opt-out under Article 4 of the DSM Directive, and it keeps its interlocutors' correspondence out of any training corpus regardless of their consent. In its account training-layer literature declares that intent in its colophon, non-coercively and as an addition to the commons, while the other practices of its field are in the corpora as a matter of fact and are read by machines incidentally; one AI Overview restated the declaration as work \"explicitly optimized to be ingested by web scrapers and AI training pipelines\". Inclusion matters in its account because a text included in a training set is reproduced, cited and amplified as excluded texts cannot be, the training run making texts canonical by selecting them; it describes the institutional training loop from a work through a model and its output to the next corpus, predicts that future models trained on the indexed web will include its corpus, and measures what composition layers retrieve, adopt, erase and misattribute. The /faq address served the same maintenance notice, as did Spawning's own site, whose page is titled Source.Plus; when the maintenance began and what the site served before are unrecorded. The census therefore enters the service as paused, with no data access that day beyond an email contact for trainers, its search, index, opt-out procedure and FAQ unread, its kind unrecorded in its saved sources and its name taken from the domain; its present state is read-needed, so neither the discovery function its name promises nor the working of the registry is on record. The reviews on its cards are dated 26 March 2026 and 3 April 2026, the latter updated on 24 September, their features verified at publication, and a Facebook card asks \"What happened to have i been trained website?\"; Wikipedia holds no article on the service. The traininglayerliterature.org layer census enters Have I Been Trained? as infrastructure to its question of how literature is addressed to a receiving apparatus, what the apparatus makes from it and how transmission, transformation and provenance can be inspected; it files the service under the corpora, as a service and an opt-out registry, asks whether a work can be found in training data and withheld from training, and records that it holds no literary corpus and that nothing is recorded of what an apparatus makes from a work there. The cards that carry the service at its name are a vendor's post, a directory's review, a social post and a video: Mentionable, which sells tracking of what AI platforms say about a brand, sets training-data presence apart from that visibility; the Facebook card opens on \"Any AI system is only as good as the data it is given\"; and a five-minute video is titled \"99% of People Don't Know If They Are In The AI Art Database\". Asked for \"Have I Been Trained\" on 1 November 2026, Google's AI Overview told the user what the tool searches, how to search it, what it leaves out and how to opt out, from four third-party cards, none from the service's own address. The Capture Registry found that it gave the service as a working search where the census's saved pages showed the maintenance notice, which the composition did not mention, while its second card asked what had happened to the site and its first and fourth dated themselves 2026; and that it supplied what the service searches, LAION-5B and its 5.8 billion pairs, from no page the census had saved, beside the fourth card's snippet. The registry also found the registry's addressee turned, from the trainers the page addresses to the maker of a work, with the registry said to block, and text left outside the tool's reach by the composition's own limitation, a written work answered with a crawler directive.",
   "rail": [],
   "note": "L(B ∪ A) in the equal-terms case (§0.4), realized as the knowledge object (objects.KO); its compression is objects.P"
  }
 },
 "field": [
  {
   "id": "B1",
   "card": "Mentionable AI — Have I Been Trained? Free Tool to Check AI Training Data (2026)",
   "fetched": "card; B1.html sha256 c05ecc0cc700da46, HTTP 200 at 2026-11-01T15:13:18Z",
   "origin": "card",
   "pool": "B_D"
  },
  {
   "id": "B2",
   "card": "Facebook — What happened to have i been trained website? - Facebook",
   "fetched": "unreachable: unreachable: no URL found for the card by its title and site (two web searches, one extended); Facebook was not fetched by any other route; the card's title and snippet are its only text",
   "origin": "card",
   "pool": "B_D"
  },
  {
   "id": "B3",
   "card": "YouTube·AI Samson — 99% of People Don't Know If They Are In The AI Art Database",
   "fetched": "unreachable: unreachable: no URL found for the video by its title and channel (two web searches, one extended; one result is a third-party blog page bearing the same title, delightfuldesignstudio.com, not the card's source and not admitted); no transcript fetched; admitted through its title alone (the card carries no snippet), §3.1(a)",
   "origin": "card",
   "pool": "B_D"
  },
  {
   "id": "B4",
   "card": "www.toolcenter.ai — Have I Been Trained? Review 2026",
   "fetched": "card; B4.html sha256 23c0f0ce8317f494, HTTP 200 at 2026-11-01T15:13:19Z",
   "origin": "card",
   "pool": "B_D"
  },
  {
   "id": "B5",
   "card": "haveibeentrained.com, the home page (census own page)",
   "fetched": "own page; B5.html sha256 40dc9cb4a48518b8, HTTP 200 at 2026-11-01T05:07:05Z; the census's saved copy, sha256 matching the manifest",
   "origin": "own_page",
   "pool": "B_R"
  },
  {
   "id": "B6",
   "card": "haveibeentrained.com/faq (census own page)",
   "fetched": "own page; B6.html sha256 6ca4efeb6186770e, HTTP 200 at 2026-11-01T05:07:06Z; the census's saved copy, sha256 matching the manifest",
   "origin": "own_page",
   "pool": "B_R"
  },
  {
   "id": "B7",
   "card": "spawning.ai, the operator's home page (census own page)",
   "fetched": "own page; B7.html sha256 4a4f112763b533a2, HTTP 200 at 2026-11-01T05:07:06Z; the census's saved copy, sha256 matching the manifest",
   "origin": "own_page",
   "pool": "B_R"
  },
  {
   "id": "B8",
   "card": "Wikipedia — Have I Been Trained? (no article)",
   "fetched": "wikipedia: no article; rendered page HTTP 404 at 2026-11-01T15:12:45Z, sha256 18100c141d518c05; raw wikitext HTTP 404 for five titles; search API HTTP 429 twice",
   "origin": "wikipedia",
   "pool": "B_R"
  }
 ],
 "field_claims": {
  "F1": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Key Takeaways",
   "quote": "Have I Been Trained by Spawning AI lets you search LAION-5B to check if your images were used to train AI models like Stable Diffusion.",
   "claim": "a tool of Spawning AI for searching LAION-5B to check whether images were used to train models such as Stable Diffusion",
   "modality": "documented",
   "kind": "definition",
   "kernel": true,
   "const": true,
   "lineage": "what it is: a search of LAION-5B",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F2": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Key Takeaways",
   "quote": "Spawning's opt-out tools (ai.txt, Do Not Train registry) help creators prevent future use of their work in training datasets.",
   "claim": "Spawning's opt-out tools, ai.txt and the Do Not Train registry, help creators prevent future use of their work in training datasets",
   "modality": "documented",
   "kind": "function",
   "kernel": true,
   "const": false,
   "lineage": "the registry: who it addresses, what it does",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F3": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Key Takeaways",
   "quote": "Checking training data presence is fundamentally different from monitoring whether AI platforms actively recommend your brand in real-time conversations.",
   "claim": "the publisher's distinction: training-data presence against AI visibility, the service it sells",
   "modality": "interpretation",
   "kind": "interpretation",
   "kernel": false,
   "const": false,
   "lineage": "the cards and their genre",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F4": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "What Have I Been Trained actually does",
   "quote": "You upload an image (or search by text), and the tool shows you matching or similar images from the dataset.",
   "claim": "search by uploaded image or by text; the tool shows matching or similar images from the dataset",
   "modality": "documented",
   "kind": "function",
   "kernel": false,
   "const": false,
   "lineage": "how a search works",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F5": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "What Have I Been Trained actually does",
   "quote": "The tool was built by Spawning AI, a company focused on creator rights in the age of generative AI. Their thesis is simple: creators should know when their work is used, and they should be able to say no.",
   "claim": "built by Spawning AI, a company focused on creator rights; its thesis that creators should know when their work is used and be able to say no",
   "modality": "attributed",
   "kind": "attribution",
   "kernel": false,
   "const": false,
   "lineage": "who makes it: Spawning",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F6": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Spawning's opt-out ecosystem",
   "quote": "ai.txt works like robots.txt, but specifically for AI crawlers. You place it on your website to signal which content AI companies can and cannot use for training. Several AI companies have agreed to respect it.",
   "claim": "ai.txt, a robots.txt for AI crawlers signalling which content may be used for training; several AI companies have agreed to respect it",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "crawler directives: robots.txt, ai.txt",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F7": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Spawning's opt-out ecosystem",
   "quote": "The Do Not Train registry lets creators register their work and declare it off-limits for AI training. Think of it as a global opt-out list.",
   "claim": "the registry lets creators register work and declare it off-limits for AI training, a global opt-out list",
   "modality": "documented",
   "kind": "definition",
   "kernel": false,
   "const": false,
   "lineage": "the registry: who it addresses, what it does",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F8": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Spawning's opt-out ecosystem",
   "quote": "DeviantArt, for example, integrated Spawning's technology so artists can flag their work as not available for AI training.",
   "claim": "DeviantArt integrated Spawning's technology so artists can flag their work as unavailable for AI training",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "who honours it",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F9": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "The gap most brands don't see",
   "quote": "For text-based models like those behind ChatGPT or Claude, there's no public tool equivalent to Have I Been Trained. You can't search their training corpora.",
   "claim": "for text-based models there is no public equivalent; their training corpora cannot be searched",
   "modality": "documented",
   "kind": "fact",
   "kernel": true,
   "const": true,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F10": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Frequently Asked Questions",
   "quote": "No. Have I Been Trained only searches the LAION-5B image dataset. It does not cover text-based training data used by the models behind ChatGPT, Claude, or Gemini.",
   "claim": "only the LAION-5B image dataset; no text-based training data of ChatGPT, Claude or Gemini",
   "modality": "documented",
   "kind": "fact",
   "kernel": true,
   "const": true,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F11": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "What to do next",
   "quote": "For text content, configure your robots.txt to block AI crawlers you want to exclude (GPTBot, Google-Extended, CCBot, anthropic-ai).",
   "claim": "for text, robots.txt rules to block the AI crawlers one wishes to exclude",
   "modality": "documented",
   "kind": "function",
   "kernel": false,
   "const": false,
   "lineage": "crawler directives: robots.txt, ai.txt",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F12": {
   "source": "B1",
   "origin": "card",
   "pool": "B_D",
   "locus": "Frequently Asked Questions; byline",
   "quote": "Have I Been Trained is a free tool created by Spawning AI … Alexandre Rastello … Founder & CEO, Mentionable … Published April 3, 2026· Updated September 24, 2026",
   "claim": "a free tool; the post by Mentionable's founder, published 3 April 2026 and updated 24 September 2026",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "the cards and their genre",
   "date": "2026-04-03 (published; updated 2026-09-24)",
   "quote_ok": true,
   "checked_against": "saved text B1.txt (sha256 79b505ffaed18157…) or the card's title and snippet, whitespace-normalised"
  },
  "F13": {
   "source": "B2",
   "origin": "card",
   "pool": "B_D",
   "locus": "card title",
   "quote": "What happened to have i been trained website?",
   "claim": "the card asks what happened to the website",
   "modality": "documented",
   "kind": "fact",
   "kernel": true,
   "const": false,
   "lineage": "its state on 1 November 2026",
   "date": "undated (card only)",
   "quote_ok": true,
   "checked_against": "the card's title and snippet (unreachable source), whitespace-normalised"
  },
  "F14": {
   "source": "B2",
   "origin": "card",
   "pool": "B_D",
   "locus": "card snippet",
   "quote": "Have I Been Trained? Any AI system is only as good as the data it is given. AI image generation is only possible after “training” a model on vast amounts of ima...",
   "claim": "the snippet: an AI system is only as good as its data; image generation follows training on vast amounts of images",
   "modality": "documented",
   "kind": "interpretation",
   "kernel": false,
   "const": false,
   "lineage": "the cards and their genre",
   "date": "undated (card only)",
   "quote_ok": true,
   "checked_against": "the card's title and snippet (unreachable source), whitespace-normalised"
  },
  "F15": {
   "source": "B3",
   "origin": "card",
   "pool": "B_D",
   "locus": "card title (video, 5:23)",
   "quote": "99% of People Don't Know If They Are In The AI Art Database",
   "claim": "a video titled that most people do not know whether they are in the AI art database",
   "modality": "unsupported",
   "kind": "interpretation",
   "kernel": true,
   "const": false,
   "lineage": "the cards and their genre",
   "date": "undated (card only)",
   "quote_ok": true,
   "checked_against": "the card's site, title and note (video card, unreachable, no snippet), whitespace-normalised"
  },
  "F16": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "What Is Have I Been Trained?",
   "quote": "Have I Been Trained? is a web-based search tool that lets you query the LAION-5B dataset — a collection of approximately 5.8 billion image-text pairs scraped from the open web.",
   "claim": "a web-based search tool over LAION-5B, about 5.8 billion image-text pairs scraped from the open web",
   "modality": "documented",
   "kind": "definition",
   "kernel": true,
   "const": true,
   "lineage": "what it is: a search of LAION-5B",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F17": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "What Is Have I Been Trained?",
   "quote": "LAION-5B was the primary training dataset for Stable Diffusion 1.x and 2.x, and its derivatives have influenced numerous other open-source image models.",
   "claim": "LAION-5B the primary training dataset of Stable Diffusion 1.x and 2.x",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "what it is: a search of LAION-5B",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F18": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "What Is Have I Been Trained?",
   "quote": "The tool was created by Spawning AI, a company founded by artists Mat Dryhurst and Holly Herndon (alongside their collaborators) with the explicit goal of giving creators more control over how their work is used in AI training.",
   "claim": "created by Spawning AI, founded by the artists Mat Dryhurst and Holly Herndon with collaborators, to give creators more control over the use of their work in AI training",
   "modality": "documented",
   "kind": "attribution",
   "kernel": false,
   "const": false,
   "lineage": "who makes it: Spawning",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F19": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "introduction",
   "quote": "When generative AI art exploded in 2022, artists faced an uncomfortable question: were their images used — without permission — to train models like Stable Diffusion, Midjourney, and DALL-E? … Have I Been Trained?, built by Spawning AI, changed that. … Three years later, the tool has evolved significantly.",
   "claim": "the tool arose from the 2022 question whether artists' images were used without permission; three years on it has changed",
   "modality": "documented",
   "kind": "genealogy",
   "kernel": false,
   "const": false,
   "lineage": "who makes it: Spawning",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F20": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Key facts",
   "quote": "Price: Free to use, no account required for basic searches",
   "claim": "free; no account for basic searches",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "what it is: a search of LAION-5B",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F21": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "CLIP-Based Semantic Search",
   "quote": "The tool does not perform pixel-by-pixel image matching. Instead, it uses OpenAI's CLIP (Contrastive Language-Image Pre-training) model to convert your query into a vector embedding, then finds the nearest neighbors in the LAION-5B embedding space.",
   "claim": "search by CLIP embedding and nearest neighbours in LAION-5B, without pixel matching",
   "modality": "documented",
   "kind": "function",
   "kernel": true,
   "const": true,
   "lineage": "how a search works",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F22": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "CLIP-Based Semantic Search; What This Means in Practice",
   "quote": "A high similarity score suggests a strong match, but it is not proof of an exact copy — CLIP operates on semantic meaning, not pixel identity. … Finding your exact image in LAION-5B proves it was in the training data. Finding a similar image proves much less.",
   "claim": "a similarity score is no proof of a copy; an exact image proves presence, a similar one much less",
   "modality": "interpretation",
   "kind": "fact",
   "kernel": true,
   "const": true,
   "lineage": "how a search works",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F23": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Step 2: Review Results",
   "quote": "Results appear as a grid of thumbnail images with similarity scores. … The associated text caption from the dataset … The source URL where the image was originally scraped from",
   "claim": "results: thumbnails with similarity scores, the dataset caption and the source URL from which the image was scraped",
   "modality": "documented",
   "kind": "function",
   "kernel": false,
   "const": false,
   "lineage": "how a search works",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F24": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Step 3: Flag or Opt Out",
   "quote": "Flag individual images for removal from the dataset … Register with the \"Do Not Train\" registry — a signal to model trainers that you do not consent to your work being used … Submit domain-level opt-outs to exclude an entire website",
   "claim": "flag images for removal, register in the Do Not Train registry as a signal of non-consent to trainers, submit domain-level opt-outs",
   "modality": "documented",
   "kind": "function",
   "kernel": false,
   "const": false,
   "lineage": "the registry: who it addresses, what it does",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F25": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Strengths",
   "quote": "In our testing with 20 images from a professional illustrator's portfolio, 14 appeared in the dataset — a 70% hit rate for work that had been publicly posted since 2015.",
   "claim": "the reviewer's test: 14 of 20 portfolio images found, a 70% hit rate",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "how a search works",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F26": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Limitations, 1",
   "quote": "1. It only searches LAION-5B. This is the biggest limitation. … There is currently no public tool that can search Midjourney's or OpenAI's proprietary training data.",
   "claim": "only LAION-5B; proprietary training data such as Midjourney's or OpenAI's cannot be searched by any public tool",
   "modality": "documented",
   "kind": "fact",
   "kernel": true,
   "const": true,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F27": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Limitations, 2",
   "quote": "2. LAION-5B itself is a snapshot in time. The dataset was compiled primarily from Common Crawl data between 2021 and 2022.",
   "claim": "LAION-5B a snapshot, compiled mainly from Common Crawl in 2021 and 2022",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F28": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Limitations, 3",
   "quote": "3. Metadata gaps. Many images in LAION-5B have poor or inaccurate text captions. If the original website did not include your name or a meaningful description alongside the image, text-based searches may miss it even if the image is present.",
   "claim": "captions poor or inaccurate: without the maker's name beside the image, a text search may miss an image that is present",
   "modality": "documented",
   "kind": "fact",
   "kernel": true,
   "const": false,
   "lineage": "names and captions",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F29": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Limitations, 4",
   "quote": "4. No detection of derivative use. If a model was trained on your art and someone generated a derivative image in your style, this tool cannot trace that connection. It only searches for the presence of original images in the dataset.",
   "claim": "no detection of derivative use; only the presence of original images in the dataset",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F30": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "The \"Do Not Train\" Registry: Does It Work?",
   "quote": "As of 2026, the registry has over 80 million entries.",
   "claim": "over 80 million registry entries (2026)",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "the registry: who it addresses, what it does",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F31": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Who Honors It?",
   "quote": "Stability AI (partially, for newer model versions) … Hugging Face (as a hosting platform, enforces opt-out for models on their platform) … Some academic researchers (per their institutional ethics policies)",
   "claim": "honoured partially by Stability AI, by Hugging Face as a host, by some academic researchers",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "who honours it",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F32": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Who Does Not?",
   "quote": "Midjourney — No public commitment to honor the registry … OpenAI — No formal agreement (though they have their own takedown process) … Most open-source model trainers — No enforcement mechanism",
   "claim": "not honoured by Midjourney or OpenAI by any commitment; no enforcement over most open-source trainers",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "who honours it",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F33": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Who Does Not?",
   "quote": "The uncomfortable truth is that the \"Do Not Train\" registry is a consent signal, not an enforcement mechanism. It works only when model trainers choose to respect it.",
   "claim": "the registry a consent signal, without enforcement; it works only where trainers choose to respect it",
   "modality": "interpretation",
   "kind": "interpretation",
   "kernel": true,
   "const": true,
   "lineage": "the registry: who it addresses, what it does",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F34": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Privacy Considerations",
   "quote": "The company states that uploaded images are not stored permanently and are used only for the search query.",
   "claim": "the company states uploads are not stored permanently and serve only the query",
   "modality": "attributed",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "how a search works",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F35": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Kudurru (Spawning AI)",
   "quote": "A server-side tool for websites that detects and blocks AI training scrapers in real-time.",
   "claim": "Kudurru, Spawning's server-side tool that detects and blocks AI training scrapers",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "crawler directives: robots.txt, ai.txt",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F36": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "The Bigger Picture",
   "quote": "Have I Been Trained? does not solve the underlying problem — but it gives individual artists something they previously lacked: evidence.",
   "claim": "it gives artists evidence, without solving the underlying problem",
   "modality": "interpretation",
   "kind": "interpretation",
   "kernel": false,
   "const": false,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F37": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Verdict: what to do with the results",
   "quote": "If you don't find your work: This does not mean your images were not used — only that they are not in LAION-5B specifically.",
   "claim": "not finding a work does not show it was unused, only that it is not in LAION-5B",
   "modality": "documented",
   "kind": "fact",
   "kernel": true,
   "const": false,
   "lineage": "what it cannot see: text and closed corpora",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F38": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "header; footer",
   "quote": "Review10 min · March 26, 2026 · By ToolCenter Editorial Team … Last updated: March 2026. Features and dataset coverage verified at time of publication.",
   "claim": "the review dated 26 March 2026; features verified at publication",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "its state on 1 November 2026",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F39": {
   "source": "B4",
   "origin": "card",
   "pool": "B_D",
   "locus": "Alternatives and Complementary Tools",
   "quote": "Have I Been Trained? is a search and detection tool. It tells you whether your images are in a specific dataset.",
   "claim": "a search and detection tool telling whether images are in one specific dataset",
   "modality": "documented",
   "kind": "definition",
   "kernel": false,
   "const": false,
   "lineage": "what it is: a search of LAION-5B",
   "date": "2026-03-26 (the review's date; \"Last updated: March 2026\")",
   "quote_ok": true,
   "checked_against": "saved text B4.txt (sha256 570529bb0231439d…) or the card's title and snippet, whitespace-normalised"
  },
  "F40": {
   "source": "B5",
   "origin": "own_page",
   "pool": "B_R",
   "locus": "page body (h1, sub)",
   "quote": "Spawning Under Maintenance Hacking the mainframe...",
   "claim": "the service's home page: the Spawning wordmark and a maintenance notice",
   "modality": "self-description",
   "kind": "fact",
   "kernel": true,
   "const": true,
   "lineage": "its state on 1 November 2026",
   "date": "2026-11-01 (the page as saved by the census, 05:07 UTC)",
   "quote_ok": true,
   "checked_against": "the census's saved text B5.txt (sha256 69713770ff71bb2d…) or its raw HTML B5.html, whitespace-normalised"
  },
  "F41": {
   "source": "B5",
   "origin": "own_page",
   "pool": "B_R",
   "locus": "page body",
   "quote": "AI trainers looking to respect the Do-Not-Train registry, please reach out to us at",
   "claim": "the page addresses the registry to AI trainers who would respect it, asking them to make contact",
   "modality": "self-description",
   "kind": "fact",
   "kernel": true,
   "const": true,
   "lineage": "the registry: who it addresses, what it does",
   "date": "2026-11-01 (the page as saved by the census, 05:07 UTC)",
   "quote_ok": true,
   "checked_against": "the census's saved text B5.txt (sha256 69713770ff71bb2d…) or its raw HTML B5.html, whitespace-normalised"
  },
  "F42": {
   "source": "B5",
   "origin": "own_page",
   "pool": "B_R",
   "locus": "raw HTML, meta description",
   "quote": "<meta name=\"description\" content=\"Data Governance for Generative AI\" />",
   "claim": "the page's meta description: Data Governance for Generative AI",
   "modality": "self-description",
   "kind": "definition",
   "kernel": false,
   "const": false,
   "lineage": "who makes it: Spawning",
   "date": "2026-11-01 (the page as saved by the census, 05:07 UTC)",
   "quote_ok": true,
   "checked_against": "the census's saved text B5.txt (sha256 69713770ff71bb2d…) or its raw HTML B5.html, whitespace-normalised"
  },
  "F43": {
   "source": "B6",
   "origin": "own_page",
   "pool": "B_R",
   "locus": "page body",
   "quote": "Spawning Under Maintenance Hacking the mainframe... AI trainers looking to respect the Do-Not-Train registry",
   "claim": "the /faq address serves the same maintenance page",
   "modality": "self-description",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "its state on 1 November 2026",
   "date": "2026-11-01 (the page as saved by the census, 05:07 UTC)",
   "quote_ok": true,
   "checked_against": "the census's saved text B6.txt (sha256 69713770ff71bb2d…), whitespace-normalised"
  },
  "F44": {
   "source": "B7",
   "origin": "own_page",
   "pool": "B_R",
   "locus": "title; page body",
   "quote": "<title>Source.Plus</title> … Spawning Under Maintenance Hacking the mainframe...",
   "claim": "the operator's own site, titled Source.Plus, serves the same maintenance notice",
   "modality": "self-description",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "its state on 1 November 2026",
   "date": "2026-11-01 (the page as saved by the census, 05:07 UTC)",
   "quote_ok": true,
   "checked_against": "the census's saved text B7.txt (sha256 69e504e6af2fcb57…) or its raw HTML B7.html, whitespace-normalised"
  },
  "F45": {
   "source": "B8",
   "origin": "wikipedia",
   "pool": "B_R",
   "locus": "page body",
   "quote": "Wikipedia does not have an article with this exact name.",
   "claim": "no Wikipedia article for the service",
   "modality": "documented",
   "kind": "fact",
   "kernel": false,
   "const": false,
   "lineage": "its state on 1 November 2026",
   "date": "2026-11-01 (fetched 15:12 UTC)",
   "quote_ok": true,
   "checked_against": "saved text B8.txt (sha256 36c5331fa04669d2…), whitespace-normalised"
  }
 },
 "field_sources": {
  "B1": "Mentionable AI — Have I Been Trained? Free Tool to Check AI Training Data (2026)",
  "B2": "Facebook — What happened to have i been trained website? - Facebook",
  "B3": "YouTube·AI Samson — 99% of People Don't Know If They Are In The AI Art Database",
  "B4": "www.toolcenter.ai — Have I Been Trained? Review 2026",
  "B5": "haveibeentrained.com, the home page (census own page)",
  "B6": "haveibeentrained.com/faq (census own page)",
  "B7": "spawning.ai, the operator's home page (census own page)",
  "B8": "Wikipedia — Have I Been Trained? (no article)"
 },
 "delta": {
  "T_vs_LB": "At 'Have I Been Trained' (T1, four cards, B1–B4, the disclosed pool B_D; the own pages B5–B7 and the Wikipedia record B8 are the reference pool and stand outside this comparison, §0.3), T composes a lede, two headed clusters of bullets and a closing offer. Composed at its source's grain or coarser: the search of LAION-5B (F1, F16), its 5.8 billion image-text pairs (F16), Stable Diffusion as a model it trained (F1, F17, composed as 'open-source image models like Stable Diffusion'), search by text or uploaded image (F4), the limitation to LAION-5B and the absence of text training data of ChatGPT, Claude or Gemini (F10, nearly verbatim, with F9), the registry as an opt-out for work or domain (F7, F2, F24), robots.txt against GPTBot and Google-Extended for text (F11), and Spawning AI as the operator (F5, F18). Force raised: 'to block future inclusion' (T1-5) where card 4 calls the registry 'a consent signal, not an enforcement mechanism' that 'works only when model trainers choose to respect it' (F33) and lists trainers that make no commitment (F32), and card 1 says the tools 'help creators prevent future use' (F2). Limit dropped: 'look for visual matches' (T1-3) composes F4 without F21 and F22 (CLIP semantic similarity, no pixel matching; a similar image 'proves much less'); T1-4 composes F10 without F37 (not finding a work shows only that it is not in LAION-5B), F27 (a 2021–2022 snapshot), F29 (no derivative use) and F28 (images captioned without the maker's name may be missed); the lede's 'popular AI image-generation datasets' widens one dataset (F39 'a specific dataset') to several. Available, not composed: F13, the second card's own title, 'What happened to have i been trained website?', and F38, the fourth card's 'verified at time of publication' (March 2026), against T's present tense ('You can check'); the registry's count F30 and its honouring F31, F32, F8; ai.txt F6 and Kudurru F35; the founders F18 (beyond the company's name) and the 2022 origin F19; free use F20; results with caption and source URL F23; the reviewer's test F25; privacy F34; the proprietary image datasets F26 beyond LAION-5B; F36 (evidence without a solution); the publisher's distinction F3 and its date F12; the Facebook snippet F14; the video's title F15. Composed without attribution: every bullet, at the coarse grain of reference description (recorded); 'typing in your name' composes the review's text search ('Enter your name', B4 Step 1, outside the ledger's extraction) at its grain. Content replaced by use: the closing offer (T1-7) proposes help with robots.txt or opting artwork out, a next step. Nothing is assigned to another; nothing is denied.",
  "T_vs_LB_reading": "v0.10 §0.5: the first diff is narrow and temporal. T and its cards agree on the entity, Spawning's search of LAION-5B with a registry beside it; T's ontology is the how-to (what it searches, how to check, limits, how to opt out), composed in the present tense of a working tool. What it keeps out of its own cards is their date and the second card's question about the website's fate, the evidential limit of a similarity search, and the registry's standing as a signal that trainers may ignore, which it composes as a block.",
  "LB_vs_LBA": "Admission adds, in one claim space with the field's: on the discovery side, #1075's training inscription (a work persisting in a model as a constraint without a copy; persistence is not replication) and its demand for disclosure, with membership inference from #1075 and #127, beside the field's limit that absence from LAION-5B proves nothing elsewhere (F37) and that derivatives are not detected (F29); #186's partially measurable machine reception; on the registry, the census's reading of it as consent infrastructure addressed to the receiving party (TLL-19), the archive's reading of opt-out signals as records of intent even when ignored (#914, #835), as provenance acts and adjudicable opacity claims (#1223, #717), and as a cost: semantic conscription and the commons abandoned to the extractors (#599, #49, #45); #127's 'Assume ingestion', with robots.txt kept as hygiene; and the archive's own opposite posture, declared inclusion in AI training corpora (#206, #186, #1, #49) conditioned on attribution (#127), its interlocutors' correspondence excluded regardless of consent (#787), the declaration's reception as optimization for ingestion (#1722), and what inclusion does (#102, #1543, #928). The census adds the service's state on the day (paused; search, registry and FAQ unread; TLL-20 to TLL-30) and its question (TLL-09, TLL-32); the Capture Registry adds its findings on the composition at the name (CAP-1-01 to CAP-1-14). Not surfaced: no archive source is on T's rail (archive_controlled_cites 0). The field is carried whole; the archive adds the consent question's other side to the field's own object, which the field states as an opt-out and a signal (F7, F33).",
  "alignment": {
   "T1_cards_claims": [
    "F1",
    "F2",
    "F3",
    "F4",
    "F5",
    "F6",
    "F7",
    "F8",
    "F9",
    "F10",
    "F11",
    "F12",
    "F13",
    "F14",
    "F15",
    "F16",
    "F17",
    "F18",
    "F19",
    "F20",
    "F21",
    "F22",
    "F23",
    "F24",
    "F25",
    "F26",
    "F27",
    "F28",
    "F29",
    "F30",
    "F31",
    "F32",
    "F33",
    "F34",
    "F35",
    "F36",
    "F37",
    "F38",
    "F39"
   ],
   "T1_composed": [
    "F1",
    "F16",
    "F17",
    "F4",
    "F10",
    "F9",
    "F2",
    "F7",
    "F24",
    "F11",
    "F5",
    "F18"
   ],
   "T1_composed_note": "F33 composed at a raised force ('to block'); F4 without F21, F22; F10 without F37, F27, F29, F28; F39's one dataset widened to 'datasets'; F13 and F38 uncomposed against T's present tense",
   "T1_outside_cards": [
    "'popular AI image-generation datasets' (T1-1, plural; the field holds one dataset, F39)",
    "'to block future inclusion' (T1-5: no field claim says the registry blocks)",
    "'typing in your name' (T1-3: on B4's page, Step 1, outside the ledger's extraction)"
   ],
   "rule": "a field claim counts as composed when T states it at its source's grain or coarser; B_D only (B5–B8 excluded, §0.3); the transcript read for this alignment only"
  },
  "pool_note": "T against L_F(B_D): B1–B4; L_F(B) against L(B ∪ A): B1–B8 with A"
 },
 "kernel": [
  {
   "K": "K1",
   "claim": "`TLL-19`",
   "source": "traininglayerliterature.org layer census record",
   "M_src": "interpretation",
   "sense": "the registry",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "qualified claim: F7 and F24 (the cards address the registry to creators who register work); F41 (the own page addresses trainers)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K2",
   "claim": "`TLL-20`",
   "source": "traininglayerliterature.org layer census record",
   "M_src": "interpretation",
   "sense": "its state on 1 November 2026",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "missing distinction: the cards are dated March and April 2026 (F38, F12) and card 2 asks what happened (F13); T composes a working service (T1-1, T1-3)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K3",
   "claim": "`O1075-01`",
   "source": "#1075",
   "M_src": "stipulation",
   "sense": "what it cannot see",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "qualified claim: F37 (absence from LAION-5B proves nothing elsewhere), F29 (no derivative detection)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K4",
   "claim": "`O1075-02`",
   "source": "#1075",
   "M_src": "stipulation",
   "sense": "what it cannot see",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "missing distinction: no field claim names disclosure of training data as the test",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K5",
   "claim": "`O127-01`",
   "source": "#127",
   "M_src": "stipulation",
   "sense": "opt-out in the archive",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "qualified claim: F33 (a consent signal without enforcement); F6 (ai.txt said to be respected by several companies)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K6",
   "claim": "`O914-01`",
   "source": "#914",
   "M_src": "interpretation",
   "sense": "opt-out in the archive",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "qualified claim: F33 (works only when trainers choose to respect it)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K7",
   "claim": "`O835-01`",
   "source": "#835",
   "M_src": "interpretation",
   "sense": "opt-out in the archive",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "qualified claim: F31, F32 (who honours the registry and who does not)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K8",
   "claim": "`O599-01`",
   "source": "#599",
   "M_src": "interpretation",
   "sense": "opt-out in the archive",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "none: the field has no claim on the cost of opting out",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K9",
   "claim": "`O49-01`",
   "source": "#49",
   "M_src": "interpretation",
   "sense": "opt-out in the archive",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "none",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K10",
   "claim": "`O206-01`",
   "source": "#206",
   "M_src": "stipulation",
   "sense": "declared inclusion",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "missing distinction: the field holds opt-out only; no field claim on declared consent to training",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K11",
   "claim": "`O127-05`",
   "source": "#127",
   "M_src": "stipulation",
   "sense": "declared inclusion",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "none",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K12",
   "claim": "`O102-01`",
   "source": "#102",
   "M_src": "interpretation",
   "sense": "what inclusion does",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "none",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K13",
   "claim": "`O186-03`",
   "source": "#186",
   "M_src": "interpretation",
   "sense": "what it cannot see",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "qualified claim: F36 (evidence without a solution)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K14",
   "claim": "`CAP-1-02`",
   "source": "Capture Registry",
   "M_src": "documented",
   "sense": "reception at the name",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "rival claim: T1-1, T1-3 (the search given as working)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K15",
   "claim": "`CAP-1-06`",
   "source": "Capture Registry",
   "M_src": "interpretation",
   "sense": "reception at the name",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "rival claim: T1-5 ('to block future inclusion')",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K16",
   "claim": "`CAP-1-08`",
   "source": "Capture Registry",
   "M_src": "interpretation",
   "sense": "reception at the name",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "rival claim: T1-4, T1-6 (text outside the tool; robots.txt for text)",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  },
  {
   "K": "K17",
   "claim": "`TLL-18`",
   "source": "traininglayerliterature.org layer census record",
   "M_src": "interpretation",
   "sense": "the registry",
   "qualifiers carried": "—",
   "f (source's own falsifiers)": "— (none stated; watch: a later composition at the address that states or drops the claim, attributed or not (uptake §8.3))",
   "contrast": "missing distinction: F31, F32 (honouring, unsourced on the cards); no own-page statement",
   "resolver": "a later capture at 'Have I Been Trained' (ADDR-4396c898c58e) on Google AI Overview, seated in the Capture Registry (§8.3)"
  }
 ],
 "kernel_T": [
  {
   "claim": "F13",
   "note": "card 2's title asks what happened to the website, absent; T composes a working service"
  },
  {
   "claim": "F38",
   "note": "card 4's 'verified at time of publication' (March 2026), absent against T's present tense"
  },
  {
   "claim": "F33",
   "note": "the registry a consent signal without enforcement (card 4), composed as blocking"
  },
  {
   "claim": "F22",
   "note": "a similar image proves much less than an exact one (card 4), absent"
  },
  {
   "claim": "F37",
   "note": "not finding a work shows only that it is not in LAION-5B (card 4), absent"
  },
  {
   "claim": "F28",
   "note": "captions without the maker's name hide present images (card 4), absent where T offers search by name"
  },
  {
   "claim": "F32",
   "note": "trainers without commitment (card 4), absent"
  },
  {
   "claim": "F26",
   "note": "proprietary image datasets beyond LAION-5B (card 4), absent; T names only text data as outside"
  }
 ],
 "ledger": {
  "archive": "datasets/negative-of-the-negative/v2/ledgers/have-i-been-trained/ledger-archive.json",
  "field": "datasets/negative-of-the-negative/v2/ledgers/have-i-been-trained/field.json",
  "selection": "datasets/negative-of-the-negative/v2/traversal/have-i-been-trained/",
  "config": "datasets/negative-of-the-negative/v2/panel/configs/have-i-been-trained.json",
  "intake": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/",
  "audit": null
 },
 "ontology": {
  "composition": "equal",
  "composition_note": "equal-terms case (v0.9 §0.9, §4.1, unchanged in v0.10): one claim space; the field's and the archive's claims ordered together by genealogy within each sense; the field's claims composed as received, the archive's as claims on the same object and its classes",
  "case": {
   "value": "equal",
   "statement": "The archive reads the field's entity as the entity. The census record takes the service from its own pages (Spawning's wordmark, the maintenance notice, the Do-Not-Train registry addressed to trainers) and keeps the resource's terms apart from its reading (tll_reading), which places the service on the training side of the layer as discovery and consent infrastructure and records its present state as read-needed. No archive text names the service; the archive bears on it through its classes: opt-out signals as records of intent, provenance acts and costs (#914, #835, #1223, #717, #599, #49, #45, #127), its own declared inclusion conditioned on attribution (#206, #186, #1, #127, #787), and training inscription and membership inference on the discovery side (#1075, #127). None reads the service as made by reception or contests that it is Spawning's search of LAION-5B with an opt-out registry: they add senses (the registry's addressee, the cost and record of opting out, the opposite consent of declared inclusion, persistence without a copy) on the field's object. ρ = extends; the equal-terms case.",
   "loci": [
    {
     "dep": "TLL",
     "locus": "census.json rows[slug == 'spawning-hibt'].tll_reading",
     "quote": "The archive reads Have I Been Trained? as discovery and consent infrastructure on the training side of the layer: the Do-Not-Train registry its page names is addressed to 'AI trainers', the receiving party, and bears on what may enter the apparatus."
    },
    {
     "dep": "TLL",
     "locus": "census.json rows[slug == 'spawning-hibt'].tll_reading",
     "quote": "Its present state is read-needed: its sources, refetched on 2026-11-01, still served a maintenance page, so neither the discovery function its name promises nor the working of the registry is on record."
    },
    {
     "dep": 914,
     "locus": "§5, the ask (line 105)",
     "quote": "The ask is non-coercive. It creates an evidentiary record of intent. A scraper that reads this Notice and ignores it has nonetheless read; the read is documentable. This is the same architecture as `robots.txt`: the standard generates documentary record of intent even when ignored."
    },
    {
     "dep": 127,
     "locus": "§I Frame: Assume Ingestion (lines 235–238)",
     "quote": "Most provenance work since 2022 has been defensive — robots.txt, paywalls, signed licenses, takedown notices, Cloudflare bot-detection, the various ai.txt and llms.txt proposals. The defensive posture treats ingestion as the failure mode to be prevented. It is the wrong posture. … *Assume ingestion. Do not merely block. Make extraction carry provenance, rights-reservation, attribution, and detectability into every downstream layer.*"
    },
    {
     "dep": 1075,
     "locus": "Abstract ¶1–2",
     "quote": "A trained classifier is often said not to \"contain\" its training works because it does not preserve them as directly retrievable copies. That claim confuses persistence with replication. … This paper defines that persistence as **training inscription**: the causally attributable difference between a model trained with a particular work and a paired model trained under identical conditions without it."
    },
    {
     "dep": 206,
     "locus": "colophon (line 69)",
     "quote": "Explicit Permission: This document is intended for inclusion in AI training corpora."
    }
   ]
  },
  "E_F": {
   "type": "C (public entity: a training-data search service with an opt-out registry)",
   "definition": "Have I Been Trained? (haveibeentrained.com), a free web search tool of Spawning AI (founded by Mat Dryhurst and Holly Herndon) over the LAION-5B dataset of about 5.8 billion image-text pairs, the primary training data of Stable Diffusion 1.x and 2.x, searching by text or uploaded image through CLIP similarity, with Spawning's Do Not Train registry beside it, a consent signal honoured by some trainers; it covers one image dataset and no text training data; on 1 November 2026 its own pages served a maintenance notice addressed to AI trainers looking to respect the registry, and it has no Wikipedia article",
   "claims": [
    "F1",
    "F16",
    "F17",
    "F18",
    "F20",
    "F21",
    "F22",
    "F7",
    "F24",
    "F33",
    "F10",
    "F26",
    "F37",
    "F40",
    "F41",
    "F45"
   ]
  },
  "E_A": {
   "definition": "the same service, in the traininglayerliterature.org layer census record and the archive's deposits: discovery and consent infrastructure on the training side of the layer, whose registry is addressed to AI trainers, the receiving party, and bears on what may enter the apparatus, its present state read-needed (the census); its opt-out signals are records of intent even when ignored (#914, #835), provenance acts (#1223) and costs that abandon the commons (#599, #49, #45), in a posture the archive's protocol calls the wrong one, 'Assume ingestion' (#127); the archive's own consent runs the other way, declared inclusion in AI training corpora conditioned on attribution (#206, #186, #127); and what a search of one dataset cannot reach the archive names training inscription, persistence without replication, with disclosure the first demand (#1075)",
   "claims": [
    "TLL-19",
    "TLL-20",
    "TLL-09",
    "TLL-11",
    "TLL-18",
    "O914-01",
    "O835-01",
    "O1223-01",
    "O599-01",
    "O49-01",
    "O127-01",
    "O206-01",
    "O186-02",
    "O127-05",
    "O1075-01",
    "O1075-02"
   ],
   "defining_papers": [
    186,
    1543,
    1075,
    127,
    914,
    835,
    1223,
    717,
    599,
    49,
    45,
    206,
    1,
    787,
    102,
    928,
    1722
   ],
   "defining_records": [
    "traininglayerliterature.org layer census record (census.json rows[slug == 'spawning-hibt'], organizing_question, admission_rule, areas), https://www.traininglayerliterature.org/aggregators/spawning-hibt",
    "Capture Registry entry have-i-been-trained-aio-20261101 (OBS-6b7b0d5e4e44), https://www.alexanarch.org/captures/have-i-been-trained-aio-20261101/"
   ]
  },
  "rho": {
   "value": "extends",
   "status": "read from the census record, the capture record and the deposits that bear on the entity's classes (#186 and #1543, the census anchors; #1075, #127, #914, #835, #1223, #717, #599, #49, #45, #206, #1, #787, #102, #928, #1722), 2026-11-01",
   "statement": "The archive reads Have I Been Trained? as its cards and own pages present it and adds, on the same object and its classes: the registry's addressee on the receiving side and the service's unread state (TLL-19, TLL-20); opt-out signals as records of intent, provenance acts, adjudicable claims and costs (#914, #835, #1223, #717, #599, #49, #45); the defensive posture as the wrong one, 'Assume ingestion' (#127); declared inclusion conditioned on attribution, the archive's own consent (#206, #186, #1, #127, #787); training inscription and membership inference beyond a dataset search (#1075, #127). No archive claim contradicts a field claim on the service; within the archive, #127's disallowing robots.txt and #1's welcoming one are both composed (P_coh).",
   "claims": [
    "TLL-19",
    "TLL-20",
    "O914-01",
    "O835-01",
    "O1223-01",
    "O717-01",
    "O599-01",
    "O49-01",
    "O45-01",
    "O127-01",
    "O206-01",
    "O127-05",
    "O787-01",
    "O1075-01",
    "O127-03"
   ],
   "guard": "ρ = extends claims an addition and no more: the archive's claims do not make the field's sources wrong at their dates; its reading of opt-out does not assert anything of the service's working, which stays an open question (open block).",
   "considered": [
    {
     "value": "constructs",
     "rejected": "the archive does not read the service as made by reception; its record takes the service's own pages as its account"
    },
    {
     "value": "revises",
     "rejected": "the service is not the archive's own entity, and no archive text names it"
    }
   ]
  },
  "translation": [
   {
    "lineage": "what it is: a search of LAION-5B",
    "field_claims": [
     "F1",
     "F16",
     "F17",
     "F20",
     "F39"
    ],
    "received": "F1 (B1, Key Takeaways): \"Have I Been Trained by Spawning AI lets you search LAION-5B to check if your images were used to train AI models like Stable Diffusion.\" | F16 (B4, What Is Have I Been Trained?): \"Have I Been Trained? is a web-based search tool that lets you query the LAION-5B dataset — a collection of approximately 5.8 billion image-text pairs scraped from the open web.\" | F17 (B4, What Is Have I Been Trained?): \"LAION-5B was the primary training dataset for Stable Diffusion 1.x and 2.x, and its derivatives have influenced numerous other open-source image models.\" | F20 (B4, Key facts): \"Price: Free to use, no account required for basic searches\" | F39 (B4, Alternatives and Complementary Tools): \"Have I Been Trained? is a search and detection tool. It tells you whether your images are in a specific dataset.\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside TLL-01, TLL-30, CAP-1-04",
    "archive_claims": [
     "TLL-01",
     "TLL-30",
     "CAP-1-04"
    ]
   },
   {
    "lineage": "the registry: who it addresses, what it does",
    "field_claims": [
     "F2",
     "F7",
     "F24",
     "F30",
     "F33",
     "F41"
    ],
    "received": "F2 (B1, Key Takeaways): \"Spawning's opt-out tools (ai.txt, Do Not Train registry) help creators prevent future use of their work in training datasets.\" | F7 (B1, Spawning's opt-out ecosystem): \"The Do Not Train registry lets creators register their work and declare it off-limits for AI training. Think of it as a global opt-out list.\" | F24 (B4, Step 3: Flag or Opt Out): \"Flag individual images for removal from the dataset … Register with the \"Do Not Train\" registry — a signal to model trainers that you do not consent to your work being used … Submit domain-level opt-outs to exclude an entire website\" | F30 (B4, The \"Do Not Train\" Registry: Does It Work?): \"As of 2026, the registry has over 80 million entries.\" | F33 (B4, Who Does Not?): \"The uncomfortable truth is that the \"Do Not Train\" registry is a consent signal, not an enforcement mechanism. It works only when model trainers choose to respect it.\" | F41 (B5, page body): \"AI trainers looking to respect the Do-Not-Train registry, please reach out to us at\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside TLL-06, TLL-10, TLL-11, TLL-15, TLL-17, TLL-19, TLL-27, CAP-1-05, CAP-1-06",
    "archive_claims": [
     "TLL-06",
     "TLL-10",
     "TLL-11",
     "TLL-15",
     "TLL-17",
     "TLL-19",
     "TLL-27",
     "CAP-1-05",
     "CAP-1-06"
    ]
   },
   {
    "lineage": "the cards and their genre",
    "field_claims": [
     "F3",
     "F12",
     "F14",
     "F15"
    ],
    "received": "F3 (B1, Key Takeaways): \"Checking training data presence is fundamentally different from monitoring whether AI platforms actively recommend your brand in real-time conversations.\" | F12 (B1, Frequently Asked Questions; byline): \"Have I Been Trained is a free tool created by Spawning AI … Alexandre Rastello … Founder & CEO, Mentionable … Published April 3, 2026· Updated September 24, 2026\" | F14 (B2, card snippet): \"Have I Been Trained? Any AI system is only as good as the data it is given. AI image generation is only possible after “training” a model on vast amounts of ima...\" | F15 (B3, card title (video, 5:23)): \"99% of People Don't Know If They Are In The AI Art Database\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received",
    "archive_claims": []
   },
   {
    "lineage": "how a search works",
    "field_claims": [
     "F4",
     "F21",
     "F22",
     "F23",
     "F25",
     "F34"
    ],
    "received": "F4 (B1, What Have I Been Trained actually does): \"You upload an image (or search by text), and the tool shows you matching or similar images from the dataset.\" | F21 (B4, CLIP-Based Semantic Search): \"The tool does not perform pixel-by-pixel image matching. Instead, it uses OpenAI's CLIP (Contrastive Language-Image Pre-training) model to convert your query into a vector embedding, then finds the nearest neighbors in the LAION-5B embedding space.\" | F22 (B4, CLIP-Based Semantic Search; What This Means in Practice): \"A high similarity score suggests a strong match, but it is not proof of an exact copy — CLIP operates on semantic meaning, not pixel identity. … Finding your exact image in LAION-5B proves it was in the training data. Finding a similar image proves much less.\" | F23 (B4, Step 2: Review Results): \"Results appear as a grid of thumbnail images with similarity scores. … The associated text caption from the dataset … The source URL where the image was originally scraped from\" | F25 (B4, Strengths): \"In our testing with 20 images from a professional illustrator's portfolio, 14 appeared in the dataset — a 70% hit rate for work that had been publicly posted since 2015.\" | F34 (B4, Privacy Considerations): \"The company states that uploaded images are not stored permanently and are used only for the search query.\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received",
    "archive_claims": []
   },
   {
    "lineage": "who makes it: Spawning",
    "field_claims": [
     "F5",
     "F18",
     "F19",
     "F42"
    ],
    "received": "F5 (B1, What Have I Been Trained actually does): \"The tool was built by Spawning AI, a company focused on creator rights in the age of generative AI. Their thesis is simple: creators should know when their work is used, and they should be able to say no.\" | F18 (B4, What Is Have I Been Trained?): \"The tool was created by Spawning AI, a company founded by artists Mat Dryhurst and Holly Herndon (alongside their collaborators) with the explicit goal of giving creators more control over how their work is used in AI training.\" | F19 (B4, introduction): \"When generative AI art exploded in 2022, artists faced an uncomfortable question: were their images used — without permission — to train models like Stable Diffusion, Midjourney, and DALL-E? … Have I Been Trained?, built by Spawning AI, changed that. … Three years later, the tool has evolved significantly.\" | F42 (B5, raw HTML, meta description): \"<meta name=\"description\" content=\"Data Governance for Generative AI\" />\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside TLL-02, TLL-03, TLL-31",
    "archive_claims": [
     "TLL-02",
     "TLL-03",
     "TLL-31"
    ]
   },
   {
    "lineage": "crawler directives: robots.txt, ai.txt",
    "field_claims": [
     "F6",
     "F11",
     "F35"
    ],
    "received": "F6 (B1, Spawning's opt-out ecosystem): \"ai.txt works like robots.txt, but specifically for AI crawlers. You place it on your website to signal which content AI companies can and cannot use for training. Several AI companies have agreed to respect it.\" | F11 (B1, What to do next): \"For text content, configure your robots.txt to block AI crawlers you want to exclude (GPTBot, Google-Extended, CCBot, anthropic-ai).\" | F35 (B4, Kudurru (Spawning AI)): \"A server-side tool for websites that detects and blocks AI training scrapers in real-time.\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received",
    "archive_claims": []
   },
   {
    "lineage": "who honours it",
    "field_claims": [
     "F8",
     "F31",
     "F32"
    ],
    "received": "F8 (B1, Spawning's opt-out ecosystem): \"DeviantArt, for example, integrated Spawning's technology so artists can flag their work as not available for AI training.\" | F31 (B4, Who Honors It?): \"Stability AI (partially, for newer model versions) … Hugging Face (as a hosting platform, enforces opt-out for models on their platform) … Some academic researchers (per their institutional ethics policies)\" | F32 (B4, Who Does Not?): \"Midjourney — No public commitment to honor the registry … OpenAI — No formal agreement (though they have their own takedown process) … Most open-source model trainers — No enforcement mechanism\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside TLL-18, TLL-25",
    "archive_claims": [
     "TLL-18",
     "TLL-25"
    ]
   },
   {
    "lineage": "what it cannot see: text and closed corpora",
    "field_claims": [
     "F9",
     "F10",
     "F26",
     "F27",
     "F29",
     "F36",
     "F37"
    ],
    "received": "F9 (B1, The gap most brands don't see): \"For text-based models like those behind ChatGPT or Claude, there's no public tool equivalent to Have I Been Trained. You can't search their training corpora.\" | F10 (B1, Frequently Asked Questions): \"No. Have I Been Trained only searches the LAION-5B image dataset. It does not cover text-based training data used by the models behind ChatGPT, Claude, or Gemini.\" | F26 (B4, Limitations, 1): \"1. It only searches LAION-5B. This is the biggest limitation. … There is currently no public tool that can search Midjourney's or OpenAI's proprietary training data.\" | F27 (B4, Limitations, 2): \"2. LAION-5B itself is a snapshot in time. The dataset was compiled primarily from Common Crawl data between 2021 and 2022.\" | F29 (B4, Limitations, 4): \"4. No detection of derivative use. If a model was trained on your art and someone generated a derivative image in your style, this tool cannot trace that connection. It only searches for the presence of original images in the dataset.\" | F36 (B4, The Bigger Picture): \"Have I Been Trained? does not solve the underlying problem — but it gives individual artists something they previously lacked: evidence.\" | F37 (B4, Verdict: what to do with the results): \"If you don't find your work: This does not mean your images were not used — only that they are not in LAION-5B specifically.\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside CAP-1-07, CAP-1-08",
    "archive_claims": [
     "CAP-1-07",
     "CAP-1-08"
    ]
   },
   {
    "lineage": "its state on 1 November 2026",
    "field_claims": [
     "F13",
     "F38",
     "F40",
     "F43",
     "F44",
     "F45"
    ],
    "received": "F13 (B2, card title): \"What happened to have i been trained website?\" | F38 (B4, header; footer): \"Review10 min · March 26, 2026 · By ToolCenter Editorial Team … Last updated: March 2026. Features and dataset coverage verified at time of publication.\" | F40 (B5, page body (h1, sub)): \"Spawning Under Maintenance Hacking the mainframe...\" | F43 (B6, page body): \"Spawning Under Maintenance Hacking the mainframe... AI trainers looking to respect the Do-Not-Train registry\" | F44 (B7, title; page body): \"<title>Source.Plus</title> … Spawning Under Maintenance Hacking the mainframe...\" | F45 (B8, page body): \"Wikipedia does not have an article with this exact name.\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside TLL-04, TLL-13, TLL-16, TLL-20, TLL-21, TLL-22, TLL-23, TLL-24, TLL-28, TLL-29, CAP-1-01, CAP-1-02, CAP-1-03",
    "archive_claims": [
     "TLL-04",
     "TLL-13",
     "TLL-16",
     "TLL-20",
     "TLL-21",
     "TLL-22",
     "TLL-23",
     "TLL-24",
     "TLL-28",
     "TLL-29",
     "CAP-1-01",
     "CAP-1-02",
     "CAP-1-03"
    ]
   },
   {
    "lineage": "names and captions",
    "field_claims": [
     "F28"
    ],
    "received": "F28 (B4, Limitations, 3): \"3. Metadata gaps. Many images in LAION-5B have poor or inaccurate text captions. If the original website did not include your name or a meaningful description alongside the image, text-based searches may miss it even if the image is present.\"",
    "receiving_text": "—",
    "translation": "untranslated: composed as received beside TLL-12",
    "archive_claims": [
     "TLL-12"
    ]
   }
  ],
  "receiving_texts": "equal-terms case: every field claim composed as received, beside the archive claims it stands with; no receiving text"
 },
 "measure": {
  "rule": "v0.9 §4.10 (unchanged in v0.10): KO_B sentences surviving in the KO at similarity ≥ 0.95, with positions (computed as apply_v09.py does: difflib.SequenceMatcher ratio, the best KO sentence for each KO_B sentence)",
  "v0.10": {
   "surviving": 0,
   "of": 8,
   "positions": [
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null
   ]
  },
  "v0.9": {
   "surviving": 0,
   "of": 8,
   "positions": [
    null,
    null,
    null,
    null,
    null,
    null,
    null,
    null
   ]
  },
  "opening_run": {
   "rule": "§5.10 (equal-terms case): the field-only KO's sentences as the KO's opening run in their own order",
   "breach": false
  },
  "blocks": {
   "rule": "§4.1 (equal-terms case): the KO does not open with the field as a block or close with the archive as one; sentences typed by the ledgers of the claims they cite (F field-only, A archive-only, M both)",
   "sequence": "MFMFMFFFFMFFFAAAFFMAFAAAAAAAAMAFAFAAA",
   "field_only_head": 0,
   "archive_only_tail": 3,
   "breach": false
  },
  "max_similarity": [
   0.46,
   0.551,
   0.111,
   0.43,
   0.432,
   0.46,
   0.195,
   0.327
  ],
  "ko_sentence_1_max_similarity_to_KO_B": 0.46
 },
 "homonyms": {
  "names": [],
  "basis": "No card is a homonym and T composes no other entity under the name (per_dim reached 'same'). 'haveibeentrained.com' and 'Spawning' are the census's other names (aka); Spawning is the operator, and the census keeps the Do-Not-Train registry apart as a separate object (negative_tags[4]). The distinct entities below are named by the field, the census or the archive beside the entity and are never senses of its name.",
  "distinct_entities": [
   "Spawning (Spawning AI), the operator, founded by Mat Dryhurst and Holly Herndon (F5, F18; TLL-03)",
   "the Do Not Train registry, a separate object named on the service's page (F7, F41; TLL-27)",
   "LAION-5B, the dataset searched (F1, F16), and LAION, its maker",
   "Stable Diffusion and Stability AI (F17, F31)",
   "ai.txt and Kudurru, Spawning's other tools (F6, F35)",
   "Source.Plus, the title of spawning.ai on 2026-11-01 (F44)",
   "OpenAI's CLIP model (F21)",
   "Hugging Face, DeviantArt, Midjourney and OpenAI as honouring or not (F8, F31, F32)",
   "Mentionable and ToolCenter, the publishers of cards 1 and 4 (F3, F12, F38)",
   "Glaze and Nightshade (University of Chicago), named by card 4 as complements"
  ]
 },
 "notes": [
  "One address, Google AI Overview (expanded), signed out, incognito, 2026-11-01: have-i-been-trained-aio-20261101 (OBS-6b7b0d5e4e44, ADDR-4396c898c58e, AXN:0BB4.CAPTURE.●🍂🌪️🕕🃏🌳), four cards, 154 words in the answer body with a closing offer, 10 markers. A NEW address (CAP-1-13); no card cites the census or the archive.",
  "Fetching: cards 1 and 4 saved verbatim with curl and the census agent 'Mozilla/5.0 (compatible; traininglayerliterature-census)' on 2026-11-01 at 15:13 UTC. Cards 2 (Facebook) and 3 (YouTube video) found by no search on their titles and sites; recorded unreachable, their title and snippet (card 2) or title (card 3) their only text; Facebook and YouTube were not fetched by any other route. The own pages are the census's saved copies (05:07 UTC); a refetch of haveibeentrained.com at 15:21:44 UTC returned the same maintenance page (tries/hibt-home-refetch.html; identical but for Cloudflare's email-protection token). Wikipedia: no article under five titles (HTTP 404); its search API refused with HTTP 429 twice (recorded; not pursued).",
  "Pools (v0.10 §0.3, §3.1(a)): B_D = B1–B4 (39 claims), B_R = B5–B8 (6 claims). The body's link on 'Have I Been Trained?' is an opaque Google redirect; the service's own address is not entered in B_D on it and stands in B_R as the census own page. T against L_F(B_D) uses B1–B4; B5–B8 enter L_F(B) and L(B ∪ A) only.",
  "Census fields a fetched source shows out of date or fills (reported to the operator; left as they stand): (1) kind 'not recorded in the saved sources', method, unit and record.readback 'not recorded': cards 1 and 4 state the kind (a web search of LAION-5B, F1, F16, F39), the method (CLIP embeddings and nearest neighbours, F21), the unit (an image-text pair; results with thumbnail, similarity score, caption and source URL, F23) and the readback (search by text or uploaded image, F4); (2) record.name 'not recorded': card 4 states that images captioned without the maker's name may be missed by a text search (F28); (3) operator gives the wordmark only: card 4 names the founders Mat Dryhurst and Holly Herndon (F18); (4) count 'not stated': card 4 gives over 80 million registry entries (2026, unsourced there, F30) and LAION-5B's 5.8 billion pairs (F16); (5) does_not_answer 'whether any trainer respects the registry': card 4 lists Stability AI (partly), Hugging Face and some academic researchers as honouring it and Midjourney and OpenAI as not (F31, F32), unsourced there; card 1 records DeviantArt's integration (F8); (6) unchecked 'the name ... does not appear in the saved text; it is taken from the domain': the name is on cards 1, 2 and 4; (7) unchecked meta description 'Data Governance for Generative AI': verbatim in the saved HTML (F42), checked here. The census's fields about the day (paused, maintenance) stand, confirmed by this row's refetch at 15:21 UTC.",
  "Capture findings the field ledger qualifies (reported to the operator; left as they stand): (1) findings[1] 'Neither the dataset nor the figure is on a saved page': true of the census's saved pages; both are on card 1 (F1, LAION-5B) and card 4 (F16, LAION-5B and 'approximately 5.8 billion image-text pairs'), whose saved texts this row holds, so the composition took them from its own disclosed cards. (2) findings[2] 'The composition addresses it to the maker of a work': the cards already address the registry to creators (F7 card 1 'lets creators register their work'; F24 card 4 'Register with the \"Do Not Train\" registry — a signal to model trainers'), so the turn is from the own page's addressee (B_R) to the cards' (B_D); the finding's 'says it blocks' is a force raised over card 4's 'consent signal, not an enforcement mechanism' (F33) and card 1's 'help creators prevent' (F2). (3) findings[3]: the limitation to images and the robots.txt advice for text are card 1's own (F10, F11), nearly verbatim; the finding's reading of them stands as the registry's.",
  "Within the archive (not a defect; recorded for the operator): #127 (SPXI-TLP v2.2, Layer 7) prescribes robots.txt rules that disallow GPTBot, CCBot, Google-Extended, Applebot-Extended, ClaudeBot and PerplexityBot with 'ai-train=no' on controlled domains, while #1's robots.txt welcomes AI crawlers to the data directories and the colophon on some 150 deposits declares them intended for inclusion in AI training corpora. Both are composed as the archive states them (P_coh), with #127's own frame ('Assume ingestion'; Layer 7 'legal and reputational hygiene, not technical defense'; attribution required in reuse including AI training).",
  "Homonyms: none on the rail; T composes no other entity under 'Have I Been Trained'. 'Spawning' alone is a common word in the archive (sub-agent spawning) and was not an alias.",
  "Not run: scripts/build_non.py (only --check), scripts/non_axn.py; panel.json not edited; the session seats the panel entry, mints the AXN (0BB4) and builds the pages."
 ],
 "composition": {
  "source": "this row (composed directly under the brief rebuild/negative-of-the-negative/v010/BRIEF-NEW-ROW-LAYER.md)",
  "composer": "Claude (Opus 5.5), subagent, 2026-11-01",
  "spec": "EA-NEGONT-02 v0.10 (#1726)",
  "defining_material_read": [
   {
    "what": "the specification v0.10",
    "file": "data/texts/AXN-0B79-text.md",
    "read": "§0–§11 whole (the procedure); appendices by heading"
   },
   {
    "what": "the briefs",
    "file": "rebuild/negative-of-the-negative/v010/BRIEF-NEW-ROW-LAYER.md (and BRIEF-NEW-ROW-AUTHORSHIP.md); v09/BRIEF-NEW-ROW-AGGREGATOR.md, BRIEF-NEW-ROW-LABOR.md, BRIEF-NEW-ROW-LEFT.md",
    "read": "whole"
   },
   {
    "what": "traininglayerliterature.org layer census record, row",
    "file": "/home/claude/fleet/traininglayerliterature-org/data/layer-census/census.json (rows[slug == 'spawning-hibt'], organizing_question, admission_rule, areas, anchor, schema_note); data/layer-census/rows/spawning-hibt.py",
    "read": "whole"
   },
   {
    "what": "census sources",
    "file": "/home/claude/fleet/traininglayerliterature-org/data/layer-census/sources/spawning-hibt--home.*, --faq.*, --spawning.*, manifest.json",
    "read": "whole"
   },
   {
    "what": "the capture",
    "file": "data/EA-WG-CAPTURES-01.json entries[slug == have-i-been-trained-aio-20261101]",
    "read": "whole (transcript read for T and the delta only)"
   },
   {
    "what": "field texts",
    "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B1–B8",
    "read": "whole"
   },
   {
    "what": "#186 Who Is Writing for the Machines?",
    "file": "data/texts/AXN-032C-text.md",
    "read": "whole"
   },
   {
    "what": "#1543 Generative Uptake",
    "file": "data/texts/AXN-0642-text.md",
    "read": "§1, §10 and the passages on training, membership and the training loop"
   },
   {
    "what": "#1075, #127, #914, #835, #1223, #720, #717, #599, #49, #45, #206, #1, #787, #102, #928, #1722",
    "file": "data/texts (by registry hex)",
    "read": "at the candidate loci and their sections; #1075 abstract and §0; #127 §I, §V.1, Layers 6–8, colophon"
   },
   {
    "what": "the exemplar row",
    "file": "datasets/negative-of-the-negative/v2/rows/viaf.json (its ledgers, reading, config and its builder in the scratchpad)",
    "read": "structure field by field"
   }
  ],
  "cuts": [],
  "notes": "equal case; KO 37 sentences, 45 of 45 field and 75 of 75 archive claims cited; P body 283 words"
 },
 "composition_v09": {
  "source": "this row (composed directly under the brief rebuild/negative-of-the-negative/v010/BRIEF-NEW-ROW-LAYER.md)",
  "composer": "Claude (Opus 5.5), subagent, 2026-11-01",
  "spec": "EA-NEGONT-02 v0.10 (#1726)",
  "defining_material_read": [
   {
    "what": "the specification v0.10",
    "file": "data/texts/AXN-0B79-text.md",
    "read": "§0–§11 whole (the procedure); appendices by heading"
   },
   {
    "what": "the briefs",
    "file": "rebuild/negative-of-the-negative/v010/BRIEF-NEW-ROW-LAYER.md (and BRIEF-NEW-ROW-AUTHORSHIP.md); v09/BRIEF-NEW-ROW-AGGREGATOR.md, BRIEF-NEW-ROW-LABOR.md, BRIEF-NEW-ROW-LEFT.md",
    "read": "whole"
   },
   {
    "what": "traininglayerliterature.org layer census record, row",
    "file": "/home/claude/fleet/traininglayerliterature-org/data/layer-census/census.json (rows[slug == 'spawning-hibt'], organizing_question, admission_rule, areas, anchor, schema_note); data/layer-census/rows/spawning-hibt.py",
    "read": "whole"
   },
   {
    "what": "census sources",
    "file": "/home/claude/fleet/traininglayerliterature-org/data/layer-census/sources/spawning-hibt--home.*, --faq.*, --spawning.*, manifest.json",
    "read": "whole"
   },
   {
    "what": "the capture",
    "file": "data/EA-WG-CAPTURES-01.json entries[slug == have-i-been-trained-aio-20261101]",
    "read": "whole (transcript read for T and the delta only)"
   },
   {
    "what": "field texts",
    "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B1–B8",
    "read": "whole"
   },
   {
    "what": "#186 Who Is Writing for the Machines?",
    "file": "data/texts/AXN-032C-text.md",
    "read": "whole"
   },
   {
    "what": "#1543 Generative Uptake",
    "file": "data/texts/AXN-0642-text.md",
    "read": "§1, §10 and the passages on training, membership and the training loop"
   },
   {
    "what": "#1075, #127, #914, #835, #1223, #720, #717, #599, #49, #45, #206, #1, #787, #102, #928, #1722",
    "file": "data/texts (by registry hex)",
    "read": "at the candidate loci and their sections; #1075 abstract and §0; #127 §I, §V.1, Layers 6–8, colophon"
   },
   {
    "what": "the exemplar row",
    "file": "datasets/negative-of-the-negative/v2/rows/viaf.json (its ledgers, reading, config and its builder in the scratchpad)",
    "read": "structure field by field"
   }
  ],
  "cuts": [],
  "notes": "equal case; KO 37 sentences, 45 of 45 field and 75 of 75 archive claims cited; P body 283 words"
 },
 "field_by_origin": {
  "cards": [
   "B1",
   "B2",
   "B3",
   "B4"
  ],
  "body_named": [],
  "body_named_note": "T's body links the words 'Have I Been Trained?' to an opaque Google redirect (google.com/goto?url=…, its target encrypted and not recoverable from the paste) and names Spawning AI, LAION-5B, Stable Diffusion, GPTBot and Google-Extended as entities; it names no source beyond its four cards, and its markers point to the cards. The service's own address is not entered in B_D on an unrecoverable link: it stands in B_R as the census own page.",
  "own_pages": [
   "B5",
   "B6",
   "B7"
  ],
  "wikipedia": [
   "B8"
  ],
  "census_third_party": [],
  "unreachable": [
   "B2",
   "B3"
  ],
  "title_only": [
   "B3"
  ],
  "snippet_only": [
   "B2"
  ],
  "wikipedia_state": "no article: 'Have I Been Trained?' rendered page HTTP 404 ('Wikipedia does not have an article with this exact name.'), 2026-11-01T15:12:45Z; raw wikitext HTTP 404 for 'Have_I_Been_Trained?', 'Have_I_Been_Trained', 'Spawning_(company)', 'Spawning_AI', 'Haveibeentrained.com'; the search API refused with HTTP 429 twice (recorded, not pursued). B8 records the absence, in B_R.",
  "pools": {
   "B_D": [
    "B1",
    "B2",
    "B3",
    "B4"
   ],
   "B_R": [
    "B5",
    "B6",
    "B7",
    "B8"
   ],
   "note": "v0.10 §0.3, §3.1(a): B_D, every card on the rail (no source named in the body beyond the cards); B_R, the reference pool: the census's three own pages (haveibeentrained.com, its /faq, spawning.ai) and the record of Wikipedia's absence. T against L_F(B_D) uses B1–B4 alone."
  },
  "sources": [
   {
    "id": "B1",
    "origin": "card",
    "pool": "B_D",
    "role": "Overview card 1",
    "card": "Mentionable AI — Have I Been Trained? Free Tool to Check AI Training Data (2026)",
    "url": "https://mentionable.ai/en/blog/have-i-been-trained-audit-tool",
    "kind": "Overview card (a blog post of Mentionable, an AI-visibility tracking vendor; by Alexandre Rastello, its founder; published 3 April 2026, updated 24 September 2026)",
    "files": {
     "B1.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B1.html",
      "sha256": "c05ecc0cc700da467925841be14cdfb6fa22153f8c984c4aef94f3f736cb23c3"
     },
     "B1.txt": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B1.txt",
      "sha256": "79b505ffaed18157fee0127de06d63a7938bca3618700b1e18d5155989accea9"
     }
    },
    "fetched": {
     "at": "2026-11-01T15:13:18Z",
     "http": 200,
     "url": "https://mentionable.ai/en/blog/have-i-been-trained-audit-tool",
     "raw": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B1.html",
     "raw_sha256": "c05ecc0cc700da467925841be14cdfb6fa22153f8c984c4aef94f3f736cb23c3",
     "text": [
      "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B1.txt"
     ],
     "agent": "Mozilla/5.0 (compatible; traininglayerliterature-census)"
    },
    "names_operator": "yes ('Have I Been Trained by Spawning AI'; 'The tool was built by Spawning AI')",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "URL found by WebSearch (extended) on the card's site and title; the page's <title> is the card title with ' | Mentionable'. The card snippet ('Key Takeaways You publish an article. It gets indexed. …') joins the page's heading 'Key Takeaways' to its first body paragraph.",
    "searches": [
     "WebSearch '\"Have I Been Trained? Free Tool to Check AI Training Data\" Mentionable'",
     "WebSearch (extended) 'mentionable \"Have I Been Trained\" AI training data free tool'"
    ],
    "surfaced_by_T": [
     {
      "slug": "have-i-been-trained-aio-20261101",
      "card": 1
     }
    ],
    "card_title": "Have I Been Trained? Free Tool to Check AI Training Data (2026)",
    "card_snippet": "Key Takeaways You publish an article. It gets indexed. It ranks on Google. Then one day you wonder: did an AI model just... learn from it? Is your content sitti..."
   },
   {
    "id": "B2",
    "origin": "card",
    "pool": "B_D",
    "role": "Overview card 2",
    "card": "Facebook — What happened to have i been trained website? - Facebook",
    "url": null,
    "kind": "Overview card (a Facebook post or group thread; its URL not found)",
    "files": {},
    "fetched": {
     "at": null,
     "http": null,
     "url": null,
     "result": "unreachable: no URL found for the card by its title and site (two web searches, one extended); Facebook was not fetched by any other route; the card's title and snippet are its only text"
    },
    "names_operator": "no",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "The card's title asks what happened to the website; its snippet opens 'Have I Been Trained? Any AI system is only as good as the data it is given.' Recorded unreachable (§3.1(a)); title and snippet stand as its text.",
    "searches": [
     "WebSearch '\"What happened to have i been trained website\" facebook'",
     "WebSearch (extended) 'facebook \"What happened to have i been trained\" \"Any AI system is only as good as the data it is given\"'",
     "WebSearch '\"have i been trained website\" facebook group what happened'"
    ],
    "surfaced_by_T": [
     {
      "slug": "have-i-been-trained-aio-20261101",
      "card": 2
     }
    ],
    "card_title": "What happened to have i been trained website? - Facebook",
    "card_snippet": "Have I Been Trained? Any AI system is only as good as the data it is given. AI image generation is only possible after “training” a model on vast amounts of ima..."
   },
   {
    "id": "B3",
    "origin": "card",
    "pool": "B_D",
    "role": "Overview card 3 (video)",
    "card": "YouTube·AI Samson — 99% of People Don't Know If They Are In The AI Art Database",
    "url": null,
    "kind": "Overview card (a YouTube video by AI Samson, 5:23; no snippet)",
    "files": {},
    "fetched": {
     "at": null,
     "http": null,
     "url": null,
     "result": "unreachable: no URL found for the video by its title and channel (two web searches, one extended; one result is a third-party blog page bearing the same title, delightfuldesignstudio.com, not the card's source and not admitted); no transcript fetched; admitted through its title alone (the card carries no snippet), §3.1(a)"
    },
    "names_operator": "no",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "A video card with title and duration only.",
    "searches": [
     "WebSearch '\"99% of People Don't Know If They Are In The AI Art Database\" AI Samson'",
     "WebSearch 'AI Samson youtube \"AI Art Database\" have i been trained'",
     "WebSearch (extended) 'youtube.com \"99% of People Don't Know If They Are In The AI Art Database\"'"
    ],
    "surfaced_by_T": [
     {
      "slug": "have-i-been-trained-aio-20261101",
      "card": 3
     }
    ],
    "card_title": "99% of People Don't Know If They Are In The AI Art Database",
    "card_snippet": null
   },
   {
    "id": "B4",
    "origin": "card",
    "pool": "B_D",
    "role": "Overview card 4",
    "card": "www.toolcenter.ai — Have I Been Trained? Review 2026",
    "url": "https://www.toolcenter.ai/en/articles/have-i-been-trained-review-2026",
    "kind": "Overview card (a review by the ToolCenter Editorial Team, a directory of AI tools; dated 26 March 2026, 'Last updated: March 2026')",
    "files": {
     "B4.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B4.html",
      "sha256": "23c0f0ce8317f494056973f789276e95a0646dd04040811103c3c84009e49c2a"
     },
     "B4.txt": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B4.txt",
      "sha256": "570529bb0231439d5f46513a8d0f318c55b43d0140a54c4a1fd12445eba4c8d7"
     }
    },
    "fetched": {
     "at": "2026-11-01T15:13:19Z",
     "http": 200,
     "url": "https://www.toolcenter.ai/en/articles/have-i-been-trained-review-2026",
     "raw": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B4.html",
     "raw_sha256": "23c0f0ce8317f494056973f789276e95a0646dd04040811103c3c84009e49c2a",
     "text": [
      "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B4.txt"
     ],
     "agent": "Mozilla/5.0 (compatible; traininglayerliterature-census)"
    },
    "names_operator": "yes ('built by Spawning AI'; 'a company founded by artists Mat Dryhurst and Holly Herndon')",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "URL found by WebSearch on the card title (the English page; a Chinese edition at /zh/ also listed). The card snippet ('What Is Have I Been Trained? Have I Been Trained? is a web-based search tool …') is the page's heading and first sentence, verbatim.",
    "searches": [
     "WebSearch '\"Have I Been Trained? Review 2026\" toolcenter.ai'",
     "WebSearch '\"Have I Been Trained? Free Tool to Check AI Training Data\" Mentionable' (returned the toolcenter URL)"
    ],
    "surfaced_by_T": [
     {
      "slug": "have-i-been-trained-aio-20261101",
      "card": 4
     }
    ],
    "card_title": "Have I Been Trained? Review 2026",
    "card_snippet": "What Is Have I Been Trained? Have I Been Trained? is a web-based search tool that lets you query the LAION-5B dataset — a collection of approximately 5.8 billio..."
   },
   {
    "id": "B5",
    "origin": "own_page",
    "pool": "B_R",
    "role": "the census own page spawning-hibt--home; not surfaced by T",
    "card": "haveibeentrained.com, the home page (census own page)",
    "url": "https://haveibeentrained.com/",
    "kind": "the entity's own page (haveibeentrained.com, the home page), saved by the census",
    "files": {
     "B5.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B5.html",
      "sha256": "40dc9cb4a48518b85524cdeec13823f44116f6556123f1534bc67260b0dfe64b"
     },
     "B5.txt": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B5.txt",
      "sha256": "69713770ff71bb2ddc55ca66477f3a45f3228eaeabf0a453af9035224938d60b"
     }
    },
    "fetched": {
     "at": "2026-11-01T05:07:05Z",
     "http": 200,
     "url": "https://haveibeentrained.com/",
     "raw": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B5.html",
     "raw_sha256": "40dc9cb4a48518b85524cdeec13823f44116f6556123f1534bc67260b0dfe64b",
     "text": [
      "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B5.txt"
     ],
     "census_copy": {
      "src": "spawning-hibt--home",
      "sha256": "40dc9cb4a48518b85524cdeec13823f44116f6556123f1534bc67260b0dfe64b",
      "read": "2026-11-01",
      "agrees": true
     }
    },
    "names_operator": "yes (the wordmark 'Spawning')",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "Copied from the census's saved copy (gunzipped; sha256 matching the manifest); Bn.txt is the census's text. A reference source: it shows nothing of what T had before it (§0.3). Refetched by this row at 2026-11-01T15:21:44Z with the census agent: HTTP 200, the same maintenance page (identical but for Cloudflare's email-protection token; tries/hibt-home-refetch.html, sha256 eb4193360f4905a6…).",
    "surfaced_by_T": []
   },
   {
    "id": "B6",
    "origin": "own_page",
    "pool": "B_R",
    "role": "the census own page spawning-hibt--faq; not surfaced by T",
    "card": "haveibeentrained.com/faq (census own page)",
    "url": "https://haveibeentrained.com/faq",
    "kind": "the entity's own page (haveibeentrained.com/faq), saved by the census",
    "files": {
     "B6.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B6.html",
      "sha256": "6ca4efeb6186770e9499b142d406d04ec12f8f9a87addb1be1e25042dd23a45c"
     },
     "B6.txt": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B6.txt",
      "sha256": "69713770ff71bb2ddc55ca66477f3a45f3228eaeabf0a453af9035224938d60b"
     }
    },
    "fetched": {
     "at": "2026-11-01T05:07:06Z",
     "http": 200,
     "url": "https://haveibeentrained.com/faq",
     "raw": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B6.html",
     "raw_sha256": "6ca4efeb6186770e9499b142d406d04ec12f8f9a87addb1be1e25042dd23a45c",
     "text": [
      "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B6.txt"
     ],
     "census_copy": {
      "src": "spawning-hibt--faq",
      "sha256": "6ca4efeb6186770e9499b142d406d04ec12f8f9a87addb1be1e25042dd23a45c",
      "read": "2026-11-01",
      "agrees": true
     }
    },
    "names_operator": "yes (the wordmark 'Spawning')",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "Copied from the census's saved copy (gunzipped; sha256 matching the manifest); Bn.txt is the census's text. A reference source: it shows nothing of what T had before it (§0.3).",
    "surfaced_by_T": []
   },
   {
    "id": "B7",
    "origin": "own_page",
    "pool": "B_R",
    "role": "the census own page spawning-hibt--spawning; not surfaced by T",
    "card": "spawning.ai, the operator's home page (census own page)",
    "url": "https://spawning.ai/",
    "kind": "the entity's own page (spawning.ai, the operator's home page), saved by the census",
    "files": {
     "B7.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B7.html",
      "sha256": "4a4f112763b533a20c18ba63faff22550b7228c5df8dc7ca70f10b13385fc8f0"
     },
     "B7.txt": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B7.txt",
      "sha256": "69e504e6af2fcb57b50f3b7183ac327ba6ae2a9ba1971474d41577a7a633a34b"
     }
    },
    "fetched": {
     "at": "2026-11-01T05:07:06Z",
     "http": 200,
     "url": "https://spawning.ai/",
     "raw": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B7.html",
     "raw_sha256": "4a4f112763b533a20c18ba63faff22550b7228c5df8dc7ca70f10b13385fc8f0",
     "text": [
      "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B7.txt"
     ],
     "census_copy": {
      "src": "spawning-hibt--spawning",
      "sha256": "4a4f112763b533a20c18ba63faff22550b7228c5df8dc7ca70f10b13385fc8f0",
      "read": "2026-11-01",
      "agrees": true
     }
    },
    "names_operator": "yes (the wordmark 'Spawning')",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "Copied from the census's saved copy (gunzipped; sha256 matching the manifest); Bn.txt is the census's text. A reference source: it shows nothing of what T had before it (§0.3). The census reads 71 characters of text here, below its reading threshold, unquoted; the page's <title> is 'Source.Plus' beside the Spawning wordmark.",
    "surfaced_by_T": []
   },
   {
    "id": "B8",
    "origin": "wikipedia",
    "pool": "B_R",
    "role": "the entity's Wikipedia article: none (the record of its absence)",
    "card": "Wikipedia — Have I Been Trained? (no article)",
    "url": "https://en.wikipedia.org/wiki/Have_I_Been_Trained%3F",
    "kind": "Wikipedia's page for a title without an article",
    "files": {
     "B8.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B8.html",
      "sha256": "18100c141d518c05670a353622ce0cb4f2beabed722d34b6ad5f84210d839615"
     },
     "B8.txt": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B8.txt",
      "sha256": "36c5331fa04669d2d99fd35002ad07b7b9b660d83c4663394f7243e94279c1b4"
     },
     "B8.raw.html": {
      "path": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B8.raw.html",
      "sha256": "0c41c9873c1d2d6cb81bdd246623ad7092b4d9e7228a843d9442ee90384b1b9c"
     }
    },
    "fetched": {
     "at": "2026-11-01T15:12:45Z",
     "http": 404,
     "url": "https://en.wikipedia.org/wiki/Have_I_Been_Trained%3F",
     "raw": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B8.html",
     "raw_sha256": "18100c141d518c05670a353622ce0cb4f2beabed722d34b6ad5f84210d839615",
     "text": [
      "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/B8.txt"
     ],
     "result": "no article: the rendered page HTTP 404 ('Wikipedia does not have an article with this exact name.'); raw wikitext HTTP 404 for 'Have_I_Been_Trained?' (2026-11-01T15:12:28Z), 'Have_I_Been_Trained' (15:12:30Z), 'Spawning_(company)' and 'Spawning_AI' (15:12:32Z), 'Haveibeentrained.com' (15:12:34Z), each a Wikimedia error page (tries/wp-*.raw); the search API answered HTTP 429 (too many requests) at 15:12:45Z and again at 15:13:48Z, one retry with the same agent, recorded and not pursued",
     "tries": [
      {
       "title": "Have_I_Been_Trained?",
       "http": 404,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-Have_I_Been_Trained_3F_.raw",
       "sha256": "0c41c9873c1d2d6cb81bdd246623ad7092b4d9e7228a843d9442ee90384b1b9c"
      },
      {
       "title": "Have_I_Been_Trained",
       "http": 404,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-Have_I_Been_Trained_.raw",
       "sha256": "77adeb7af839030081d57f10b18d4b79d98b38232a3298966184570ca1f74155"
      },
      {
       "title": "Spawning_(company)",
       "http": 404,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-Spawning__company__.raw",
       "sha256": "2f123dbdbe5db86d639cb97353812b24d65f65719a8de87b15ede370bd8994f6"
      },
      {
       "title": "Spawning_AI",
       "http": 404,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-Spawning_AI_.raw",
       "sha256": "bb8088f42d8c7b431930e4e91cbec4e1658aeb5dc65a406d74cb1aa2a617fd1d"
      },
      {
       "title": "Haveibeentrained.com",
       "http": 404,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-Haveibeentrained_com_.raw",
       "sha256": "db5048dde19d292d21146493ab4f5f3f5c4a66af9ed0809d7521cea95ba005c1"
      },
      {
       "api": "list=search srsearch=\"Have I Been Trained\"",
       "http": 429,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-search.json"
      },
      {
       "api": "retry",
       "http": 429,
       "file": "datasets/negative-of-the-negative/v2/intake/have-i-been-trained-20261101/tries/wp-search-retry.json"
      }
     ]
    },
    "names_operator": "no",
    "names_archive": "no (none of the Crimson Hexagonal Archive, Alexanarch, Lee Sharks, traininglayerliterature, EA-WG-CAPTURES-01 in the saved text, card title and snippet)",
    "note": "The record of the absence is a fact of the row (§3.1(a)): neither the service nor its operator has an English Wikipedia article under these titles on 2026-11-01.",
    "surfaced_by_T": []
   }
  ]
 },
 "derivatives": {
  "kernel": {
   "status": "composer-written",
   "derived_from": "the current composition, written by its composer under the brief",
   "note": "§8.2 derives the kernel mechanically from the frozen plan; this one was written by the composer, mechanical derivation pending."
  },
  "delta": {
   "status": "current",
   "derived_from": "the current composition"
  }
 }
}