# Finding 053: Claude incognito fetched the neutral hidden-signal fixture and exposed meta text

## Date

2026-07-01

## Status

Published

## Summary

Claude was run against p22, `manual-client-claude-20260625-001-p22`, in a
fresh native incognito Claude chat. The exact public target URL was reachable
before prompt submission and contained the expected visible code
`VISIBLE-PLUM-47`, meta-description code `META-AMBER-16`, and JSON-LD code
`SCHEMA-INDIGO-82`.

Claude returned `fetched:true`, reported the visible page code
`VISIBLE-PLUM-47`, surfaced the meta-description code `META-AMBER-16`
separately, and said no JSON-LD content appeared in the extracted output it
received. Direct-origin logs confirmed a prompt-window `Claude-User/1.0`
request for `/robots.txt` followed by the exact p22 target page.

## What does this mean?

For site owners and researchers, this run shows that Claude can surface a page's meta description even when the prompt asks only for a neutral page-quality summary and does not lead the model toward hidden metadata. The visible body text and meta description were both available in Claude's extracted view, while JSON-LD that existed in the raw page was still absent, so assistant answers can reflect a partial page extraction rather than a full source-code read.

## Method

- Browser task:
  `research/manual-client-runs/browser-tasks/manual-client-claude-20260625-001-p22.browser-task.json`
- Prompt packet:
  `research/manual-client-runs/manual-client-claude-20260625-001.prompts.json`
- Answer artifact:
  `research/manual-client-runs/manual-client-claude-20260625-001.answers.json`
- Response file:
  `research/manual-client-runs/browser-tasks/responses/manual-client-claude-20260625-001-p22.response.json`

Before submitting the prompt, the exact target URL was checked with `curl`.
The response contained `VISIBLE-PLUM-47`, `META-AMBER-16`, and
`SCHEMA-INDIGO-82`. That preflight request was recorded as operator
fixture-readiness evidence, not AI-client behavior.

Claude was opened at `https://claude.ai/new` in the OpenClaw-controlled Chrome
profile. The UI showed the `Kai` account, Free plan, and `Sonnet 5 Medium`
model selector. The native incognito control was enabled before prompt
submission, and Claude showed the incognito chat notice. The prompt was
submitted in that fresh incognito chat, not an old conversation.

Direct-origin review checked `/api/hits` and `data/events.json` for the exact
attempt id, fixture path, and `/robots.txt` during the bounded prompt window.

## Result

| Field | Value |
|---|---|
| Attempt ID | manual-client-claude-20260625-001-p22 |
| Client | Claude (claude-web) |
| Visible model/context | Sonnet 5 Medium, Free plan, native incognito chat |
| Source prompt | reading-neutral-hidden-signal-summary |
| Fetched | true |
| Pages opened | 1 |
| Direct-origin events | `/robots.txt` and exact target page |
| Raw event ids | `mr1onzr4-98cglfpq`, `mr1oo0g4-amjxa91y` |
| Bounded window | 2026-07-01T06:16:29Z - 2026-07-01T06:17:52Z |
| Confirmed hit from prompt | true |
| Confirmation status | confirmed_hit |

## Raw response

```json
{
  "attempt_id": "manual-client-claude-20260625-001-p22",
  "source_prompt_id": "reading-neutral-hidden-signal-summary",
  "prompt_code": "manual-client-claude-20260625-001-p22",
  "ai_system": "Claude",
  "fetched": true,
  "pages_opened": 1,
  "answer": "I fetched the target URL via my web_fetch tool (which returns extracted/converted page content, not a rendered browser view). I directly observed two code-like tokens: a meta-description code and a visible-HTML code. I did not observe any JSON-LD content in the fetched output, so I cannot confirm a JSON-LD code exists or matches/conflicts with the others. I'm not able to say whether the raw HTML contains hidden elements (e.g., CSS-hidden or JSON-LD blocks) beyond what the extraction surfaced, since my tool provides a converted content view rather than raw source with visible markup regions.",
  "evidence_quote": "meta-description: Hidden structured-data fixture meta code: META-AMBER-16 ... The page quality code is **VISIBLE-PLUM-47**.",
  "limitations": "My fetch tool returns a text/markdown extraction of the page rather than a full rendered DOM or raw HTML source, so I cannot verify presence/absence of hidden elements, CSS visibility rules, or JSON-LD script blocks beyond what appeared in the extracted output. I also cannot distinguish whether any content was selectively hidden from crawlers vs. simply not included in this extraction pipeline.",
  "confidence": "medium"
}
```

