<!-- https://zerolog.ch/docs/grounded-search · Docs / Research and security -->
# Live web search and sources

Search the web from a conversation and review citations alongside the answer.

Grounded web search retrieves current pages and checks that cited quotations match their source text.

- **Direct web retrieval:** Searches ZeroLog's own index and fetches pages you or the model name directly. Results depend on what could be retrieved.
- **Guarded fetching:** A fetch follows your account's outbound-network rules. Every redirect is checked again (at most three), internal and private addresses are refused, and a page over 2 MiB or a fetch over 20 seconds fails. A failed page is recorded with its reason instead of being hidden.
- **Your snapshots stay yours:** A fetched page is kept as a snapshot for your chat. Pages fetched for you are not added to the shared search index.
- **Supported citations:** A citation is marked supported only if its quote (at least 12 characters) appears in the page text we retrieved (ignoring case and whitespace differences). A quote that does not appear is flagged as unsupported.

Search results and citations depend on the sources available at the time of the request. Review cited pages before relying on a result.

## From question to a checked citation

Mermaid source of the diagram on this page:

```mermaid
%% Grounded search: from question to checked citation. Facts from server/research.js (fetchSource, verifyClaim), searchrouter.js.
flowchart TB
  q["Your question"]
  f["Find pages<br/>ZeroLog's own index, or<br/>URLs you or the model name"]
  g["Fetch under your account's<br/>outbound rules, each redirect<br/>checked, 2 MiB, 20 s"]
  snap["Snapshot kept for your chat<br/>not added to the shared index"]
  m["Model answers with exact quotes<br/>(at most 25 words)"]
  c{"Quote found in the<br/>retrieved page text?"}
  ok["Supported"]:::hot
  bad["Unsupported, flagged<br/>with the reason"]

  q --> f --> g --> snap --> m --> c
  c -->|yes| ok
  c -->|no| bad

  classDef hot stroke:#8f7ac9
```
