{
  "schema_version": "1.0",
  "product_id": "corrupt-press",
  "product_name": "corrupt.press",
  "generated_at": "2026-08-10",
  "coverage": {
    "from": "2022-01-01",
    "to": "2026-08-03",
    "status": "seed_corpus",
    "note": "Проверяемый стартовый корпус за 2022–2026 годы. Он не претендует на исчерпывающий перечень: автоматический сбор создаёт кандидатов, а публикация требует редакционной и юридической проверки первоисточника. Добавлены исходные международные, нормативные и официальные отчётные записи за 2022 год."
  },
  "canonical_origin": "https://corrupt.press",
  "corpus": {
    "record_count": 139,
    "source_count": 36,
    "region_count": 20,
    "verified_link_count": 36,
    "corpus_sha256": "4eb08e4b18f09a84983b4fd3bf5c8836e0135c9ddc7613569ad65a3a1166ec93",
    "source_registry_sha256": "cfbe8be19b0cfc5b16d5c1ea1ff391b953850e1234e4a6cd448b837f62972aba",
    "manifest_url": "/data/integrity-manifest.json",
    "release_url": "/data/integrity-thematic-release.json"
  },
  "datasets": [
    {
      "id": "embedding-kit",
      "url": "/data/integrity-embedding-kit.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 4,
      "sha256": "6d4a96d0550cc021040d5afc5e25b3bbf376b075fed544fdba8c9c720579b584",
      "description": "Схемы подключения данных к CMS, документообороту и поиску.",
      "public_use": "Использовать как руководство по подключению; не открывать внутренние очереди и сохранять правовой контекст.",
      "fields": [
        {
          "name": "required_datasets",
          "type": "array",
          "required": true
        },
        {
          "name": "profiles",
          "type": "array",
          "required": true
        },
        {
          "name": "security_boundaries",
          "type": "array",
          "required": true
        },
        {
          "name": "fallback_behavior",
          "type": "object",
          "required": true
        }
      ]
    },
    {
      "id": "official-data-layers",
      "url": "/data/integrity-official-data-layers.json",
      "media_type": "application/json",
      "schema_version": "public-official-data-layers-v1",
      "record_count": 8,
      "sha256": "e8b1e7e6f21d83628e6b80080f671607c9af0857860d5b45dd3c016d24659504",
      "description": "Карта официальных источников, доступных слоёв, состояния подключения и границ безопасного использования.",
      "public_use": "Использовать для выбора следующего коннектора и проверки источника; статус metadata_ready не означает, что сырые документы или API-ответы уже входят в публичный корпус.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "owner",
          "type": "string",
          "required": true
        },
        {
          "name": "source_url",
          "type": "https_url",
          "required": true
        },
        {
          "name": "access_mode",
          "type": "string",
          "required": true
        },
        {
          "name": "status",
          "type": "string",
          "required": true
        },
        {
          "name": "scope",
          "type": "array<string>",
          "required": true
        },
        {
          "name": "boundary",
          "type": "string",
          "required": true
        },
        {
          "name": "next_action",
          "type": "string",
          "required": true
        },
        {
          "name": "verified_at",
          "type": "date",
          "required": true
        }
      ]
    },
    {
      "id": "official-documents",
      "url": "/data/integrity-official-documents.json",
      "media_type": "application/json",
      "schema_version": "public-official-document-index-v1",
      "record_count": 4,
      "sha256": "10e8a534e8969c451110952b50bd6ee3d7fb9586a57e7fc16aca433e714575fb",
      "description": "Индекс официальных документов с датой, периодом, издателем и ссылкой для скачивания или цитирования.",
      "public_use": "Использовать как навигатор к первоисточнику; индекс не заменяет документ и не является автоматически проверенным пересказом.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "required": true
        },
        {
          "name": "publisher",
          "type": "string",
          "required": true
        },
        {
          "name": "document_date",
          "type": "date",
          "required": true
        },
        {
          "name": "report_period",
          "type": "string",
          "required": true
        },
        {
          "name": "document_url",
          "type": "https_url",
          "required": true
        },
        {
          "name": "source_page",
          "type": "https_url",
          "required": true
        },
        {
          "name": "status",
          "type": "string",
          "required": true
        },
        {
          "name": "verified_at",
          "type": "date",
          "required": true
        }
      ]
    },
    {
      "id": "assertions",
      "url": "/data/integrity-assertions.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 2387,
      "sha256": "1768144c92b48df5a567a2b68e48cf2dd54cb4510acab5e7a7c6b513434cc894",
      "description": "Утверждения, производные из опубликованных проверенных записей; field-level anchors: 10.",
      "public_use": "Учитывать provenance.scope: record означает происхождение от записи, field означает ручной anchor короткой цитаты; автоматические выводы не допускаются.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "event_id",
          "type": "string",
          "required": true
        },
        {
          "name": "property",
          "type": "string",
          "required": true
        },
        {
          "name": "value",
          "type": "string|number|object",
          "required": true
        },
        {
          "name": "review_state",
          "type": "string",
          "required": true
        },
        {
          "name": "provenance",
          "type": "object",
          "required": true
        },
        {
          "name": "provenance.scope",
          "type": "string",
          "required": true
        },
        {
          "name": "provenance.evidence_anchor",
          "type": "object|null",
          "required": true
        },
        {
          "name": "legal_note",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "id": "reviewed-events-json",
      "url": "/data/integrity-reviewed-events.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 139,
      "sha256": "9f7cdba8921590d5f23e9292eaaf25ed021f171ed71636505e01f344b29e5fb8",
      "description": "Проверенные записи для сайтов, анализа и поиска по данным.",
      "public_use": "Можно цитировать и агрегировать только с сохранением адреса источника, статуса и правовой оговорки.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "date",
          "type": "string",
          "required": true
        },
        {
          "name": "status",
          "type": "string",
          "required": true
        },
        {
          "name": "kind",
          "type": "string",
          "required": true
        },
        {
          "name": "region_codes",
          "type": "string",
          "required": true
        },
        {
          "name": "source_id",
          "type": "string",
          "required": true
        },
        {
          "name": "source_name",
          "type": "string",
          "required": true
        },
        {
          "name": "confidence",
          "type": "string",
          "required": true
        },
        {
          "name": "topics",
          "type": "string",
          "required": true
        },
        {
          "name": "institution_count",
          "type": "string",
          "required": true
        },
        {
          "name": "amount_roles",
          "type": "string",
          "required": true
        },
        {
          "name": "metric_names",
          "type": "string",
          "required": true
        },
        {
          "name": "final_court_person_count",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "required": true
        },
        {
          "name": "summary",
          "type": "string",
          "required": true
        },
        {
          "name": "source_url",
          "type": "string",
          "required": true
        },
        {
          "name": "verified_at",
          "type": "string",
          "required": true
        },
        {
          "name": "legal_note",
          "type": "string",
          "required": true
        },
        {
          "name": "region_codes_list",
          "type": "array<string>",
          "required": true
        },
        {
          "name": "topics_list",
          "type": "array<string>",
          "required": true
        },
        {
          "name": "amount_roles_list",
          "type": "array<string>",
          "required": true
        },
        {
          "name": "metric_names_list",
          "type": "array<string>",
          "required": true
        }
      ]
    },
    {
      "id": "evidence-receipts",
      "url": "/data/integrity-evidence-receipts.json",
      "media_type": "application/json",
      "schema_version": "public-source-reference-receipt-v1",
      "record_count": 139,
      "sha256": "023db8eb9a5425759dbe0eded697f52257d39872f3aae6ef0532d628ee441bd6",
      "description": "Публичные квитанции ссылок на проверенные первоисточники и версии записей без архивирования внешних страниц.",
      "public_use": "Сохранять record_url, source_url, verified_at, record_sha256 и legal_note; не считать квитанцию копией источника или разрешением на перепубликацию.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "record_id",
          "type": "string",
          "required": true
        },
        {
          "name": "source_id",
          "type": "string",
          "required": true
        },
        {
          "name": "source_url",
          "type": "https_url",
          "required": true
        },
        {
          "name": "verified_at",
          "type": "date",
          "required": true
        },
        {
          "name": "record_sha256",
          "type": "sha256",
          "required": true
        },
        {
          "name": "provenance_scope",
          "type": "string",
          "required": true
        },
        {
          "name": "archive_status",
          "type": "string",
          "required": true
        },
        {
          "name": "rights_status",
          "type": "string",
          "required": true
        },
        {
          "name": "legal_note",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "id": "reviewed-events-csv",
      "url": "/data/integrity-reviewed-events.csv",
      "media_type": "text/csv; charset=utf-8",
      "schema_version": "1.0",
      "record_count": 139,
      "sha256": "31abfdfd43f63258e9ee7f8d53c710bf3226927486f8d2062baa327824bb6a1b",
      "description": "Табличный UTF-8 экспорт тех же записей.",
      "public_use": "Подходит для аналитических таблиц, но не заменяет юридические оговорки JSON-файла.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "date",
          "type": "string",
          "required": true
        },
        {
          "name": "status",
          "type": "string",
          "required": true
        },
        {
          "name": "kind",
          "type": "string",
          "required": true
        },
        {
          "name": "region_codes",
          "type": "string",
          "required": true
        },
        {
          "name": "source_id",
          "type": "string",
          "required": true
        },
        {
          "name": "source_name",
          "type": "string",
          "required": true
        },
        {
          "name": "confidence",
          "type": "string",
          "required": true
        },
        {
          "name": "topics",
          "type": "string",
          "required": true
        },
        {
          "name": "institution_count",
          "type": "string",
          "required": true
        },
        {
          "name": "amount_roles",
          "type": "string",
          "required": true
        },
        {
          "name": "metric_names",
          "type": "string",
          "required": true
        },
        {
          "name": "final_court_person_count",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "required": true
        },
        {
          "name": "summary",
          "type": "string",
          "required": true
        },
        {
          "name": "source_url",
          "type": "string",
          "required": true
        },
        {
          "name": "verified_at",
          "type": "string",
          "required": true
        },
        {
          "name": "legal_note",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "id": "report-timeline",
      "url": "/data/integrity-report-timeline.csv",
      "media_type": "text/csv; charset=utf-8",
      "schema_version": "1.0",
      "record_count": 18,
      "sha256": "33c70c59a159f90f2b4199224d1143b9dcece538b8ddd8634bbe24ce2275aada",
      "description": "Агрегированный year/type срез проверенных отчётных записей, использованный на reports timeline.",
      "public_use": "Использовать только как описательную агрегацию; count не является рейтингом, темпом коррупции или оценкой риска.",
      "fields": [
        {
          "name": "year",
          "type": "year",
          "required": true
        },
        {
          "name": "status",
          "type": "string",
          "required": true
        },
        {
          "name": "count",
          "type": "integer",
          "required": true
        }
      ]
    },
    {
      "id": "verified-links",
      "url": "/data/integrity-verified-links.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 36,
      "sha256": "fbbf57ba249b29550b054d2572716350be5fc44c7b319d6e9e26d841b6dabc15",
      "description": "Связи между лицами только из финальных судебных записей.",
      "public_use": "Нельзя использовать как граф знакомств, связей, соучастия или принадлежности.",
      "fields": [
        {
          "name": "event_id",
          "type": "string",
          "required": true
        },
        {
          "name": "date",
          "type": "date",
          "required": true
        },
        {
          "name": "source_url",
          "type": "https_url",
          "required": true
        },
        {
          "name": "people",
          "type": "array",
          "required": true
        },
        {
          "name": "legal_note",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "id": "entity-graph-lite",
      "url": "/data/integrity-entity-graph-lite.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 519,
      "sha256": "04c70d5d53090863ae9dd5f8c557e702fde805ce5a724989e4d12042086ef342",
      "description": "Граф источников и связей: события, источники, организации и судебные карточки без оценки риска.",
      "public_use": "Использовать для поиска, навигации и внутренней аналитики; связь означает только совместное упоминание в проверенной записи.",
      "fields": [
        {
          "name": "model",
          "type": "string",
          "required": true
        },
        {
          "name": "summary",
          "type": "object",
          "required": true
        },
        {
          "name": "entities",
          "type": "array",
          "required": true
        },
        {
          "name": "relations",
          "type": "array",
          "required": true
        },
        {
          "name": "legal_boundaries",
          "type": "array",
          "required": true
        }
      ]
    },
    {
      "id": "graph-insights",
      "url": "/data/integrity-graph-insights.json",
      "media_type": "application/json",
      "schema_version": "public-graph-structure-v1",
      "record_count": 519,
      "sha256": "2235f153ff0353421f954c8d8d15e5d0fa16d027e2aeb5c7341aaf99cac3c3d5",
      "description": "Объяснимый структурный срез публичного графа: компоненты, типы связей и часто упоминаемые организации и источники.",
      "public_use": "Использовать для навигации и описательной аналитики; degree и record_count не являются рейтингом, оценкой риска или доказательством аффилированности.",
      "fields": [
        {
          "name": "summary",
          "type": "object",
          "required": true
        },
        {
          "name": "largest_components",
          "type": "array",
          "required": true
        },
        {
          "name": "organization_hubs",
          "type": "array",
          "required": true
        },
        {
          "name": "source_hubs",
          "type": "array",
          "required": true
        },
        {
          "name": "boundaries",
          "type": "array",
          "required": true
        }
      ]
    },
    {
      "id": "search-context",
      "url": "/data/integrity-search-context.json",
      "media_type": "application/json",
      "schema_version": "public-search-context-v1",
      "record_count": 519,
      "sha256": "17a29279f7ceb7e5a6dbd7bcf3d00f5a895ccdfeafe872551a8a98a44f39caa8",
      "description": "Компактный публичный индекс для контекстного поиска по сущностям и источникам; полные поля остаются в исходных наборах.",
      "public_use": "Использовать только для навигации и подсказок поиска; сохранять ссылки на исходный граф, реестр источников и запись.",
      "fields": [
        {
          "name": "entities",
          "type": "array",
          "required": true
        },
        {
          "name": "sources",
          "type": "array",
          "required": true
        },
        {
          "name": "source_graph_url",
          "type": "string",
          "required": true
        },
        {
          "name": "source_registry_url",
          "type": "string",
          "required": true
        },
        {
          "name": "regions",
          "type": "array",
          "required": true
        },
        {
          "name": "region_coverage_url",
          "type": "string",
          "required": true
        },
        {
          "name": "notice",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "id": "convicted-persons",
      "url": "/data/integrity-convicted-persons.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 81,
      "sha256": "459d07f6af2dda4763160a496c2300295a0662edd13f974c441672cfb214543e",
      "description": "Публичные персональные карточки только по финальным судебным записям.",
      "public_use": "Нельзя использовать как санкционный список, оценку благонадёжности, источник персональных данных или граф связей.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "required": true
        },
        {
          "name": "caseId",
          "type": "string",
          "required": true
        },
        {
          "name": "sourceUrl",
          "type": "https_url",
          "required": true
        },
        {
          "name": "legalNote",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "id": "reviewed-organizations",
      "url": "/data/integrity-organizations.json",
      "media_type": "application/json",
      "schema_version": "1.2",
      "record_count": 46,
      "sha256": "6e5d288fef949dc12ff236eff20a9ff68fbb2e537ced210b2847f4a6be71fca9",
      "description": "Организации и учреждения, названные минимум в двух проверенных записях.",
      "public_use": "Навигация по реестру без выводов о вине, аффилированности или скрытых связях.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "required": true
        },
        {
          "name": "record_count",
          "type": "integer",
          "required": true
        },
        {
          "name": "source_count",
          "type": "integer",
          "required": true
        },
        {
          "name": "period",
          "type": "object",
          "required": true
        },
        {
          "name": "statuses",
          "type": "array",
          "required": true
        },
        {
          "name": "latest_records",
          "type": "array",
          "required": true
        },
        {
          "name": "source_refs",
          "type": "array",
          "required": true
        }
      ]
    },
    {
      "id": "record-history",
      "url": "/data/integrity-record-history.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 139,
      "sha256": "d1d089819a9e11e7daa064dca6da4948020bbfee8d0382c24a3ee39bc0606c33",
      "description": "Текущие версии записей, подтверждённые изменения и уведомления о снятии публикаций.",
      "public_use": "Использовать для проверки версии и исправлений; не восстанавливать историю задним числом и не считать отсутствие ранней записи доказательством отсутствия прежних правок.",
      "fields": [
        {
          "name": "records",
          "type": "array",
          "required": true
        },
        {
          "name": "changes",
          "type": "array",
          "required": true
        },
        {
          "name": "tombstones",
          "type": "array",
          "required": true
        },
        {
          "name": "history_started_at",
          "type": "date",
          "required": true
        }
      ]
    },
    {
      "id": "weekly-briefing",
      "url": "/data/integrity-weekly-briefing.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 0,
      "sha256": "43df21b11bc235eaf66d8686781493c60ac94e3031a3582abf4d786e3c3eab5b",
      "description": "Последний семидневный выпуск из проверенных записей с редакционной сводкой и раздельными денежными фактами.",
      "public_use": "Можно использовать для редакционных сводок при сохранении источника, статуса и правовой оговорки; суммы разных ролей нельзя складывать.",
      "fields": [
        {
          "name": "period",
          "type": "object",
          "required": true
        },
        {
          "name": "records",
          "type": "array",
          "required": true
        },
        {
          "name": "amount_facts",
          "type": "array",
          "required": true
        },
        {
          "name": "media_pack",
          "type": "object",
          "required": true
        },
        {
          "name": "publication_policy",
          "type": "array",
          "required": true
        }
      ]
    },
    {
      "id": "controlled-vocabulary",
      "url": "/data/integrity-controlled-vocabulary.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 1,
      "sha256": "53276255b2ba3fbb2ec8895bb2c1f204684aea61db1516a5df66e4cfa83e2baa",
      "description": "Публичные правила интерпретации ролей сумм и показателей.",
      "public_use": "Использовать перед любой агрегацией сумм, показателей, графиков и сводок.",
      "fields": [
        {
          "name": "amount_roles",
          "type": "array",
          "required": true
        },
        {
          "name": "metrics",
          "type": "array",
          "required": true
        },
        {
          "name": "amount_families",
          "type": "object",
          "required": true
        },
        {
          "name": "metric_families",
          "type": "object",
          "required": true
        },
        {
          "name": "policy",
          "type": "object",
          "required": true
        }
      ]
    },
    {
      "id": "monitoring-snapshot",
      "url": "/data/integrity-monitoring-snapshot.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 1,
      "sha256": "d66e1d9c5f835984bc44841827688446332a3b8cfd9307475f6f1fe555309f09",
      "description": "Сводка мониторинга, изменений и покрытия проверенных записей.",
      "public_use": "Можно использовать для сводных показателей мониторинга, но не для оценки людей.",
      "fields": [
        {
          "name": "freshness",
          "type": "object",
          "required": true
        },
        {
          "name": "totals",
          "type": "object",
          "required": true
        },
        {
          "name": "windows",
          "type": "array",
          "required": true
        },
        {
          "name": "status_breakdown",
          "type": "array",
          "required": true
        },
        {
          "name": "coverage_gaps",
          "type": "array",
          "required": true
        }
      ]
    },
    {
      "id": "region-coverage",
      "url": "/data/integrity-region-coverage.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 20,
      "sha256": "b6e5e825eeb1b7d3b4dbabf35a8d78d4b5988ddf65fa09b55b53642b61d4e84c",
      "description": "Региональное покрытие по QazGeo/ISO-кодам без геокодирования людей.",
      "public_use": "Можно показывать как покрытие записей, но не как рейтинг регионов.",
      "fields": [
        {
          "name": "code",
          "type": "string",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "required": true
        },
        {
          "name": "event_count",
          "type": "integer",
          "required": true
        },
        {
          "name": "archive_url",
          "type": "path",
          "required": true
        }
      ]
    },
    {
      "id": "source-availability",
      "url": "/data/integrity-source-availability.json",
      "media_type": "application/json",
      "schema_version": "1.1",
      "record_count": 36,
      "sha256": "f5c017985f71ae41bc25e4bbc2c630374f3df7706eeb862023743865652f5742",
      "description": "Сводка записей по источникам с хэшами URL.",
      "public_use": "Можно использовать для проверки происхождения записей; нельзя трактовать как показатель непрерывной доступности внешних сайтов.",
      "fields": [
        {
          "name": "source_id",
          "type": "string",
          "required": true
        },
        {
          "name": "host",
          "type": "string",
          "required": true
        },
        {
          "name": "url_sha256",
          "type": "sha256",
          "required": true
        },
        {
          "name": "reviewed_record_count",
          "type": "integer",
          "required": true
        },
        {
          "name": "first_record_date",
          "type": "date|null",
          "required": true
        },
        {
          "name": "observation_span_days",
          "type": "integer",
          "required": true
        },
        {
          "name": "corpus_coverage_state",
          "type": "string",
          "required": true
        },
        {
          "name": "preservation",
          "type": "object",
          "required": true
        }
      ]
    },
    {
      "id": "source-register",
      "url": "/data/integrity-sources.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 36,
      "sha256": "cfbe8be19b0cfc5b16d5c1ea1ff391b953850e1234e4a6cd448b837f62972aba",
      "description": "Реестр источников, разрешённых для проверенных записей.",
      "public_use": "Используется для проверки происхождения записей и классов источников.",
      "fields": [
        {
          "name": "id",
          "type": "string",
          "required": true
        },
        {
          "name": "url",
          "type": "https_url",
          "required": true
        },
        {
          "name": "tier",
          "type": "integer",
          "required": true
        },
        {
          "name": "type",
          "type": "string",
          "required": true
        },
        {
          "name": "scope",
          "type": "array",
          "required": true
        }
      ]
    },
    {
      "id": "public-v1-manifest",
      "url": "/data/integrity-public-v1-manifest.json",
      "media_type": "application/json",
      "schema_version": "1.0",
      "record_count": 20,
      "sha256": "b60c588c8407ffb3ad2351b66954c4b8681389419fb99246cdb75537535dc3ee",
      "description": "Манифест открытых v1 exports с SHA-256, версиями схем и границами повторного использования.",
      "public_use": "Сначала проверить манифест и хэш файла, затем сохранять source_url, status, verified_at и legal_note.",
      "fields": [
        {
          "name": "manifest_id",
          "type": "string",
          "required": true
        },
        {
          "name": "generated_at",
          "type": "date",
          "required": true
        },
        {
          "name": "corpus_sha256",
          "type": "sha256",
          "required": true
        },
        {
          "name": "files",
          "type": "array",
          "required": true
        },
        {
          "name": "boundary",
          "type": "array",
          "required": true
        }
      ]
    }
  ],
  "controlled_vocabularies": {
    "statuses": [
      "asset_return",
      "audit_finding",
      "international_assessment",
      "judgment",
      "official_report",
      "policy_change",
      "pretrial",
      "sent_to_court"
    ],
    "allowed_statuses": [
      "asset_return",
      "audit_finding",
      "international_assessment",
      "judgment",
      "official_report",
      "policy_change",
      "pretrial",
      "published_investigation",
      "sent_to_court"
    ],
    "confidence": [
      "high",
      "medium"
    ],
    "amount_roles": [
      "actually_returned_2025",
      "actually_returned_total",
      "administrative_fines",
      "alleged_bribe",
      "alleged_bribes",
      "alleged_illegal_payments_minimum",
      "anti_corruption_outreach_budget",
      "assets_under_management",
      "attracted_funds",
      "audit_coverage",
      "audit_findings",
      "audit_violations",
      "budget_allocation",
      "business_damage",
      "cashed_out",
      "civil_claim",
      "contract_value",
      "criminal_fine",
      "criminal_income",
      "deposited_funds",
      "financial_violations",
      "forecast_overstatement",
      "fuel_value",
      "gambling_spending",
      "medical_organization_financing",
      "patient_payments",
      "prevented_irregular_spending",
      "procedural_violations",
      "procurement_violations",
      "property_seized",
      "reimbursed",
      "reimbursed_minimum",
      "reimbursed_to_state",
      "reported_damage",
      "reported_payments",
      "reported_turnover",
      "restored_or_reimbursed",
      "returned_assets",
      "returned_cash",
      "returned_property",
      "returned_stolen_assets",
      "revenue_shortfall",
      "seized",
      "special_state_fund_project",
      "special_state_fund_projects",
      "transferred_to_related_parties",
      "tuition_payment"
    ],
    "metric_names": [
      "Balkhash medical hub allocation",
      "CPI rank",
      "CPI score",
      "GRECO recommendations",
      "accomplice sentence length",
      "activity period",
      "administrative cases initiated",
      "affected schools",
      "amnesty discontinued persons",
      "appeal decisions",
      "arrested cryptoassets",
      "arrested vehicles in illegal registration cases",
      "audit activities",
      "audit coverage",
      "audit materials reviewed",
      "audited entities",
      "audits",
      "bird species named in source",
      "blocked online casino links",
      "branch activity months",
      "cases sent to court",
      "cash-out networks neutralized",
      "children rehabilitation center allocation",
      "commercial office ban",
      "commissioned projects at publication date",
      "companies with fictitious experience",
      "completed investigations",
      "conditional sentence length",
      "confiscated apartments",
      "confiscated heavy vehicles",
      "confiscated passenger vehicles",
      "confiscated vehicle",
      "contracts described",
      "convicted defendants in non-final judgment",
      "convicted persons",
      "corruption offences in production",
      "criminal fine multiplier context",
      "criminal groups neutralized",
      "criminal offences",
      "custody period",
      "damaged water fund land",
      "defendants in non-final judgment",
      "detained persons",
      "detected earpiece cases in H1 2026",
      "digital activity ban",
      "digital asset and mining offences",
      "digital asset judgments in 2024",
      "drop accounts",
      "dropper cells identified",
      "dropper payment ceiling",
      "ethics events",
      "failed driving exams before bribe",
      "fictitious clinic attachments",
      "fictitious loans",
      "final judgment persons",
      "financial violations",
      "football clubs named in prosecutor review",
      "group participants",
      "healthcare projects",
      "heavy dump trucks seized",
      "identified managers",
      "identified officials",
      "illegal direct procurement contracts identified",
      "illegal gambling investigations in two years",
      "illegally registered trucks in Akmola case",
      "individual buyers",
      "inefficient use",
      "infrastructure projects monitored",
      "investigated illegal registration cases",
      "land area",
      "land plot area",
      "land plots",
      "legal entity buyers",
      "main sentence deferred",
      "main sentence length",
      "materials compliant with observations",
      "materials non-compliant with standards",
      "materials sent to law enforcement",
      "maximum sentence",
      "maximum sentence length",
      "minimum sentence",
      "mining devices",
      "named convicted persons",
      "nonexistent collateral objects",
      "oil volume seized",
      "oncology center equipment allocation",
      "ore processing complexes seized",
      "ore shipped",
      "organizer sentence length",
      "participants reported in non-final court decision",
      "patients affected",
      "people involved through fictitious employment",
      "period of alleged subsidy misuse",
      "persons convicted",
      "persons fined",
      "planned capacity increase",
      "planned cottages",
      "planned townhouses",
      "poppy destroyed",
      "population affected",
      "position ban length",
      "pretrial investigations",
      "procedural violations",
      "professional ban",
      "projects financed",
      "promised daily yield maximum",
      "promised daily yield minimum",
      "protected birds seized",
      "recognized victims",
      "recommendations",
      "regional anti-corruption projects",
      "regional cases sent to court",
      "regional corruption cases",
      "registered corruption offences",
      "reported bribe maximum",
      "reported bribe minimum",
      "reported change in registered corruption facts",
      "reported investors",
      "reported sand volume",
      "reported worksite area",
      "scheme period",
      "seized cars",
      "seized phones",
      "seized vehicles",
      "sentence length",
      "sentence length in Akmola case",
      "sentence length kokkozova",
      "sentence length kozhagapanov",
      "sentence length maximum",
      "sentence maximum",
      "sentence minimum",
      "sentence range maximum",
      "sentence range minimum",
      "sentenced entrepreneurs",
      "sentenced officials",
      "sentenced persons",
      "shadow crypto exchangers shut down",
      "social facilities affected",
      "social facilities opened from special state fund",
      "social media audience",
      "state IT embezzlement cases",
      "stolen production volume",
      "suspects",
      "suspects in illegal registration cases",
      "tracked excavators seized",
      "trained civil servants",
      "transnational criminal groups neutralized",
      "users involved",
      "vehicle confiscation",
      "vehicles in illegal registration cases",
      "victims",
      "villages affected",
      "water projects",
      "workers involved",
      "Плановый грузопоток после запуска",
      "Плановый рост грузопотока",
      "Протяжённость двух реконструируемых трасс",
      "Протяжённость новой дороги Бейнеу – Саксаульск"
    ]
  },
  "reuse_policy": {
    "required_attribution": "corrupt.press, ссылка на первоисточник и идентификатор записи",
    "required_context": [
      "status",
      "legal_note",
      "verified_at"
    ],
    "citation_template": "{title}. corrupt.press, {date}. Источник: {source_name}. {canonical_url} (проверено {verified_at}).",
    "ai_summary_rules": [
      "Не превращать досудебные записи и аудит в судебное признание вины.",
      "Не смешивать ущерб, изъятое, возмещённое и возвращённые активы.",
      "Не добавлять имена, связи или суммы, которых нет в проверенной записи."
    ],
    "cache_policy": "Открытые файлы данных не кэшируются на уровне nginx и версионируются контрольными суммами sha256."
  },
  "non_public_artifacts": [
    "data/integrity-review-queue.json",
    "data/integrity-entity-index.json",
    "data/integrity-entity-aliases.json",
    "data/integrity-entity-match-queue.json",
    "data/integrity-entity-match-evaluation.json",
    "data/integrity-entity-public-readiness.json",
    "data/integrity-qazcompute-consumer.json",
    "data/integrity-procurement-contract.json",
    "data/integrity-source-health.json",
    "data/integrity-document-observations.json",
    "Подборки первичных сигналов QazLake",
    "Редакционные заметки и решения по первичным сигналам",
    "Метаданные наблюдений источников и форматов"
  ],
  "integration_notes": {
    "qazstack": "Использовать это описание как публичную схему данных продукта вместе с qazstack-thematic-product.json.",
    "qazlake": "Сигналы QazLake проходят редакционную проверку до включения в публичные наборы.",
    "qazgeo": "Публично доступны только границы регионов QazGeo; точная геопривязка людей и адресов запрещена.",
    "cms_dms": "Сайты и системы документооборота должны загружать проверенные события, манифест и описание открытых данных вместе."
  }
}
