---
title: "CardFoot"
description: "what was read, the population, the control with what was expected and what was seen, and the position of each count"
section: concepts
address: /concepts/cardfoot
contract: 0476e35e6e275db5
---

# CardFoot

what was read, the population, the control with what was expected and what was seen, and the position of each count

[figure: CardFoot is a value at none scope. The drawing shows its fields and the objects that they point at.]

| property | value |
|---|---|
| kind | value |
| scope | none |
| key | none |
| store | none |
| family | harness |



## Fields


| field | type | required | note |
|---|---|---|---|
| `what_was_read` | `[text]` | yes |  |
| `population` | [PopulationStatement](/concepts/populationstatement) | yes |  |
| `control` | [ControlResult](/concepts/controlresult) | no |  |
| `positions` | `{text:enum:measured \| never measured \| withheld}` | yes |  |
| `as_of` | [TwoDates](/concepts/twodates) | yes |  |
| `tier` | `text` | no | the tier that gave it |
| `read_set` | [TouchedBuckets](/concepts/touchedbuckets) | no | the buckets and snapshots of each table the answer read, so a cached card, a document, a map or a served table knows when its facts changed |



## Routes that use it
No route takes or returns CardFoot directly. The record holds it, and the objects that point at it reach it.
