JSON-схема
Машинное описание формата 0.1 по стандарту JSON Schema 2020-12. Ей пользуются проверка на этом сайте, сканер готовности и любой агент, который хочет проверить паспорт сам.
Адрес схемы
https://xn----7sbbaom0ddhbmjqf.xn--p1ai/.well-known/agent-passport.schema.json
Читаемо: паспорт-агента.рф/.well-known/agent-passport.schema.json
Почему в схеме адрес Конституции
Поле $id версии 0.1 указывает на сайт Конституции агента: там формат был опубликован впервые 15 октября 2026 года. Файл здесь — побайтовая копия, по старому адресу он тоже продолжает отвечать. Менять $id без новой версии формата нельзя, поэтому новый адрес появится в версии 1.0.
Что проверяет схема
Кроме схемы проверка на сайте смотрит домен, статус, срок и подпись — это правила статьи 17, их схемой не выразить.
| Правило | Где | Что значит |
|---|---|---|
| Один паспорт или список | oneOf | Файл — либо один паспорт, либо {"passports": [ … ]} хотя бы с одним паспортом |
| Обязательные поля | required | passport_version, passport_id, status, issued_at, agent, operator, ai, policy и их обязательные поля |
| Версия | passport_version | строго «0.1» |
| Статус | status | active, suspended или revoked |
| Даты | issued_at, valid_until, revoked_at | ГГГГ-ММ-ДД |
| Адреса | passport_id, operator.site, stop_endpoint и др. | полный адрес со схемой, например https:// |
| От чьего имени | agent.acts_for | individuals, companies или operator |
| Действия | agent.actions | непустой список из search, compare, quote, order, pay, sign, message, publish, other |
| ИНН и ОГРН | operator.inn, operator.ogrn | 10 или 12 цифр; 13 или 15 цифр |
| Страна и валюта | ai.data_processing_country, currency | две и три заглавные латинские буквы: RU, RUB |
| Агент называет себя агентом | policy.identifies_as_ai | строго true (статья 2) |
| Лимит | preauthorized_limit | amount — число не меньше нуля, currency — код валюты |
| Ключи | keys[] | kid, kty = OKP, crv = Ed25519 |
| Подписи | signatures[] | protected и signature обязательны |
Проверить у себя
Схема стандартная, подойдёт любая библиотека JSON Schema 2020-12. Например, на Python:
Или из командной строки с ajv:
Правила домена, статуса, срока и подписи библиотека не проверит — для них есть API проверки.
# pip install jsonschema requests import json, requests, jsonschema schema = requests.get("https://паспорт-агента.рф/.well-known/agent-passport.schema.json").json() passport = requests.get("https://example.ru/.well-known/agent-passport.json").json() jsonschema.Draft202012Validator(schema).validate(passport)
# npm i -g ajv-cli ajv-formats
ajv validate --spec=draft2020 -c ajv-formats \
-s agent-passport.schema.json -d agent-passport.json
Не государственный документ. Паспорт публикует сам оператор, реестр подтверждает только соответствие формату и подпись на дату проверки.
О проекте