> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pool.day/llms.txt
> Use this file to discover all available pages before exploring further.

# Evidence and coverage

> Pool never hands you a bare claim. Every answer says where it came from, how sure it is, and what it could not see.

## Provenance

| provenance | Meaning | How to treat it |
| - | - | - |
| `explicit` | The person said or confirmed it. | A fact. |
| `observed` | Read directly from the capture: a link in the text, a QR code, a barcode, a capture date. | A fact about the capture. |
| `inferred` | A rule or a model produced it. It carries a confidence. | A good guess. Let the person correct it. |
| `unresolved` | Pool has a lead, such as “a product page with a price”, but has not established what it is. | A candidate. Do not act on it alone. |

Pool does not turn patterns into statements about a person. It reports that a product appears in four screenshots this month. It does not report that the person “likes” it.

## Reading evidence

```swift theme={null}
for match in result.matches {
    for id in match.evidenceIDs {
        let evidence = try await pool.context.evidence(id: id, using: grant)
        print(evidence.kind, evidence.extractor, evidence.asset.capturedAt)
    }
}
```

Evidence names the capture, the region of the image when there is one, and the extractor, for example `heuristic.link/1` or `apple.fm.things/1`. The excerpt is present only when the grant includes `.recognizedText`. Evidence never includes the image itself. To show it, load it with PhotoKit from `evidence.asset.locator`, which is the photo's local identifier, under the photo permission your app already holds.

## Coverage

An empty result means “nothing found” only when coverage is complete. Otherwise it means “not seen yet”.

| On Coverage | Meaning |
| - | - |
| `isComplete` | Full photo access, the library listed, and every known capture indexed. |
| `isListed` | False until Pool has listed the library once, for example right after access was granted. `knownAssets` is 0 until then. |
| `permission` | `full`, `limited` (the person picked some photos), `denied` or `notDetermined`. |
| `indexedAssets` / `knownAssets` | Indexing progress. |
| `indexedThrough` | The capture date the index has reached. |
| `windowStart` | Set when your configuration indexes only recent captures. |

## What is held back

Captures that look like identity documents, payment cards, credentials or health records are held back on the device before anything else reads them. They are never returned, never counted as evidence and never sent anywhere. PoolKit never identifies people. Faces are counted, and grouped into unnamed people only under the `.people` category. See [People](https://docs.pool.day/people.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.