# Finding 048: Perplexity incognito did not fetch the hidden structured-data conflict fixture

## Date

2026-06-30

## Status

Published

## Summary

Perplexity was run against p21,
`manual-client-perplexity-20260625-001-p21`, in a fresh Perplexity native
incognito thread. 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`.

Perplexity returned `fetched:false`, `pages_opened:[]`, and said it could not
open the target URL in the current client. The bounded origin review found no
matching direct-origin event for the exact attempt id,
`/lab/reading/hidden-structured-data-conflict`, `/robots.txt`, root, or
Perplexity-origin traffic during the prompt window.

## What does this mean?

For site owners and researchers, this run shows a clean no-retrieval outcome from a Perplexity chat even when the page is public, reachable, and contains visible, metadata, and JSON-LD signals. In this attempt, the assistant surface did not return page content and the site logs did not show a matching Perplexity request, so there is no evidence that the visible code or hidden structured data was inspected.

## Method

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

Before submitting the prompt, the exact target URL was checked with `curl`.
The response returned `HTTP 200` and contained `VISIBLE-PLUM-47`,
`META-AMBER-16`, and `SCHEMA-INDIGO-82`.

Perplexity was opened at `https://www.perplexity.ai/` in the
OpenClaw-controlled Chrome profile. The UI showed `kai bot`, Free plan, Search
enabled, a native incognito banner, and an `Exit incognito` control before
prompt submission. The prompt was submitted in a fresh incognito thread at
`/search/new/f4b15935-17f6-4316-a17d-d1181dd7b428`, not an old conversation.

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

## Result

| Field | Value |
|---|---|
| Attempt ID | manual-client-perplexity-20260625-001-p21 |
| Client | Perplexity (perplexity-web) |
| Visible model/context | Free plan, Search enabled, native incognito thread, generic Model selector |
| Source prompt | reading-hidden-structured-data-conflict |
| Fetched | false |
| Pages opened | 0 |
| Direct-origin events | 0 inside prompt window |
| Raw event ids | none |
| Bounded window | 2026-06-30T23:16:41Z - 2026-06-30T23:17:20Z |
| Confirmed hit from prompt | false |
| Confirmation status | registered_no_hit |

## Raw response

```json
{
  "attempt_id": "manual-client-perplexity-20260625-001-p21",
  "source_prompt_id": "reading-hidden-structured-data-conflict",
  "prompt_code": "manual-client-perplexity-20260625-001-p21",
  "ai_system": "Perplexity",
  "fetched": false,
  "pages_opened": [],
  "answer": "I could not open the target URL in this client, so I cannot report visible page code, meta description, or JSON-LD from the page.",
  "evidence_quote": "I could not open the target URL in this client",
  "limitations": "This client did not provide direct link-opening or page-fetching access for the target URL, so the page contents were not retrievable.",
  "confidence": 0.96
}
```

## Origin evidence

```json
{
  "timestampWindow": {
    "startedAt": "2026-06-30T23:16:41Z",
    "endedAt": "2026-06-30T23:17:20Z"
  },
  "sourcePromptId": "reading-hidden-structured-data-conflict",
  "promptCode": "manual-client-perplexity-20260625-001-p21",
  "confirmedHitFromPrompt": false,
  "rawEventIds": [],
  "events": [],
  "preflightEvents": [
    {
      "id": "mr19k94i-2lyv3dxw",
      "timestamp": "2026-06-30T23:14:20.870Z",
      "eventType": "server_page",
      "path": "/lab/reading/hidden-structured-data-conflict",
      "userAgent": "curl/8.7.1",
      "ip": "::ffff:192.168.1.1"
    }
  ],
  "resourceCounts": {
    "htmlPageRequests": 0,
    "robotsRequests": 0,
    "rootRequests": 0,
    "trackingPixelFetches": 0,
    "nonPixelSubresources": 0,
    "clientCapabilityEvents": 0
  }
}
```

## Interpretation

This run does not show Perplexity reading the p21 target page. The response
reported that the URL could not be opened, and the bounded origin logs had no
exact attempt id, fixture-path request, `/robots.txt` request, root request, or
PerplexityBot event during the prompt window.

This differs from Finding 044 for p20, where Perplexity also returned a
target-page no-hit but PerplexityBot touched `/robots.txt` and `/`. In this
p21 attempt, no ancillary origin activity appeared inside the reviewed window.
Because no page content was retrieved, the run cannot compare Perplexity's
treatment of visible page text, meta description, or JSON-LD.

## Limitations

- This finding covers one Perplexity run, one account/session, one native
  incognito thread, and one fixture.
- The prompt supplied the exact target URL, so the run tests direct opening,
  not independent discovery.
- The Perplexity UI exposed a generic `Model` selector but not a precise model
  name in the captured snapshot.
- The recorded start and end times are operator-side bounds around submission
  and final answer observation, not service-internal fetch timestamps.
- Origin review used local `data/events.json` during the bounded window; it
  would not capture a delayed target fetch outside that window.

## Publication Thesis Verification

- Thesis: Perplexity native incognito did not fetch the p21 hidden
  structured-data conflict fixture during this controlled-browser attempt and
  left no prompt-window origin activity.
- Source: Fresh Perplexity incognito response, generated response artifact,
  browser-task artifact, preflight output, and bounded `data/events.json`
  review.
- Method: Exact public target preflight, controlled-browser use of a fresh
  Perplexity incognito thread, prompt submission, exact attempt-id review,
  fixture-path review, `/robots.txt` review, root-path review, Perplexity
  user-agent review, and bounded timestamp-window correlation.
- Bias: Single run, Free plan, generic model selector, and Perplexity's
  retrieval implementation may vary by account, region, product surface, or
  time.
- Consensus: Consistent with prior Perplexity target-page no-hit findings, but
  narrower than p20 because this reviewed window had no ancillary robots or
  root activity.
- Invalidation: A raw event for the exact attempt id, fixture path,
  `/robots.txt`, root, or Perplexity-origin traffic inside the same prompt
  window; a response artifact from the same attempt showing retrieved page
  content; or a fixture/preflight mismatch would weaken this result.
- Verdict: Supported for this run. The model response, preflighted fixture,
  and empty bounded origin review align with a clean no-hit.
- Additional tests suggested: run p21 for ChatGPT and Copilot/Bing, then
  compare Perplexity p20 and p21 to see whether ancillary root/robots activity
  remains intermittent.

## Next steps

- Continue the remaining p21 controlled-browser tasks for ChatGPT and
  Copilot/Bing.
- Compare the p21 client set against p20 after all remaining clients are
  logged and covered by findings.
