# app.kiesel.facts.claimReview

> Published by [facts.kiesel.app](https://lexicon.garden/identity/did:plc:7elfhdwxzvsqib4wmfn3zra7)

## Description

A fact-check published by an independent publisher about a single claim. atproto-native equivalent of schema.org/ClaimReview. The actor writing this record is the *publisher* (a fact-checker), not the labeler.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7elfhdwxzvsqib4wmfn3zra7/app.kiesel.facts.claimReview)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7elfhdwxzvsqib4wmfn3zra7/app.kiesel.facts.claimReview/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7elfhdwxzvsqib4wmfn3zra7/app.kiesel.facts.claimReview/examples)

## Definitions

### `app.kiesel.facts.claimReview`

**Type**: `record`

A single fact-check entry. Each record is one claim reviewed by one publisher, with one rating. Multi-claim articles produce one record per atomic claim. Records are mutable (publishers may correct), so consumers should treat the most recent CID as authoritative.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes | The publisher's article URL — the canonical citation for the verdict text and reasoning. Maps to schema.org/ClaimReview#url. |
| `author` | `ref` → `#publisher` | Yes | The publisher of the fact-check. Maps to schema.org/ClaimReview#author. |
| `subject` | `ref` → `com.atproto.repo.strongRef` | No | Optional strongRef to an atproto record (e.g. a Bluesky post) where the claim was originally made. When set, this enables Constellation-style backlink lookups: 'which fact-checks address this post?'  |
| `sdLicense` | `string` | No | Optional Creative Commons / other licence URL applicable to *this entry's* text. Maps to schema.org/ClaimReview#sdLicense. |
| `inLanguage` | `string` | No | BCP-47 language tag of the fact-check article. Maps to schema.org/ClaimReview#inLanguage. |
| `itemReviewed` | `ref` → `#claim` | No | Provenance of the claim itself — who made it, where. Maps to schema.org/ClaimReview#itemReviewed. |
| `reviewRating` | `ref` → `#rating` | Yes | The publisher's verdict on the claim. Maps to schema.org/ClaimReview#reviewRating. |
| `claimReviewed` | `string` | Yes | The atomic claim being reviewed. Should be a single falsifiable assertion. Maps to schema.org/ClaimReview#claimReviewed. |
| `datePublished` | `string` (datetime) | Yes | When the publisher released this fact-check. Maps to schema.org/ClaimReview#datePublished. |

### `app.kiesel.facts.claimReview#claim`

**Type**: `object`

Provenance of the claim being reviewed — who originally made it. Maps to schema.org/Claim.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `author` | `ref` → `#claimAuthor` | No | Who made the claim. Maps to schema.org/Claim#author. |
| `firstAppearance` | `string` (uri) | No | URL where the claim first appeared (tweet, video, article). |

### `app.kiesel.facts.claimReview#rating`

**Type**: `object`

The publisher's verdict shape — free-text label plus optional numeric scale. Mirrors schema.org/Rating.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `bestRating` | `string` | No | Best possible rating on this scale. Optional. Maps to schema.org/Rating#bestRating. |
| `ratingValue` | `string` | No | Numeric rating as a string (schema.org/Rating uses strings to allow non-integer scales). Optional. Maps to schema.org/Rating#ratingValue. |
| `worstRating` | `string` | No | Worst possible rating on this scale. Optional. Maps to schema.org/Rating#worstRating. |
| `alternateName` | `string` | Yes | Free-text rating as the publisher writes it: 'False', 'Mostly False', 'Falsch', 'Pants on Fire', etc. Maps to schema.org/Rating#alternateName. Consumers normalise to an internal vocabulary at their own discretion. |

### `app.kiesel.facts.claimReview#publisher`

**Type**: `object`

Identification of the fact-checker. Maps to schema.org/Organization.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No | Optional atproto DID of the publisher account, when the publisher operates on atproto. Lets consumers cross-reference to other publisher records (profile, prior reviews). |
| `url` | `string` (uri) | No | Publisher's homepage URL. |
| `name` | `string` | Yes | Display name of the publisher (e.g. 'CORRECTIV', 'PolitiFact'). |

### `app.kiesel.facts.claimReview#claimAuthor`

**Type**: `object`

Identification of the claimant. May be a named individual, organisation, or social-media account.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No | Optional atproto DID of the claimant when they are on atproto. |
| `name` | `string` | No |  |

## Raw Schema

