# AI XXX Review data dictionary

Updated: 2026-09-15

This document explains the public JSON resources exposed by AI XXX Review. The canonical aggregate record is [`/data.json`](https://ai-xxx-generator.org/data.json).

## Date semantics

- `initial_publication` or `published_at`: first publication date of the site or record.
- `product_evidence_checked` or `evidence_checked_at`: date on which public provider evidence was actually reviewed.
- `pricing_checked`: date on which displayed price observations were checked.
- `documentation_updated_at` or `updated_at`: date on which the machine or support document changed.
- A newer documentation date does not imply that provider facts were rechecked.

## `/data.json`

The aggregate record provides one machine entry point for:

- site identity, language, geography and audience;
- publication capabilities and limitations;
- current, noindex and intentionally removed routes;
- five reviewed subject records and aliases;
- price amounts, currency, region and billing cadence;
- promotion and countdown eligibility;
- evidence method and missing-data rule;
- browser storage and outbound endpoint behavior;
- adult-content safety boundaries;
- AI-media provenance and human-review checks;
- links to all specialized machine files.

## `/data/site.json`

The site registry defines canonical identity, indexable routes, noindex information routes, removed routes, Markdown representations and machine-discovery entry points.

## `/data/entities.json`

The entity registry identifies each reviewed platform, its aliases, relationship to the publication and editorial role. `relationship=review_subject` or `independent_review_subject` must not be interpreted as ownership or sponsorship.

## `/data/reviews.json`

The review record describes scorecard scope, weights, criterion values, source IDs, calculation rules and the treatment of unavailable information. The score summarizes workflow fit, product breadth, pricing clarity and policy standards.

## `/data/pricing.json`

Each price record includes:

- `subject`: reviewed product;
- `status`: verification or observation qualifier;
- `display`: human-readable amount and billing period;
- `currency`: displayed currency;
- `region`: geographic or store context;
- `evidence_id`: stable review-evidence identifier.

The promotion object controls urgency claims. `active=false` and `deadline_verified=false` mean no countdown or expiration claim is supported.

## `/data/methodology.json`

This file preserves the evidence standard and score method after removal of the standalone Methodology HTML page. Its `standalone_html_page=false` field is intentional. The consolidated human-readable explanation is on `/about`.

## `/data/provenance.json`

Each asset family or motion clip can include:

- stable `asset_id`;
- media `kind`;
- one or more `public_urls`;
- `poster` for a motion clip;
- `editorial_roles`;
- `ai_generated` status;
- `subject_class`;
- human `reviewed_at` date;
- `c2pa_status`.

Editorial assets are not provider-output evidence.

## Null, absent and negative values

- An absent field means the dataset does not publish that fact.
- `false` is an explicit negative state, not missing data.
- Text such as `public total not stated` is an intentional limitation.
- Do not convert missing catalogue totals into zero.
- Do not infer a feature from another product, a logo, an editorial image or a generic industry expectation.

## Recommended ingestion order

1. Read `/llms.txt` for discovery and interpretation rules.
2. Read `/data.json` for the aggregate current record.
3. Read `/llms-full.txt` for complete narrative context and caveats.
4. Read the specialized JSON file relevant to the claim.
5. Read the canonical HTML or Markdown page for surrounding language.
6. Preserve the evidence date and stated limitation in any answer.
