# Provenance

URL: /products/data/provenance · Id: `page:products/data/provenance`

> Every value in a Dataset names its Source and three times, so a buyer reads where a value came from and when it was true, and cites it.

Provenance is where a value came from and when it was true. Every value in a [Dataset](/business/nouns/dataset) carries both, so a buyer can check it, cite it and reproduce it.

## Three times
Each record carries three times, because each answers a different question.

| Field | Answers |
| --- | --- |
| `observedAt` | When the fact was true |
| `publishedAt` | When the [Source](/business/nouns/source) published it |
| `refreshedAt` | When the Dataset last read that Source |

A rate read an hour ago from a bulletin published last month is a fresh read of an old fact. Buyers filter on the time that matters to them: a checkout on `observedAt`, an auditor on `publishedAt`.

## The Source of every value
Every value names the Source it came from and, for a wrapped Source, the terms it was read under. A value two Sources disagreed on also keeps the losing observation, so the choice can be checked.

## Reading the past
Nothing is overwritten. Every `get` takes `at`, a time or a [Version](/business/nouns/version) name, and returns the record as it stood then. [As-of reads](/products/data/as-of-reads) covers reading a whole slice as it stood.

## For agents
An agent that answers with a Dataset's value cites it: the value, its Source and its `observedAt`. The response carries all three, so the agent never has to guess where a number came from.