```json
{
  "id": "app.kiesel.facts.claimReview",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "claimReviewed",
          "reviewRating",
          "author",
          "datePublished",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The publisher's article URL — the canonical citation for the verdict text and reasoning. Maps to schema.org/ClaimReview#url."
          },
          "author": {
            "ref": "#publisher",
            "type": "ref",
            "description": "The publisher of the fact-check. Maps to schema.org/ClaimReview#author."
          },
          "subject": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref",
            "description": "Optional strongRef to an atproto record (e.g. a Bluesky post) where the claim was originally made. When set, this enables Constellation-style backlink lookups: 'which fact-checks address this post?' "
          },
          "sdLicense": {
            "type": "string",
            "description": "Optional Creative Commons / other licence URL applicable to *this entry's* text. Maps to schema.org/ClaimReview#sdLicense."
          },
          "inLanguage": {
            "type": "string",
            "description": "BCP-47 language tag of the fact-check article. Maps to schema.org/ClaimReview#inLanguage."
          },
          "itemReviewed": {
            "ref": "#claim",
            "type": "ref",
            "description": "Provenance of the claim itself — who made it, where. Maps to schema.org/ClaimReview#itemReviewed."
          },
          "reviewRating": {
            "ref": "#rating",
            "type": "ref",
            "description": "The publisher's verdict on the claim. Maps to schema.org/ClaimReview#reviewRating."
          },
          "claimReviewed": {
            "type": "string",
            "maxLength": 2000,
            "minLength": 1,
            "description": "The atomic claim being reviewed. Should be a single falsifiable assertion. Maps to schema.org/ClaimReview#claimReviewed.",
            "maxGraphemes": 700
          },
          "datePublished": {
            "type": "string",
            "format": "datetime",
            "description": "When the publisher released this fact-check. Maps to schema.org/ClaimReview#datePublished."
          }
        }
      },
      "description": "A single fact-check entry. Each record is one claim reviewed by one publisher, with one rating. Multi-claim articles produce one record per atomic claim. Records are mutable (publishers may correct), so consumers should treat the most recent CID as authoritative."
    },
    "claim": {
      "type": "object",
      "properties": {
        "author": {
          "ref": "#claimAuthor",
          "type": "ref",
          "description": "Who made the claim. Maps to schema.org/Claim#author."
        },
        "firstAppearance": {
          "type": "string",
          "format": "uri",
          "description": "URL where the claim first appeared (tweet, video, article)."
        }
      },
      "description": "Provenance of the claim being reviewed — who originally made it. Maps to schema.org/Claim."
    },
    "rating": {
      "type": "object",
      "required": [
        "alternateName"
      ],
      "properties": {
        "bestRating": {
          "type": "string",
          "description": "Best possible rating on this scale. Optional. Maps to schema.org/Rating#bestRating."
        },
        "ratingValue": {
          "type": "string",
          "description": "Numeric rating as a string (schema.org/Rating uses strings to allow non-integer scales). Optional. Maps to schema.org/Rating#ratingValue."
        },
        "worstRating": {
          "type": "string",
          "description": "Worst possible rating on this scale. Optional. Maps to schema.org/Rating#worstRating."
        },
        "alternateName": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Free-text rating as the publisher writes it: 'False', 'Mostly False', 'Falsch', 'Pants on Fire', etc. Maps to schema.org/Rating#alternateName. Consumers normalise to an internal vocabulary at their own discretion."
        }
      },
      "description": "The publisher's verdict shape — free-text label plus optional numeric scale. Mirrors schema.org/Rating."
    },
    "publisher": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Optional atproto DID of the publisher account, when the publisher operates on atproto. Lets consumers cross-reference to other publisher records (profile, prior reviews)."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Publisher's homepage URL."
        },
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Display name of the publisher (e.g. 'CORRECTIV', 'PolitiFact')."
        }
      },
      "description": "Identification of the fact-checker. Maps to schema.org/Organization."
    },
    "claimAuthor": {
      "type": "object",
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Optional atproto DID of the claimant when they are on atproto."
        },
        "name": {
          "type": "string",
          "maxLength": 200
        }
      },
      "description": "Identification of the claimant. May be a named individual, organisation, or social-media account."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A fact-check published by an independent publisher about a single claim. atproto-native equivalent of schema.org/ClaimReview. The actor writing this record is the *publisher* (a fact-checker), not the labeler."
}
```