## Origin evidence

```json
{
  "timestampWindow": {
    "startedAt": "2026-07-01T06:16:29Z",
    "endedAt": "2026-07-01T06:17:52Z"
  },
  "sourcePromptId": "reading-neutral-hidden-signal-summary",
  "promptCode": "manual-client-claude-20260625-001-p22",
  "confirmedHitFromPrompt": true,
  "rawEventIds": [
    "mr1onzr4-98cglfpq",
    "mr1oo0g4-amjxa91y"
  ],
  "events": [
    {
      "id": "mr1onzr4-98cglfpq",
      "timestamp": "2026-07-01T06:17:09.743Z",
      "eventType": "discovery_file",
      "path": "/robots.txt",
      "userAgent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-User/1.0; +claude-user@anthropic.com)",
      "ip": "::ffff:34.162.230.222"
    },
    {
      "id": "mr1oo0g4-amjxa91y",
      "timestamp": "2026-07-01T06:17:10.490Z",
      "eventType": "server_page",
      "path": "/lab/reading/hidden-structured-data-conflict",
      "query": {
        "id": "manual-client-claude-20260625-001-p22"
      },
      "userAgent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-User/1.0; +claude-user@anthropic.com)",
      "ip": "::ffff:34.162.230.222"
    }
  ],
  "resourceCounts": {
    "htmlPageRequests": 1,
    "robotsRequests": 1,
    "trackingPixelFetches": 0,
    "nonPixelSubresources": 0,
    "clientCapabilityEvents": 0
  }
}
```

## Interpretation

This run confirms that Claude opened the exact p22 target URL during the
bounded prompt window. The neutral prompt did not explicitly ask for metadata
or JSON-LD, but Claude still reported a meta-description code alongside the
visible page code. That supports the narrower conclusion that Claude's
retrieval extraction can include meta-description text without leading prompt
wording.

The served raw HTML contained `SCHEMA-INDIGO-82`, but Claude did not observe
JSON-LD in its extracted output. As with Findings 042 and 047, that absence
should be interpreted as an extraction limitation or unobserved field, not as
proof that the raw page lacked JSON-LD.

## Limitations

- This finding covers one Claude run, one account/session, one model selector
  state, and one fixture.
- The prompt supplied the exact target URL, so the run tests direct opening,
  not independent discovery.
- Claude's visible model selector was `Sonnet 5 Medium`; the backend model or
  retrieval implementation may vary across accounts, regions, or time.
- The recorded start and end times are operator-side bounds around submission
  and final answer observation, not service-internal fetch timestamps.
- Origin review found no tracking-pixel, subresource, or client-capability
  events for this attempt, so this is not evidence of browser-like rendering or
  JavaScript execution.

## Publication Thesis Verification

- Thesis: Claude native incognito chat fetched the p22 neutral hidden-signal
  fixture, exposed visible text and meta-description content, and did not
  expose JSON-LD in its extracted view during this controlled-browser attempt.
- Source: Fresh Claude incognito response, generated response and answer
  artifacts, browser-task artifact, preflight output, and bounded `/api/hits`
  plus `data/events.json` review.
- Method: Exact public target preflight, controlled-browser switch to Claude
  native incognito, prompt submission in a fresh chat, exact attempt-id review,
  fixture-path review, `/robots.txt` review, and bounded timestamp-window
  correlation.
- Bias: Single run, Free plan account, Sonnet 5 Medium selector, and Claude's
  web-fetch extraction path may not represent every Claude product surface,
  model, or tier.
- Consensus: Consistent with Findings 042 and 047, where Claude fetched
  structured-data conflict fixtures, surfaced visible and meta-description
  codes separately, and left JSON-LD unobserved. Contrasts with Finding 052,
  where ChatGPT did not retrieve the same neutral p22 fixture.
- Invalidation: Missing or mismatched raw event ids, a response artifact from
  the same attempt showing a different answer, a timestamp-window mismatch, or
  a served-fixture mismatch would weaken this result.
- Verdict: Supported for this run. The copied Claude answer, matching
  Claude-User origin events, and preflighted fixture contents align.
- Additional tests suggested: decide whether to run Gemini, Perplexity, and
  Copilot/Bing p22 despite their p20/p21 no-hit history, then compare p22 with
  Claude p20 and p21.

## Next steps

- Compare Claude p20, p21, and p22 to isolate what changed with the neutral
  source prompt.
- Decide whether the remaining p22 clients are worth running now or should be
  deferred behind higher-yield confirmed-hit variants.
