Каталог требований¶
Ненормативное представление. Источником правды остаются документы, на которые ссылается таблица. Страница генерируется при сборке сайта.
Используйте поиск страницы для фильтрации по ID, уровню, заголовку, области применения или пути документа.
| ID | Уровень | Требование | Применяется к |
|---|---|---|---|
| AI-DEV-001 | MUST | Машинообнаружимая точка входа | проекту с возможностью ai-assisted-development |
| AI-DEV-002 | MUST | Обновление контекста перед изменением | началу новой задачи или продолжению работы после изменения ветки, manifest либо инструкций |
| AI-DEV-003 | SHOULD | Результат и проверка до реализации | изменению поведения, контракта, данных или сборки |
| AI-DEV-004 | MUST | Остановка при недостатке полномочий или контекста | конфликту требований, отсутствующему manifest, неясному публичному контракту или действию вне явно предоставленных полномочий |
| AI-DEV-005 | SHOULD | Связность изменения | diff, создаваемому агентом для одной задачи |
| AI-DEV-006 | MUST | Воспроизводимое evidence | утверждению агента о соответствии или успешной проверке |
| AI-DEV-007 | MUST NOT | Передача данных модели | prompt, context, attachment, tool output и telemetry, передаваемым ИИ-модели или её провайдеру |
| AI-DEV-008 | MUST | Минимальные полномочия агента | identity, credentials, filesystem и network среды агента |
| AI-DEV-010 | SHOULD | Атрибуция участия агента | merge request, в котором ИИ-агент создал или изменил код, конфигурацию, схему либо проектную документацию |
| AI-DEV-011 | MUST | Минимизация контекста модели | данным, разрешённым для передачи модели по AI-DEV-007 |
| ARC-PAT-001 | SHOULD | Обоснованная архитектурная абстракция | добавлению проектного интерфейса, слоя или модуля, не заданного внешним контрактом |
| ARC-PAT-002 | SHOULD | Направление зависимости прикладной границы | компоненту с прикладным правилом и адаптером транспорта, хранилища, framework или внешнего provider |
| ARC-PAT-003 | MUST | Единый путь применения прикладного правила | операции, выполняющей изменение состояния или внешний эффект после проверки доступа, инварианта, идемпотентности либо транзакционного условия |
| ARC-PAT-004 | SHOULD | Ациклические зависимости проектных модулей | компоненту с двумя и более проектными модулями и статическими зависимостями между ними |
| ARC-PAT-005 | MUST | Закрытая поверхность проектного модуля | компоненту с двумя и более проектными модулями, разделяющими прикладные ответственности |
| ARC-PAT-006 | MUST | Владение состоянием проектного модуля | устойчивому состоянию, через которое проектный модуль обеспечивает прикладной инвариант |
| ARC-PAT-007 | MUST | Карта доменных контекстов | проекту с двумя и более прикладными ответственностями, разделёнными между модулями или сервисами, либо с разным смыслом одного термина |
| ARC-PAT-008 | MUST | Однозначная терминология контекста | прикладному понятию, используемому в доменном контексте и его контрактах |
| ARC-PAT-009 | MUST | Преобразование между доменными моделями | обмену между доменными контекстами с различающимися моделями, терминами или правилами |
| ARC-PAT-010 | MUST | Граница атомарного инварианта | изменению состояния, для которого несколько прикладных условий должны выполняться атомарно |
| ARC-SVC-001 | MUST | Обоснованная граница сервиса | созданию или сохранению независимо развёртываемого сервиса |
| ARC-SVC-002 | MUST | Владение поведением и контрактами | каждому независимо развёртываемому сервису |
| ARC-SVC-003 | MUST | Закрытая поверхность взаимодействия | входящему или исходящему межсервисному взаимодействию |
| ARC-SVC-004 | MUST | Граница изменения данных | устойчивым данным, изменяемым независимо развёртываемым сервисом |
| ARC-SVC-005 | MUST | Независимая поставка | изменению независимо развёртываемого сервиса |
| ARC-SVC-006 | MUST | Контракт отказа зависимости | каждой обязательной или необязательной межсервисной зависимости |
| ARC-SVC-007 | MUST | Явная стратегия межсервисного чтения | операции, результат которой объединяет данные двух и более независимо развёртываемых сервисов |
| ARC-SVC-008 | MUST | Ограниченная синхронная композиция | межсервисному чтению с синхронной композицией |
| ARC-SVC-009 | MUST | Контракт производной модели чтения | сохранённому представлению данных, полученных от другого сервиса |
| ARC-SVC-010 | MUST | Свежесть данных для обязательного решения | решению об авторизации, финансовом результате, прикладном инварианте или необратимом эффекте на основании производной модели чтения |
| ARC-SVC-011 | MUST | Решение о выделении сервиса | началу выделения ответственности в отдельный сервис |
| ARC-SVC-012 | MUST | Владение на каждом этапе выделения | каждому этапу выделения сервиса |
| ARC-SVC-013 | MUST | Единственный путь прикладной записи | изменяющей операции во время выделения сервиса |
| ARC-SVC-014 | MUST | Перенос и сверка данных | копированию существующих данных в целевой сервис |
| ARC-SVC-015 | MUST | Переключение и удаление прежнего пути | переключению потребителей на целевой сервис и завершению выделения |
| BE-COMP-001 | MUST | Обратно совместимое изменение | изменению действующей версии API |
| BE-COMP-002 | MUST | Миграция несовместимой версии | введению новой несовместимой версии API |
| BE-COMP-003 | MUST | Проверка и публикация контракта | каждому изменению API |
| BE-CONF-001 | MUST | Версионируемая базовая конфигурация | конфигурации приложения |
| BE-CONF-002 | MUST | Порядок объединения источников | загрузке конфигурации |
| BE-CONF-003 | MUST | Переопределение переменными окружения | параметрам, переопределяемым переменными окружения |
| BE-CONF-004 | MUST | Типизация и проверка при старте | итоговой конфигурации приложения |
| BE-CONF-005 | MUST | Секреты вне репозитория и артефакта | секретам и аутентификационным данным |
| BE-CONF-007 | MUST | Минимизация доступа к секретам | загрузке и использованию секретов |
| BE-CONF-008 | SHOULD | Безопасная диагностика загруженной конфигурации | диагностике результата загрузки конфигурации |
| BE-CONF-010 | MUST | Сообщения об ошибках конфигурации | ошибкам загрузки и проверки конфигурации |
| BE-CONF-011 | SHOULD | Неизвестные переменные окружения | переменным окружения с объявленным префиксом приложения |
| BE-CONF-012 | MUST | Динамическая конфигурация и feature flags | конфигурации backend, изменяющей поведение запущенного процесса без поставки нового артефакта |
| BE-CONF-013 | MUST | Управляемый rollout feature flag | feature flag, постепенно включаемому для части операций, пользователей или tenant |
| BE-HLTH-001 | MUST | Раздельные проверки состояния | каждому экземпляру долгоживущего backend-процесса в среде, поддерживающей проверки состояния |
| BE-HLTH-002 | MUST | Семантика liveness | проверке liveness |
| BE-HLTH-003 | MUST | Семантика readiness | проверке readiness |
| BE-HLTH-004 | MUST | Состояние при запуске | периоду от запуска процесса с проверками по BE-HLTH-001 до окончания инициализации |
| BE-HLTH-005 | MUST | Состояние при завершении | периоду штатного завершения процесса с проверками по BE-HLTH-001 |
| BE-HLTH-006 | MUST | Ограниченность проверки | выполнению liveness и readiness |
| BE-HLTH-007 | MUST | Изоляция и защита интерфейсов | доступу и содержимому интерфейсов состояния |
| BE-HLTH-008 | MUST | Наблюдаемость проверок | логам, трассам и метрикам проверок состояния |
| BE-HLTH-009 | SHOULD | Стандартные HTTP-пути проверок | HTTP-интерфейсу liveness и readiness |
| BE-HTTP-001 | MUST | Ограничение HTTP-запроса | каждому входящему HTTP-запросу |
| BE-HTTP-002 | MUST | Единый контракт ошибок | каждому неуспешному ответу опубликованного HTTP API |
| BE-HTTP-003 | MUST | Идемпотентность изменяющих операций | повторяемому запросу, создающему необратимый эффект |
| BE-HTTP-004 | MUST | Ограниченные коллекции | HTTP endpoint, коллекция которого может превысить установленный максимальный размер одного ответа |
| BE-HTTP-005 | MUST | Машинно-проверяемый контракт | каждому опубликованному HTTP endpoint |
| BE-HTTP-006 | MUST | Семантика метода и статуса | каждой операции HTTP API |
| BE-HTTP-007 | MUST | Валидация до выполнения | path, query, headers и телу входящего запроса |
| BE-HTTP-010 | MUST | Конкурентное изменение ресурса | операции, способной перезаписать конкурентное изменение |
| BE-HTTP-011 | MUST | Контракт ограничения частоты | HTTP endpoint с ограничением частоты или квотой запросов |
| BE-JOB-001 | MUST | Подтверждение после результата | сообщению с явным подтверждением обработки |
| BE-JOB-002 | MUST | Идемпотентная повторная обработка | сообщению, допускающему повторную доставку |
| BE-JOB-003 | MUST | Ограниченные повторы и терминальный результат | неуспешной обработке сообщения |
| BE-JOB-004 | MUST | Порядок и конкурентность | параллельной обработке сообщений |
| BE-JOB-005 | MUST | Срок актуальности работы | job или сообщению, результат которого после определённого момента теряет смысл либо становится небезопасным |
| BE-JOB-006 | MUST | Владение зарезервированной работой | обработке, для которой broker или scheduler выдаёт ограниченную по времени reservation, visibility timeout или lease |
| BE-JOB-007 | MUST | Независимый результат элементов batch | получению или обработке нескольких независимо подтверждаемых сообщений одним batch |
| BE-JOB-008 | MUST | Контракт планового запуска | job, запускаемой scheduler по времени или календарному расписанию |
| BE-MIG-001 | MUST | Совместимость поэтапного развёртывания | изменению схемы, используемой несколькими версиями приложения |
| BE-MIG-002 | MUST | Безопасное выполнение миграции | каждой production-миграции |
| BE-MIG-003 | MUST | Единственное управляемое выполнение | выполнению production-миграций |
| BE-MIG-004 | MUST | Восстановление и проверка данных | миграции, изменяющей или удаляющей данные |
| BE-RES-001 | MUST | Конечные тайм-ауты | каждому сетевому вызову и ожиданию внешней зависимости |
| BE-RES-002 | MUST | Ограниченные повторы | автоматическим retry |
| BE-RES-003 | MUST | Отмена операции | отмене запроса, job или обработчика сообщения |
| BE-RES-004 | MUST | Ограничение распространения отказа | зависимости, отказ которой способен исчерпать ресурсы |
| BE-RSRC-001 | MUST | Конечные лимиты | пулам, очередям, буферам, соединениям и конкурентным операциям |
| BE-RSRC-002 | MUST | Поведение при насыщении | достижению лимита ресурса |
| BE-RSRC-003 | MUST | Наблюдаемость насыщения | каждому ограниченному ресурсу |
| BE-SHUT-001 | MUST | Единая процедура завершения | штатному сигналу остановки процесса |
| BE-SHUT-002 | MUST | Прекращение допуска новой работы | началу штатного завершения |
| BE-SHUT-003 | MUST | Дренирование выполняемой работы | операциям, начатым до прекращения допуска новой работы |
| BE-SHUT-004 | MUST | Ограниченный срок завершения | всей процедуре штатного завершения |
| BE-SHUT-005 | MUST | Порядок закрытия ресурсов | сетевым серверам, исполнителям и внешним ресурсам процесса |
| BE-SHUT-006 | MUST | Завершение телеметрии | логгеру, OpenTelemetry SDK и Sentry SDK процесса |
| BE-SHUT-007 | MUST | Результат и наблюдаемость завершения | результату штатной процедуры завершения |
| BE-START-001 | MUST | Fail-fast инициализация | обязательной конфигурации и зависимости при старте |
| BE-START-002 | MUST | Порядок готовности | переходу процесса в ready |
| BE-START-003 | MUST | Наблюдаемость запуска | результату процедуры запуска |
| BE-STATE-001 | MUST | Явная модель состояния | каждому устойчиво хранимому состоянию компонента |
| BE-STATE-002 | MUST | Отсутствие локальной исключительности | изменяемому состоянию в памяти или локальной файловой системе |
| BE-STATE-003 | MUST | Конкурентное изменение | двум операциям, изменяющим один логический объект |
| BE-STATE-004 | MUST | Совместимость формата состояния | изменению persisted schema или сериализованного формата |
| BE-STATE-005 | MUST | Идемпотентное восстановление операции | операции, которая может прерваться после частичной записи |
| BE-STATE-006 | MUST | Fencing владельца lease | writer, считающему себя единственным владельцем по distributed lock, lease или leader election |
| BE-STATE-007 | MUST | Согласованность независимых фиксаций | бизнес-операции, обязательные эффекты которой фиксируются в двух или более системах без общей атомарной транзакции |
| BE-TST-006 | MUST | Область unit-теста | unit-тестам |
| BE-TST-007 | SHOULD | Сценарии unit-тестирования | unit-тестам бизнес-логики и преобразований |
| BE-TST-008 | SHOULD | Использование test doubles в unit-тестах | mock, stub, fake и spy в unit-тестах |
| BE-TST-009 | MUST | Реальная инфраструктура integration-теста | integration-тестам базы данных, broker, cache, файлового или сетевого протокола |
| BE-TST-010 | MUST | Подмена внешней системы в integration-тесте | интеграции с системой вне контроля проекта |
| BE-TST-011 | MUST | Изоляция integration-тестов | integration-тестам с изменяемым состоянием |
| BE-TST-012 | MUST | Границы integration-тестирования | точкам взаимодействия backend-компонента |
| BE-TST-013 | MUST | Область e2e-теста | автоматизированным e2e-тестам |
| BE-TST-014 | SHOULD | Минимальный критичный e2e-набор | e2e-стратегии проекта |
| BE-TST-015 | MUST | Среда e2e-тестирования | запуску e2e-тестов |
| DATA-AN-001 | MUST | Определение аналитической метрики | каждой публикуемой метрике или dimension |
| DATA-AN-002 | MUST | Grain и ключ результата | аналитической модели или витрине |
| DATA-AN-003 | MUST | Время и поздние данные | модели, зависящей от времени |
| DATA-AN-004 | MUST | Null, неизвестное и нулевое значение | измерению и агрегату |
| DATA-AN-005 | SHOULD | Защита от регрессии модели | изменению опубликованной модели или метрики |
| DATA-BACK-001 | MUST | Проектные RPO и RTO | production-данным и состоянию, потеря которых нарушает обязательный результат или которые нельзя восстановить из другого источника в требуемый срок |
| DATA-BACK-002 | MUST | Полнота и защита backup | резервной копии |
| DATA-BACK-003 | MUST | Срок хранения и удаление | backup и его копиям |
| DATA-BACK-004 | MUST | Регулярная проверка восстановления | каждому механизму backup |
| DATA-BACK-005 | MUST | Наблюдаемость и отказ backup | выполнению backup и restore |
| DATA-CLS-001 | MUST | Политика классификации | каждому проекту, обрабатывающему пользовательские, аутентификационные, платёжные, коммерчески чувствительные или регулируемые данные |
| DATA-CLS-002 | MUST | Маскирование и минимизация | передаче данных в логи, трассы, метрики, события ошибок, аудит и аналитические системы |
| DATA-CLS-003 | MUST | Изменение политики | добавлению класса, поля или изменению правил обработки |
| DATA-ID-001 | MUST | UUIDv7 для нового технического идентификатора | новому полю технического идентификатора, впервые добавляемому в хранимую модель после подключения требования, если условие DATA-ID-003 не выполняется |
| DATA-ID-002 | MUST | Каноническое представление во внешнем контракте | сериализации технического идентификатора по DATA-ID-001 или DATA-ID-003 в HTTP API, GraphQL, gRPC, событии, сообщении или экспортируемом файле |
| DATA-ID-003 | MUST | UUIDv4 при запрете раскрытия времени генерации | новому полю технического идентификатора, для которого политика по DATA-CLS-001 запрещает получателю идентификатора узнавать момент его генерации |
| DATA-ID-004 | MUST NOT | Идентификатор не является средством доступа | техническому идентификатору, который получатель предъявляет для выбора сущности во внешней операции |
| DATA-ID-005 | MUST NOT | UUID не задаёт бизнес-время и глобальный порядок | запросу, отчёту или прикладной логике, использующим UUIDv7 для определения времени или порядка |
| DATA-ID-006 | MUST | Стабильность, уникальность и конфликт идентификатора | жизненному циклу сущности с техническим идентификатором |
| DATA-ID-007 | MUST | Представление отсутствующего идентификатора | отсутствующему значению технического идентификатора в хранимой модели или внешнем контракте |
| DATA-LED-001 | MUST | Явная модель записи и источник истины | каждому provider возможности financial-ledger |
| DATA-LED-002 | MUST | Неизменяемость posting и исправление | принятому ledger posting |
| DATA-LED-003 | MUST | Атомарность и идемпотентность операции | команде, создающей один или несколько ledger postings |
| DATA-LED-004 | MUST | Точное денежное представление | сумме, валюте и вычислению ledger |
| DATA-LED-005 | MUST | Balance projection и сверка | сохранённому остатку или query model финансового ledger |
| DATA-LED-006 | MUST | Разделение ledger и audit | финансовой операции и её ledger postings |
| DATA-LED-007 | MUST | Авторитетный event store | финансовому ledger, выбравшему Event Sourcing |
| DATA-LED-008 | MUST | Детерминированный replay и эволюция событий | event-sourced финансовому ledger |
| DATA-PIPE-001 | MUST | Версионируемый контракт dataset | каждому входному и выходному dataset |
| DATA-PIPE-002 | MUST | Совместимость изменения схемы | изменению входного или выходного контракта |
| DATA-PIPE-003 | MUST | Детерминированное преобразование | преобразованию входной записи или snapshot |
| DATA-PIPE-004 | MUST | Идемпотентный restart и replay | повторной обработке диапазона входных данных |
| DATA-PIPE-005 | MUST | Обработка невалидных данных | записи, не соответствующей схеме или инварианту |
| DATA-PIPE-006 | MUST | Сверка полноты | тестированию результата pipeline |
| DEP-CI-001 | MUST | Pipeline точного commit | pipeline merge и release |
| DEP-CI-002 | MUST | Воспроизводимая конфигурация pipeline | обязательному pipeline |
| DEP-CI-003 | MUST | Назначение проверок merge и release | проекту, выпускающему артефакт |
| DEP-CI-005 | SHOULD | Диагностические результаты | обязательной автоматизированной проверке |
| DEP-IMG-001 | SHOULD | Многоэтапный Dockerfile | image, в котором компилируется приложение, устанавливаются зависимости или преобразуются runtime-файлы |
| DEP-IMG-002 | MUST | Происхождение runtime-файлов | файлам, копируемым в runtime image |
| DEP-IMG-003 | MUST | Минимальное содержимое runtime image | финальной стадии Dockerfile |
| DEP-IMG-004 | MUST | Зафиксированные базовые images | каждой инструкции FROM |
| DEP-IMG-005 | SHOULD | Детерминированные системные packages | установке системных packages в build- и runtime-стадиях |
| DEP-IMG-006 | MUST | Безопасная передача секретов сборки | build credentials и закрытым зависимостям |
| DEP-IMG-007 | MUST | Безопасная runtime-стадия | финальной стадии Dockerfile |
| DEP-IMG-011 | MUST | Метаданные финального image | финальной стадии Dockerfile |
| DEP-IMG-012 | SHOULD | Минимальный базовый runtime image | финальной стадии Dockerfile |
| DEP-IMG-013 | SHOULD | Предпочтительные registry и digest | каждой инструкции FROM |
| DEP-ROL-001 | MUST | Поэтапная замена экземпляров | развёртыванию новой версии сервиса |
| DEP-ROL-002 | MUST | Совместимость соседних версий | периоду одновременной работы старой и новой версии |
| DEP-ROL-003 | MUST | Критерии продвижения | переходу между этапами deployment |
| DEP-ROL-004 | MUST | Проверяемый rollback | каждой production-поставке |
| DEP-ROL-005 | MUST | Завершение старых экземпляров | удалению экземпляра во время deployment |
| DEP-ROL-006 | MUST | Ограниченный canary cohort | production canary-развёртыванию |
| DEP-ROL-007 | MUST | Продвижение и остановка canary | переходу canary между этапами |
| DEP-ROL-008 | MUST | Переключение blue/green | production blue/green-развёртыванию |
| DEP-SUP-001 | SHOULD | Сканирование уязвимостей | release pipeline и фактическому release-артефакту |
| DEP-SUP-002 | MUST | Актуальность базы уязвимостей | каждому blocking scan |
| DEP-SUP-003 | SHOULD | SBOM release-артефакта | каждому release-артефакту с зависимостями |
| DEP-SUP-004 | SHOULD | Неизменяемая идентификация артефакта | публикации и развёртыванию release image |
| DEP-SUP-005 | MUST | Provenance сборки | release image и доступным материалам сборки |
| DEV-ADR-001 | MUST | Содержание ADR-исключения | каждому ADR, оформляющему исключение из требования |
| DEV-ADR-002 | MUST | Жизненный цикл ADR | каждому ADR проекта |
| DEV-ADR-003 | MUST | Связь решения с изменением | изменению, которое требует ADR |
| DEV-ADR-004 | MUST | Условия обязательного архитектурного решения | изменению запускаемого или публикуемого компонента |
| DEV-ADR-005 | MUST | Альтернативы и компромиссы | ADR, обязательному по DEV-ADR-004 |
| DEV-ADR-006 | MUST | Сценарий критичной характеристики | ADR, меняющему характеристику, которая ограничивает release по SLO, security contract, capacity limit или recovery contract |
| DEV-BUILD-001 | MUST | Сборка из идентифицированного состояния | обязательной CI-сборке |
| DEV-BUILD-002 | MUST | Отсутствие изменения исходной рабочей копии | обязательной CI-сборке |
| DEV-BUILD-003 | MUST | Идентификация артефакта | поставляемому артефакту |
| DEV-BUILD-004 | MUST | Продвижение без пересборки | артефакту, продвигаемому между тестовой и production-средой |
| DEV-BUILD-005 | MUST | Защита сборочных входов | сборке с секретами или внешними входами |
| DEV-CLI-001 | MUST | Стабильный интерфейс команды | имени команды, subcommands, options, аргументам и exit codes |
| DEV-CLI-002 | MUST | Разделение вывода и диагностики | stdout, stderr и machine-readable output |
| DEV-CLI-003 | MUST | Неинтерактивность и отмена | использованию CLI в CI и скриптах |
| DEV-CLI-004 | MUST | Защита credentials | CLI, принимающему credential или секрет |
| DEV-DEP-001 | MUST | Источник, версия и целостность | toolchain, runtime и каждой прямой или транзитивной зависимости |
| DEV-DEP-002 | MUST | Лицензии и поддержка | toolchain, runtime и dependency graph, влияющим на сборку или production |
| DEV-DEP-003 | MUST | Необходимость зависимости | добавлению или сохранению прямой зависимости |
| DEV-DEP-004 | SHOULD | Сканирование уязвимостей зависимостей | dependency graph, влияющему на сборку или production |
| DEV-DOC-001 | MUST | Корневой README | репозиторию запускаемого или публикуемого компонента |
| DEV-DOC-002 | MUST | Актуализация вместе с изменением | изменению назначения проекта, ответственности или состава компонентов, публичного контракта, поддерживаемого запуска либо обязательной проверки |
| DEV-DOC-003 | MUST | Воспроизводимая машинно-производимая документация | машинно-производимой справочной документации проекта |
| DEV-PROF-001 | MUST | Базовый профиль проекта | каждому проекту с manifest стандартов |
| DEV-PROF-002 | MUST | Профиль вида компонента | каждому элементу components |
| DEV-PROF-003 | MUST | Профиль возможности | каждому элементу capabilities |
| DEV-REL-001 | MUST | Единый источник версии компонента | каждому release или deployment компонента |
| DEV-REL-002 | MUST | Контракт service.version |
компоненту, публикующему telemetry с service.version |
| DEV-REL-003 | SHOULD | Схема публичного версионирования | публичному SDK, CLI, package или другому продукту, для которого потребитель выбирает версию |
| DEV-REL-004 | MUST | Release notes для потребителя | release, который изменяет используемый внешним потребителем контракт, поведение, требования к эксплуатации или security-свойство |
| DEV-REL-005 | MUST | Уведомление об устаревании | планируемому удалению или несовместимому изменению публичного либо межкомандного контракта |
| DEV-REV-001 | MUST | Изменение через защищённую ветку | основной и release-веткам проекта |
| DEV-REV-002 | MUST | Независимое одобрение существенного риска | изменению security-границы, публичного контракта, миграции, целостности данных, восстановления или production-полномочий |
| DEV-REV-003 | MUST | Проверяемый предмет review | merge request, изменяющему поведение или контракт |
| DEV-REV-004 | MUST | Автоматизированные lint и format | исходному и сгенерированному тексту, для которого проект объявил правила lint или format |
| DEV-RUN-003 | MUST | Изоляция целевой среды | процессам приложения в тестовой и production-среде |
| DEV-RUN-004 | SHOULD | Воспроизводимый локальный запуск | репозиторию запускаемого приложения |
| DEV-RUN-008 | MUST | Разделение локальной и целевой конфигурации | локальной, CI/CD- и deployment-конфигурации |
| DEV-RUN-009 | MUST | Безопасные входы локального запуска | локальному запуску приложения |
| DEV-SDK-001 | MUST | Объявленная публичная поверхность | каждому публикуемому SDK |
| DEV-SDK-002 | MUST | Совместимость публичного API | изменению опубликованного SDK |
| DEV-SDK-003 | MUST | Соответствие протокольному контракту | SDK, инкапсулирующему API или протокол |
| DEV-SDK-004 | MUST | Минимальный и воспроизводимый package | release package SDK |
| DEV-VER-001 | MUST | Проверяемый результат изменения | каждому изменению поведения, контракта, данных или сборки |
| DEV-VER-002 | MUST | Усиленная проверка существенного риска | изменению security-границы, публичного контракта, миграции, целостности данных или восстановления |
| DEV-VER-003 | MUST | Назначение обязательных проверок | CI-проверкам проекта |
| DEV-VER-004 | MUST | Нестабильная проверка | проверке, дающей разные результаты для одинаковых входов |
| DEV-VER-005 | SHOULD | Достаточность без дублирования | выбору нескольких способов проверки одного изменения |
| DEV-VER-006 | MUST | Детерминированная автоматизированная проверка | автоматизированной проверке backend-, worker-, data-pipeline- или frontend-компонента, используемой как evidence для merge или release |
| DEV-VER-007 | MUST | Изоляция данных проверки | автоматизированной проверке backend-, worker-, data-pipeline- или frontend-компонента вне production, которая читает или изменяет данные |
| DEV-VER-008 | MUST | Автоматическая проверка архитектурного инварианта | архитектурному инварианту принятого ADR или применимого требования, который определяется из исходного кода, dependency graph, schema, конфигурации или release-артефакта |
| DEV-VER-009 | MUST | Ограниченная ручная проверка инварианта | архитектурному инварианту, который технически невозможно проверить автоматически |
| DEV-VER-010 | MUST | Минимальный consumer contract | consumer contract, используемому как evidence совместимости независимо поставляемых consumer и provider |
| DEV-VER-011 | MUST | Проверка кандидата provider | release-кандидату provider с активными consumer contracts |
| DEV-VER-012 | MUST | Жизненный цикл consumer contract | каждому consumer contract |
| DOC-CLR-001 | MUST | Явная область документа | каждому нормативному документу |
| DOC-CLR-002 | MUST | Одна проверяемая норма на требование | каждому нормативному требованию |
| DOC-CLR-003 | MUST | Единая терминология | всем материалам репозитория |
| DOC-CLR-004 | SHOULD | Обоснованное использование визуализации | материалам со сложными связями |
| DOC-CLR-005 | MUST | Нормативный текст имеет приоритет | таблицам, схемам и другим справочным представлениям |
| DOC-CLR-006 | MUST | Отдельное хранение примеров | примерам кода, конфигурации, payload и интеграции |
| DOC-CLR-007 | MUST NOT | Запрет прямого переиспользования примеров | ИИ-агентам и разработчикам, использующим examples/ |
| DOC-CLR-008 | MUST | Синхронное обновление представлений | изменению требования, связанного со справочными материалами |
| DOC-CLR-009 | MUST | Минимально достаточный набор требований | добавлению или пересмотру нормативного требования |
| DOC-CLR-010 | MUST | Уровень обязательности по последствиям | выбору MUST, SHOULD или MAY |
| DOC-CLR-011 | MUST | Положительные признаки применимости | области нормативного документа и отдельного требования |
| DOC-CLR-012 | MUST | Контракт вместо способа реализации | проектированию нормативного требования |
| DOC-CLR-013 | MUST | Удаление требования без повторного использования ID | требованию, которое больше не регулирует необходимый риск или решение |
| FE-API-001 | MUST | Объявленный контракт и версия backend API | каждой интеграции с backend API |
| FE-API-002 | MUST | Толерантный потребитель API | обработке ответа backend API |
| FE-API-003 | MUST | Конечные тайм-ауты вызовов | каждому вызову backend API |
| FE-API-004 | MUST | Ограниченные повторы | автоматическим retry вызова backend API |
| FE-API-005 | MUST | Сопоставление ошибок для пользователя | неуспешному результату вызова backend API |
| FE-API-006 | MUST | Отмена запроса | отмене вызова backend API |
| FE-API-007 | MUST | Корреляция и распространение контекста трассы | запросу к backend API внутри отслеживаемой frontend-операции |
| FE-API-008 | MUST | Свежесть данных после изменения прав | данным, доступ к которым ограничен правами пользователя |
| FE-AXS-001 | MUST | Соответствие WCAG 2.2 AA | публичным и клиентским пользовательским сценариям |
| FE-AXS-002 | MUST | Семантическая разметка и управление с клавиатуры | интерфейсу приложения |
| FE-AXS-003 | MUST | Автоматизированные проверки в CI | компонентам и страницам приложения |
| FE-AXS-004 | SHOULD | Ручная проверка вспомогательными технологиями | критичным пользовательским сценариям |
| FE-AXS-005 | SHOULD | Доступность внутренних интерфейсов | внутренним и административным пользовательским сценариям, для которых WCAG 2.2 AA не установлен законом или контрактом |
| FE-BUILD-003 | MUST | Source maps для атрибуции ошибок | production-сборке, предназначенной для расследования ошибок |
| FE-BUILD-004 | MUST | Целостность и хеширование статических ресурсов | каждому статическому ресурсу production-артефакта |
| FE-BUILD-005 | MUST | Минимальное содержимое production bundle | финальному production-артефакту |
| FE-COMP-001 | MUST | Объявленная матрица поддержки браузеров | целевой среде выполнения приложения |
| FE-COMP-002 | MUST | Соответствие сборки объявленной матрице | выходным файлам сборки |
| FE-COMP-003 | MUST | Feature detection и контролируемая деградация | использованию API браузера, необязательного для основного сценария |
| FE-COMP-004 | MUST | Обратно совместимое изменение матрицы | изменению действующей матрицы поддержки браузеров |
| FE-COMP-005 | SHOULD | Контроль соответствия матрицы реальным пользователям | данным о браузерах реальных пользователей |
| FE-CONF-001 | MUST | Разделение build-time и runtime конфигурации | конфигурации приложения |
| FE-CONF-002 | MUST | Отсутствие секретов в клиентском bundle | browser bundle, HTML и передаваемым клиенту данным |
| FE-CONF-003 | MUST | Типизация и проверка конфигурации | итоговой конфигурации приложения |
| FE-CONF-004 | MUST | Runtime конфигурация из доверенного источника | runtime параметрам, загружаемым приложением |
| FE-CONF-005 | MUST | Отсутствие секретов и отладочного вывода в production | диагностическому выводу в браузере |
| FE-ERR-001 | SHOULD | Канал сбора ошибок | решению о централизованном сборе расследуемых ошибок |
| FE-ERR-002 | MUST | Автоматически собираемые ошибки | верхней границе выполнения в браузере |
| FE-ERR-005 | MUST | Идентификация приложения, выпуска и ошибки | каждому событию ошибки |
| FE-ERR-006 | MUST | Корреляция с трассой и сессией | событию ошибки внутри активной трассы или сессии |
| FE-ERR-007 | MUST | Защита чувствительных данных | событиям, breadcrumbs, user context и дополнительным данным |
| FE-ERR-009 | MUST | Отказоустойчивость SDK | отправке событий ошибок |
| FE-EXT-001 | MUST | Реестр и изменение стороннего кода | каждому стороннему browser-компоненту |
| FE-EXT-002 | MUST | Consent и локальные идентификаторы | сторонней обработке, для которой политика требует consent |
| FE-EXT-003 | MUST | Ограниченное влияние и отключение | загрузке и выполнению стороннего browser-компонента |
| FE-FORM-001 | MUST | Контракт поля формы | каждому полю, значение которого передаётся в прикладную операцию |
| FE-FORM-002 | MUST | Единственный результат отправки | отправке формы, создающей прикладной эффект |
| FE-FORM-003 | MUST | Черновик и несохранённое изменение | форме с autosave, локальным черновиком или предупреждением о несохранённых данных |
| FE-INTL-001 | MUST | Внешнее хранение пользовательских строк | пользовательскому интерфейсу приложения |
| FE-INTL-002 | MUST | Объявленные локали и отступление | поддерживаемым языкам приложения |
| FE-INTL-003 | MUST | Формат сообщений и множественное число | сообщениям с параметрами и числами |
| FE-INTL-004 | MUST | Направление текста и расположение | приложениям с поддержкой локалей разного направления текста |
| FE-NAV-001 | MUST | URL как контракт навигации | пользовательскому состоянию, включённому в browser history или предназначенному для прямого открытия |
| FE-NAV-002 | MUST | Результат перехода и изменение маршрута | разрешению маршрута и изменению опубликованного URL |
| FE-NAV-003 | SHOULD | Фокус и позиция после перехода | client-side переходу без полной загрузки документа |
| FE-OBS-001 | SHOULD | Канал RUM и Web Vitals | решению о сборе RUM и Web Vitals |
| FE-OBS-002 | SHOULD | Канал распределённых трасс | решению о сборе распределённых трасс из браузера |
| FE-OBS-003 | MUST | Идентификация ресурса и выпуска | всем сигналам телеметрии приложения |
| FE-OBS-005 | MAY | Корреляция сессии | данным о сессии |
| FE-OBS-006 | MUST | Ограниченная кардинальность и объём | именам и атрибутам RUM и трасс |
| FE-OBS-007 | MUST | Согласие и приватность | сбору телеметрии о пользователе |
| FE-OBS-008 | MUST | Отказоустойчивость SDK телеметрии | RUM SDK и OTLP exporter |
| FE-OFF-001 | MUST | Жизненный цикл данных browser storage | прикладным данным в localStorage, sessionStorage, IndexedDB, Cache Storage или эквивалентном browser-хранилище, переживающим владельца страницы либо доступным нескольким browser-контекстам |
| FE-OFF-002 | MUST | Объявленный offline-результат | приложению, заявляющему пользовательскую работу без сети |
| FE-OFF-003 | MUST | Повторная синхронизация и конфликт | изменению, сохранённому для последующей синхронизации |
| FE-OFF-004 | MUST | Release lifecycle service worker и PWA | приложению с service worker или устанавливаемым PWA |
| FE-PERF-001 | SHOULD | Измерение Core Web Vitals | production-приложению |
| FE-PERF-002 | SHOULD | Бюджет размера bundle | production-сборке |
| FE-PERF-003 | SHOULD | Стратегия загрузки ресурсов | ресурсам production-приложения |
| FE-PERF-004 | SHOULD | Регрессия производительности в CI | CI pipeline проекта |
| FE-PROF-001 | MUST | Машинно-читаемый профиль рендеринга | каждому frontend-приложению |
| FE-PROF-002 | MUST | Разделение клиентского и доверенного кода | проекту с SSR, SSG или edge |
| FE-PROF-003 | MUST | Детерминированная гидратация | HTML, который продолжает выполнение в браузере |
| FE-PROF-004 | MUST | Изоляция данных запросов SSR и edge | состоянию, создаваемому при обработке запроса SSR или edge |
| FE-PROF-005 | MUST | Воспроизводимость SSG | данным и страницам, создаваемым при SSG |
| FE-PROF-007 | MUST | Безопасная сериализация клиентского состояния | данным, встраиваемым в HTML для hydration или client runtime |
| FE-SEC-002 | MUST | Content Security Policy | каждой поставляемой странице приложения |
| FE-SEC-003 | MUST | Предотвращение XSS | отображению данных в DOM |
| FE-SEC-004 | MUST | Хранение токенов и сессии | хранению учётных данных в браузере |
| FE-SEC-005 | MUST | Авторизация выполняется на backend | каждой защищённой операции |
| FE-SEC-006 | MUST | Целостность внешних скриптов | скриптам и ресурсам, загружаемым из внешних источников |
| FE-SEC-007 | MUST | Безопасность cross-origin взаимодействия | postMessage, встраиванию во фрейм и cross-origin запросам |
| FE-SEC-008 | MUST | Защита от open redirect | перенаправлению по URL из пользовательского ввода |
| FE-SEO-001 | MUST | Явная политика индексирования | внешне доступному маршруту frontend-приложения |
| FE-SEO-002 | MUST | Индексируемое представление и metadata | индексируемой странице |
| FE-SEO-003 | MUST | Crawl inventory и изменение URL | приложению хотя бы с одной индексируемой страницей |
| FE-SEO-004 | SHOULD | Проверяемая цель GEO | индексируемому содержимому, для которого заявлена цель видимости в генеративной поисковой выдаче |
| FE-TST-006 | MUST | Область unit-теста | unit-тестам |
| FE-TST-007 | SHOULD | Область component-теста | component-тестам |
| FE-TST-008 | MUST | Contract-тест против backend API | клиенту backend API |
| FE-TST-009 | MUST | Область и среда e2e-теста | автоматизированным e2e-тестам |
| INF-ARC-001 | MUST | Разрешение архитектурной ссылки | каждой ссылке вида architecture:<ID> или ограниченному диапазону |
| INF-ARC-002 | MUST | Границы между приложением и инфраструктурой | проектированию deployment-конфигурации |
| INF-ARC-003 | MUST | Владение нормой и порядок изменения | требованию или изменению на границе приложения и инфраструктуры |
| INF-ART-001 | MUST | Единственный release image | release image для non-production или production |
| INF-ART-002 | SHOULD | Неизменяемая ссылка | non-production и production deployment |
| INF-ART-003 | MUST | Метаданные происхождения | release image |
| INF-ART-004 | SHOULD | Release gate сканирования уязвимостей | release image |
| INF-ART-005 | MUST | Retention и rollback | container registry с production images |
| INF-ART-006 | MUST | Доступность Registry | production deployment |
| INF-ART-007 | MUST | Архитектура процессора | цели с schedulable-узлами нескольких CPU architectures либо image, поддерживающему несколько platforms |
| INF-ART-008 | SHOULD | Проверка источника на границе deployment | production-платформе, поддерживающей policy проверки image при deployment |
| INF-BCK-001 | MUST | Цели восстановления | каждой production-цели с capability persistent-data |
| INF-BCK-002 | MUST | Копия вне отказного домена | production backup |
| INF-BCK-003 | MUST | Velero для ресурсов Kubernetes | production Kubernetes-цели с capability persistent-data |
| INF-BCK-004 | MUST | Longhorn для HA блочного хранилища | persistent volume, которому требуется отказоустойчивое блочное хранение внутри Kubernetes-кластера |
| INF-BCK-005 | MUST | Longhorn backup не равен репликации | production volume Longhorn |
| INF-BCK-006 | MUST | Регулярная проверка восстановления | production backup |
| INF-BCK-007 | MUST | Согласованность данных | backup изменяемого persistent state |
| INF-BCK-008 | MUST | Защита backup | production backup |
| INF-BCK-009 | MUST | Наблюдаемость backup | production backup job |
| INF-BCK-010 | MUST | Порядок полного восстановления | production disaster recovery |
| INF-CMP-001 | MUST | Явный профиль Compose | каждой Compose-цели |
| INF-CMP-002 | MUST | Воспроизводимый запуск | Compose-проекту |
| INF-CMP-003 | MUST | Изоляция и публикация портов | Compose service |
| INF-CMP-004 | MUST | Секреты и данные | Compose service |
| INF-CMP-005 | MUST | GitLab Runner для удалённой цели | deployment Compose через GitLab CI |
| INF-CMP-006 | MUST | Local-данные и credentials | local Compose-цели |
| INF-CMP-007 | MUST | Production Docker host | production Compose-цели |
| INF-CMP-008 | MUST | Restart и журналирование | удалённой Compose-цели |
| INF-CMP-009 | MUST | Ресурсные границы | удалённой Compose-цели |
| INF-CMP-010 | MUST | Упрощённый локальный стек | local Compose-цели, заменяющей или исключающей production компоненты |
| INF-DAT-001 | MUST | Явно управляемый экземпляр | PostgreSQL, Valkey, NATS JetStream или MinIO |
| INF-DAT-002 | MUST | Роль приложения | доступу приложения к production PostgreSQL |
| INF-DAT-003 | MUST | Роль данных и исчерпание памяти | production Valkey |
| INF-DAT-004 | MUST | Ресурсный контракт и quorum JetStream | JetStream streams, Object Store и Key/Value Store |
| INF-DAT-005 | MUST | Контракт bucket | production MinIO bucket |
| INF-DAT-006 | MUST | Изоляция потребителей | общему платформенному сервису |
| INF-DAT-007 | MUST | Шифрование и server identity | соединению с production PostgreSQL, Valkey, NATS JetStream или MinIO через сеть |
| INF-DAT-008 | MUST | Наблюдаемость data service | production data service |
| INF-DAT-009 | SHOULD | Изоляция сообщений и replay | JetStream consumer с конечной политикой повторов |
| INF-DAT-010 | MUST | Бюджет соединений PostgreSQL | клиентским соединениям production PostgreSQL |
| INF-DAT-011 | MUST | Failover и fencing PostgreSQL | production PostgreSQL профиля high-availability |
| INF-DAT-012 | MUST | Failover и потеря записей Valkey | production Valkey профиля high-availability |
| INF-DAT-013 | MUST | Управляемая конфигурация consumer | broker-side JetStream consumer |
| INF-DAT-014 | MUST | Отказные домены MinIO | production MinIO профиля high-availability |
| INF-DAT-015 | MUST | Identity миграции PostgreSQL | изменению schema production PostgreSQL |
| INF-DAT-016 | MUST | Изоляция service writer | доступу двух или более независимо развёртываемых сервисов к общему физическому data service |
| INF-DAT-017 | MUST | Версионированная конфигурация доставки | production MinIO bucket notification в области architecture:INT-HOOK-006 |
| INF-DAT-018 | MUST | Ёмкость и влияние отказа | очереди production MinIO bucket notifications в области architecture:INT-HOOK-006 |
| INF-DAT-019 | MUST | Обнаружение задержки и потери | production MinIO bucket notifications в области architecture:INT-HOOK-006 |
| INF-DEC-001 | MUST | План удаления | удалению production-цели или stateful-компонента |
| INF-DEC-002 | MUST | Порядок отзыва ресурсов | выводу цели из эксплуатации |
| INF-DEC-003 | MUST | Сохранение истории | завершённому production decommission |
| INF-DLV-001 | MUST | Управляемый pipeline | каждой цели non-production и production |
| INF-DLV-002 | MUST | GitLab Agent | прямому Kubernetes deployment из GitLab CI |
| INF-DLV-003 | MUST | GitOps reconciliation | цели с профилем gitops |
| INF-DLV-004 | MUST | Защита production | production deployment |
| INF-DLV-005 | MUST | Сериализация изменений | deployment одной цели |
| INF-DLV-006 | MUST | Проверяемый diff | изменению non-production или production |
| INF-DLV-007 | MUST | Продвижение между средами | release, проходящему несколько целей |
| INF-DLV-008 | MUST | Согласованность нескольких репозиториев | конфигурации вне репозитория приложения |
| INF-DLV-009 | MUST | Local-доставка | цели с delivery local |
| INF-IAC-001 | MUST | Версионируемый источник | цели с capability infrastructure-as-code |
| INF-IAC-002 | MUST | Plan перед apply | изменению non-production или production |
| INF-IAC-003 | MUST | Состояние и блокировка | stateful IaC-инструменту |
| INF-IAC-004 | MUST | Drift | production-ресурсам, управляемым IaC |
| INF-K8S-001 | MUST | Декларативный workload | каждому Kubernetes-развёртыванию |
| INF-K8S-002 | MUST | Health probes | контейнеру приложения, имеющему архитектурные health checks |
| INF-K8S-003 | MUST | Ресурсы и безопасный runtime | каждому контейнеру приложения |
| INF-K8S-004 | MUST | Service account | каждому workload |
| INF-K8S-005 | MUST | Завершение процесса | workload с долгими запросами или фоновой обработкой |
| INF-K8S-006 | MUST | Изменение ConfigMap и Secret | workload, использующему ConfigMap или Secret |
| INF-K8S-007 | MUST | Миграция как отдельная операция | release с миграцией данных |
| INF-K8S-008 | MUST | Ограниченный Job и CronJob | Kubernetes Job и CronJob |
| INF-K8S-009 | MUST | Управляемое постоянное состояние | workload, записывающему сохраняемые данные |
| INF-LHN-001 | MUST | Обоснованный выбор Longhorn | capability longhorn |
| INF-LHN-002 | MUST | Storage-узлы и диски | production Longhorn |
| INF-LHN-003 | MUST | Реплики и topology | production Longhorn volume |
| INF-LHN-004 | MUST | StorageClass и жизненный цикл volume | Longhorn StorageClass |
| INF-LHN-005 | MUST | Обслуживание и обновление | production Longhorn |
| INF-LHN-006 | MUST | Наблюдаемость Longhorn | production Longhorn |
| INF-MAN-001 | MUST | Manifest проекта | каждому проекту, поставляемому по этому стандарту |
| INF-MAN-002 | MUST | Отдельное объявление каждой цели | проекту с несколькими средами или runtime |
| INF-MAN-003 | MUST | Единая зафиксированная версия стандартов | ссылкам на корпоративные стандарты |
| INF-MAN-004 | MUST | Источник deployment-конфигурации | каждой цели |
| INF-MAN-005 | MUST | Обоснование ограниченного production-профиля | production-цели с runtime compose |
| INF-MAN-006 | MUST | Семантика capability | каждой цели |
| INF-NET-001 | MUST | Публикация через APISIX | HTTP(S)-сервису, публикуемому через ingress за пределы Kubernetes-кластера |
| INF-NET-002 | MUST | TLS и cert-manager | ingress в non-production и production |
| INF-NET-003 | MUST | Сетевой доступ по необходимости | production namespace при поддержке NetworkPolicy платформой |
| INF-NET-004 | MUST | Внутренняя адресация | межсервисному трафику внутри Kubernetes |
| INF-NET-005 | MUST | Управляемый DNS | endpoint non-production и production |
| INF-NET-006 | MUST | Защита публичного маршрута | capability public-ingress |
| INF-OBS-001 | MUST | Корпоративный маршрут сигналов | production workload |
| INF-OBS-002 | MUST | Идентификация deployment | телеметрии workload |
| INF-OBS-003 | MUST | Dashboard и alerts | production-цели |
| INF-OBS-004 | MUST | Ограничение доступа и хранения | инфраструктурной телеметрии |
| INF-OBS-005 | MUST | Наблюдаемость платформенных компонентов | production Kubernetes-платформе |
| INF-OBS-006 | MUST | Доставка телеметрии не блокирует workload | Vector и OpenTelemetry Collector на пути приложения |
| INF-OBS-007 | MUST | Сигналы non-production release | non-production-цели, используемой как release gate |
| INF-OPS-001 | MUST | Runbook критичного отказа | production-цели |
| INF-OPS-002 | MUST | Аварийный доступ | production-платформе |
| INF-OPS-003 | MUST | Управление инцидентом | production-инциденту |
| INF-OPS-004 | MUST | Проверка после изменения | изменению production |
| INF-OPS-005 | MUST | Плановое обслуживание | production platform, data service или Docker host |
| INF-OPS-006 | MUST | Периодический review доступа | production GitLab, cluster, data service и backup storage |
| INF-OWN-001 | MUST | Владелец и маршрут связи | каждой цели non-production и production |
| INF-OWN-002 | MUST | Операционный README | каждой production-цели |
| INF-PKG-001 | MUST | Поддерживаемый формат | Kubernetes-конфигурации приложения |
| INF-PKG-002 | MUST | Разделение общей конфигурации и среды | нескольким целям одного приложения |
| INF-PKG-003 | MUST | Детерминированный render | CI-проверке конфигурации |
| INF-PKG-004 | MUST | Проверка до применения | merge request с Kubernetes-конфигурацией |
| INF-PKG-005 | MUST | Отсутствие секретных значений в render | Helm/Kustomize render и diff |
| INF-PKG-006 | MUST | Удаление и переименование ресурсов | изменению identity Kubernetes-ресурса |
| INF-PLT-001 | MUST | Идентификация и границы платформы | каждой Kubernetes-платформе |
| INF-PLT-002 | MUST | Изоляция целей | Kubernetes-развёртываниям |
| INF-PLT-003 | MUST | Синхронизация времени и DNS | узлам production-платформы |
| INF-PLT-004 | MUST | Управляемые обновления платформы | production-платформе |
| INF-PLT-005 | MUST | Инвентаризация и декларативность | конфигурации платформы |
| INF-PLT-006 | MUST | Основание профиля high-availability | платформе, размещающей production-цель high-availability |
| INF-PLT-007 | MUST | Восстановление платформы | production Kubernetes-платформе |
| INF-PLT-008 | MUST | Квоты и резерв платформы | общей production-платформе |
| INF-PLT-009 | MUST | Admission policy production | production Kubernetes-платформе |
| INF-PLT-010 | MUST | Жизненный цикл self-managed узла | Kubernetes-узлу, ОС и container runtime которого эксплуатирует владелец платформы |
| INF-PLT-011 | MUST | Граница административного доступа к узлу | self-managed Kubernetes-узлу |
| INF-REL-001 | MUST | План поставки | production release |
| INF-REL-002 | MUST | Rolling update Kubernetes | Kubernetes Deployment в профиле high-availability |
| INF-REL-003 | MUST | Single-instance deployment | production-цели single-instance |
| INF-REL-004 | MUST | Проверяемый rollback или roll-forward | каждой production-поставке |
| INF-REL-005 | MUST | Фиксация результата | завершившемуся production deployment |
| INF-REL-006 | MUST | Порядок конфигурации, секрета и приложения | release, изменяющему более одного из image, ConfigMap, Secret, schema данных или route |
| INF-REL-007 | MUST | Compose release | удалённой Docker Compose-цели |
| INF-REL-008 | MUST | Очистка старых revisions | завершённому release |
| INF-REL-009 | MUST | Маршрутизация и evidence canary | инфраструктурной реализации production canary по architecture:DEP-ROL-006 и architecture:DEP-ROL-007 |
| INF-REL-010 | MUST | Жизненный цикл blue/green revisions | инфраструктурной реализации production blue/green по architecture:DEP-ROL-008 |
| INF-RES-001 | MUST | Проверяемая ёмкость | production-цели |
| INF-RES-002 | MUST | High-availability workload | stateless workload профиля high-availability |
| INF-RES-003 | SHOULD | Автоматическое масштабирование | переменной нагрузке профиля high-availability |
| INF-RES-004 | MUST | Плановый disruption | production Kubernetes-платформе |
| INF-RES-005 | MUST | Проверяемая модель отказа | production-цели high-availability |
| INF-RES-006 | MUST | Single-instance как ограничение | production-цели single-instance |
| INF-RES-007 | MUST | Защита от eviction и pressure | production Kubernetes workload |
| INF-RES-008 | MUST | Ёмкость горизонтального масштабирования | production Kubernetes workload с автоматическим горизонтальным масштабированием |
| INF-RES-009 | MUST | Масштабирование фоновой обработки | автоматически масштабируемому consumer или worker, обрабатывающему сохраняемую очередь либо поток |
| INF-SEC-001 | MUST | Допустимые источники секретов | runtime-секретам |
| INF-SEC-002 | MUST | Sealed Secrets | SealedSecret |
| INF-SEC-003 | MUST | Vault | секрету HashiCorp Vault |
| INF-SEC-004 | MUST | Kubernetes Secret | напрямую создаваемому Kubernetes Secret |
| INF-SEC-005 | MUST | Ротация и отзыв | production credential |
| INF-SEC-006 | MUST | Минимальные полномочия Registry | runtime image |
| INF-SEC-007 | MUST | Базовый аудит изменений | production |
| INF-SEC-008 | MUST | Шифрование Kubernetes Secrets в datastore | production Kubernetes-платформе |
| INF-SEC-009 | MUST | GitLab CI/CD Variables | secret в GitLab CI/CD Variable |
| INF-SEC-010 | MUST | Минимальная доставка секрета в Pod | Pod с несколькими containers или несколькими secrets |
| INF-SEC-011 | SHOULD | Периодическая проверка базовых уязвимостей | image, продолжающему работать в production |
| INF-SEC-012 | MUST | Изоляция production-данных | local и non-production |
| INF-SEC-013 | MUST | Доступность источника секретов | production Vault, Sealed Secrets controller или иному компоненту доставки secrets |
| INF-SEC-014 | SHOULD | Предпочтительный Registry | production runtime image |
| INF-SEC-015 | MUST | Шифрование мест хранения | production-данным класса, для которого политика по architecture:DATA-CLS-001 требует шифрования при хранении |
| INF-SEC-016 | MUST | Жизненный цикл ключа данных | ключу шифрования, реализующему INF-SEC-015 |
| INF-SEC-017 | SHOULD | Федеративная workload identity | Kubernetes workload, обращающемуся к внешнему API, который поддерживает федеративную workload identity |
| INT-CACHE-001 | MUST | Явная политика кэширования | динамическому HTTP-представлению, которое browser, reverse proxy или shared cache может сохранить |
| INT-CACHE-002 | MUST | Cache key и разграничение доступа | представлению в shared cache |
| INT-CACHE-003 | MUST | Freshness, revalidation и invalidation | изменяемому кэшируемому представлению |
| INT-EVT-001 | MUST | Версионируемая схема | каждому публикуемому событию |
| INT-EVT-002 | MUST | Совместимость схемы | изменению действующей версии события |
| INT-EVT-003 | MUST | Семантика доставки | producer и consumer внешнего message broker |
| INT-EVT-004 | MUST | Корреляция и защита данных | metadata и payload события |
| INT-EVT-005 | MUST | Атомарная публикация изменения | событию, сообщающему об изменении транзакционных данных |
| INT-EVT-008 | MUST | Backpressure producer | прикладной очереди между producer и broker client |
| INT-EVT-009 | SHOULD | Контракт dead-letter и replay | сообщениям, исчерпавшим политику повторной обработки |
| INT-EVT-010 | MUST | Минимальные полномочия клиента | конфигурации identity producer и consumer в проекте |
| INT-EVT-011 | MUST | Владение topology и subscription | destination, stream, queue, subscription и consumer group внешнего message broker |
| INT-EVT-012 | MUST | Backlog, retention и восстановление | асинхронному каналу, потеря или задержка которого влияет на обязательный бизнес-результат |
| INT-EVT-013 | MUST | Устаревшие события и версия состояния | consumer, строящему изменяемое состояние из событий, которые могут доставляться повторно или не по порядку |
| INT-EVT-014 | MUST | Сверка критичной асинхронной проекции | асинхронно построенной проекции, расхождение которой нарушает финансовый результат, права доступа, обязательный аудит или другой критичный контракт |
| INT-EVT-015 | MUST | Явное назначение события | каждому публикуемому событию |
| INT-FILE-001 | MUST | Опубликованный контракт передачи | каждому HTTP endpoint upload или download |
| INT-FILE-002 | MUST | Недоверенный upload | приёму файла от browser, mobile-приложения или внешнего клиента |
| INT-FILE-003 | MUST | Идемпотентный и возобновляемый upload | upload, допускающему retry, chunks или resume |
| INT-FILE-004 | MUST | Авторизованный и воспроизводимый download | выдаче файла или временной ссылки на него |
| INT-GQL-001 | MUST | Версионируемая схема | каждому GraphQL API |
| INT-GQL-002 | MUST | Совместимость схемы | изменению опубликованной GraphQL-схемы |
| INT-GQL-003 | MUST | Ограничение операций | входящей GraphQL query, mutation или subscription |
| INT-GQL-004 | MUST | Авторизация каждого resolver | полю, раскрывающему защищённые данные или выполняющему mutation |
| INT-GQL-005 | MUST | Ошибки и частичный результат | GraphQL response с errors |
| INT-GRPC-001 | MUST | Версионируемый Protocol Buffers контракт | каждому gRPC service |
| INT-GRPC-002 | MUST | Wire-совместимость | изменению опубликованного .proto |
| INT-GRPC-003 | MUST | Deadline и отмена | каждому gRPC-вызову |
| INT-GRPC-004 | MUST | Статусы и детали ошибки | неуспешному завершению RPC |
| INT-GRPC-005 | MUST | Ограничение сообщений и потоков | unary и streaming RPC |
| INT-HOOK-001 | MUST | Версионируемый контракт события | каждому типу webhook |
| INT-HOOK-002 | MUST | Проверка подлинности доставки | webhook consumer |
| INT-HOOK-003 | MUST | Идемпотентный consumer | повторной доставке webhook |
| INT-HOOK-004 | MUST | Ограниченный producer | исходящей доставке webhook |
| INT-HOOK-005 | MUST | Минимизация и фильтрация payload | созданию webhook payload |
| INT-HOOK-006 | MUST | Явная гарантия доставки | webhook, потеря или задержка которого нарушает обязательный бизнес-результат |
| INT-HOOK-007 | MUST | Восстановление пропущенной доставки | webhook из INT-HOOK-006, фактическая гарантия которого допускает потерю события до обязательного бизнес-результата |
| INT-HTTP-001 | MUST | Версионируемый контракт consumer | каждому исходящему HTTP-вызову backend-, worker- или data-pipeline-компонента |
| INT-HTTP-002 | MUST | Ограниченный и проверенный ответ | HTTP-ответу, получаемому backend-, worker- или data-pipeline-компонентом |
| INT-HTTP-003 | MUST | Неопределённый результат изменяющего вызова | исходящему HTTP-вызову, который может создать необратимый или повторно наблюдаемый эффект у provider |
| INT-NATS-001 | MUST | Выбор режима доставки | взаимодействию через NATS |
| INT-NATS-002 | MUST | Контракт stream и consumer | JetStream stream или consumer, используемым проектом |
| INT-NATS-003 | MUST | Область применения JetStream KV | данным проекта в JetStream Key/Value bucket |
| INT-NATS-004 | MUST | Область применения JetStream Object Store | объекту проекта в JetStream Object Store |
| INT-NATS-005 | MUST | NKey и полномочия subject | аутентификации NATS-клиента посредством NKey |
| INT-NATS-006 | MUST | Контракт request/reply | взаимодействию через NATS request/reply |
| INT-NATS-007 | MUST | Подтверждённая публикация JetStream | producer, публикующему сообщение в JetStream |
| INT-NATS-008 | MUST | Единственный responder | NATS request/reply с несколькими взаимозаменяемыми экземплярами responder |
| INT-WF-001 | MUST | Идентичность и источник истины workflow | каждому экземпляру distributed workflow |
| INT-WF-002 | MUST | Закрытая модель состояний и переходов | модели distributed workflow |
| INT-WF-003 | MUST | Контракт шага | каждому шагу distributed workflow с внешним эффектом или ожиданием |
| INT-WF-004 | MUST | Компенсация и необратимый эффект | каждому подтверждённому эффекту, после которого workflow может завершиться безуспешно |
| INT-WF-005 | MUST | Конкурентное выполнение | двум workflow, способным изменить один логический бизнес-объект или исчерпаемый ресурс |
| INT-WF-006 | MUST | Автоматическое восстановление и наблюдаемость | нетерминальному distributed workflow |
| INT-WF-007 | MUST | Управляемое вмешательство | ручному изменению выполнения distributed workflow |
| INT-WS-001 | MUST | Версионируемый прикладной протокол | сообщениям WebSocket-соединения |
| INT-WS-002 | MUST | Аутентификация и смена прав | защищённому WebSocket-соединению |
| INT-WS-003 | MUST | Ограничение сообщений и очередей | приёму и отправке сообщений |
| INT-WS-004 | MUST | Жизненный цикл и восстановление клиента | разрыву и повторному установлению соединения |
| INT-WS-005 | MUST | Корреляция запроса и ответа | двунаправленной команде с асинхронным результатом |
| MOB-API-001 | MUST | Версионируемый контракт | каждому backend API |
| MOB-API-002 | MUST | Timeout, отмена и retry | каждому сетевому вызову |
| MOB-API-003 | MUST | Состояние сети и пользовательский результат | неуспешному или отложенному вызову |
| MOB-API-004 | MUST | Корреляция и фоновые запросы | запросу внутри активной операции |
| MOB-API-005 | MUST | Поддержка установленной версии | ограничению backend-возможностей по версии установленного мобильного приложения |
| MOB-AXS-001 | MUST | Семантика вспомогательных технологий | интерактивному и значимому визуальному элементу |
| MOB-AXS-002 | MUST | Масштабирование текста и визуальная различимость | пользовательскому тексту, состоянию и критичному контролу |
| MOB-AXS-003 | SHOULD | Размер цели и альтернативный ввод | touch target и жесту |
| MOB-AXS-004 | MUST | Блокирующая проверка критичных сценариев | критичному пользовательскому сценарию и изменению общей навигации либо design system |
| MOB-BT-001 | MUST | Разрешение и ограниченное обнаружение | поиску Bluetooth-устройств или установлению соединения |
| MOB-BT-002 | MUST | Проверяемая identity peer | Bluetooth-соединению, передающему защищённые данные или выполняющему защищённую операцию |
| MOB-BT-003 | MUST | Контракт обмена и восстановление | прикладным сообщениям или командам поверх Bluetooth |
| MOB-BUILD-001 | MUST | Зафиксированная среда сборки | локальной среде и CI-сборке |
| MOB-BUILD-002 | MUST | Детерминированная сборка и идентификация | каждому release artifact |
| MOB-BUILD-003 | MUST | Управление signing credentials | сертификатам, provisioning profiles и signing keys |
| MOB-BUILD-004 | MUST | Каналы предварительной поставки | предрелизной проверке |
| MOB-BUILD-005 | MUST | Production-каналы и продвижение | публикации production |
| MOB-BUILD-006 | MUST | Управляемое поэтапное распространение | production release |
| MOB-BUILD-007 | SHOULD | Контроль размера приложения | release artifact и store download |
| MOB-CONF-001 | MUST | Публичность клиентской конфигурации | значениям внутри приложения |
| MOB-CONF-002 | MUST | Типизация и выбор окружения | итоговой конфигурации приложения |
| MOB-CONF-003 | MUST | Remote configuration и feature flags | параметрам, получаемым после установки |
| MOB-DATA-001 | MUST | Классификация локальных данных | каждому сохраняемому набору данных |
| MOB-DATA-002 | MUST | Шифрование и удаление | чувствительным локальным данным |
| MOB-DATA-003 | MUST | Версионирование локальной схемы | базе и сериализованному состоянию между версиями приложения |
| MOB-DATA-004 | MUST | Контракт offline-сценария | приложению, заявившему offline-работу |
| MOB-DATA-005 | MUST | Конфликты и повторная синхронизация | синхронизации локальных изменений |
| MOB-DATA-006 | MUST | Изоляция данных между аккаунтами | приложению, допускающему вход или переключение между несколькими аккаунтами на одном устройстве |
| MOB-DATA-007 | MUST | Восстановление на новом устройстве | данным приложения, включённым в platform backup или device-to-device migration |
| MOB-DEP-001 | MUST | Зависимости iOS | разрешению сторонних пакетов iOS-приложения |
| MOB-DEP-002 | MUST | Зависимости Android | разрешению сторонних пакетов Android-приложения |
| MOB-GEO-001 | MUST | Режим и разрешение геолокации | запросу или продолжению получения местоположения устройства |
| MOB-GEO-002 | MUST | Качество и актуальность результата | координатам, используемым для прикладного результата |
| MOB-GEO-003 | MUST | Доверие и жизненный цикл геоданных | использованию, хранению или передаче device location |
| MOB-OBS-001 | SHOULD | Маршрут телеметрии | решению о сборе трасс, метрик и mobile performance |
| MOB-OBS-002 | SHOULD | Маршрут ошибок | решению о централизованном сборе mobile-ошибок |
| MOB-OBS-003 | MUST | Идентификация выпуска и сигнала | каждому сигналу |
| MOB-OBS-004 | MUST | Корреляция и ограниченная кардинальность | span, событию ошибки и метрике |
| MOB-OBS-005 | SHOULD | Mobile performance и стабильность | production-приложению |
| MOB-OBS-006 | MUST | Защита данных телеметрии | telemetry payload |
| MOB-OBS-007 | SHOULD | Rendering performance | экрану с прокруткой, animation или частым обновлением UI |
| MOB-PLAT-001 | MUST | Push notifications | приложению с push notifications |
| MOB-PLAT-002 | MUST | Universal links и App Links | внешней навигации в приложение |
| MOB-PLAT-003 | MUST | Фоновое выполнение | background task, upload, download или sync |
| MOB-PLAT-004 | MUST | Биометрическая аутентификация | Face ID, Touch ID или Android BiometricPrompt |
| MOB-PLAT-005 | MUST | Восстановление UI state | background, process death и configuration change |
| MOB-PLAT-007 | MUST | Локализация и форматирование | пользовательскому тексту и layout приложения, поддерживающего две и более locale либо имеющего обязательный процесс перевода |
| MOB-PLAT-008 | MUST | Контракт системной навигации | экрану, modal-состоянию или пользовательскому сценарию с переходом назад либо закрытием |
| MOB-SEC-001 | MUST | Системный OAuth flow | интерактивной аутентификации |
| MOB-SEC-002 | MUST | Хранение токенов и ключей | access token, refresh token и приватному ключевому материалу |
| MOB-SEC-003 | MUST | TLS и сетевое доверие | каждому сетевому соединению |
| MOB-SEC-004 | MUST | Авторизация и недоверенность клиента | каждой защищённой операции |
| MOB-SEC-005 | MUST | Защита отображаемых данных | чувствительным данным на экране и в системных представлениях |
| MOB-SEC-006 | MUST | Privacy permissions | camera, microphone, location, Bluetooth, nearby devices, contacts, photos и tracking |
| MOB-SEC-007 | MUST | Серверный отзыв активной сессии | подтверждённому backend сигналу отзыва текущей сессии |
| MOB-SEC-008 | MUST | Назначение сбора данных сторонним SDK | стороннему SDK, способному собирать или передавать данные с устройства |
| MOB-TECH-001 | MUST | UI framework нативных приложений | исходному коду пользовательского интерфейса |
| MOB-TECH-002 | MUST | Языки и поддерживаемый синтаксис | production-коду приложения |
| MOB-TECH-003 | MUST | Изменение минимальной версии ОС | повышению минимальной поддерживаемой версии iOS или Android |
| MOB-TECH-004 | MUST | Раздельность платформенного кода | общему бизнес-контракту iOS и Android |
| MOB-TECH-005 | SHOULD | Базовая минимальная версия ОС | выбору минимальной поддерживаемой версии нового приложения |
| MOB-TST-001 | SHOULD | Уровни тестирования | изменению поведения с риском регрессии |
| MOB-TST-002 | MUST | Матрица устройств | проверке release candidate |
| MOB-TST-003 | MUST | Реальные платформенные сборки | обязательным CI jobs |
| MOB-TST-004 | MUST | Сеть, lifecycle и ресурсы | integration- и e2e-тестам поведения, зависящего от сети, lifecycle или исчерпаемого локального ресурса |
| MOB-TST-005 | MUST | Store upgrade и миграция | каждому release candidate |
| OBS-AUD-001 | MUST | Явный перечень аудируемых событий | каждому сервису, изменяющему защищаемые данные или доступ |
| OBS-AUD-002 | MUST | Отдельная классификация аудит-записей | каждой аудит-записи |
| OBS-AUD-003 | MUST | Обязательные поля аудит-события | каждой аудит-записи |
| OBS-AUD-004 | MUST | Содержание изменения | операциям изменения состояния |
| OBS-AUD-005 | MUST | Защита данных | всем аудит-записям |
| OBS-AUD-006 | MUST | Корректность результата | аудируемым операциям |
| OBS-AUD-007 | MUST | Неизменяемость и доступ | хранению и просмотру аудит-записей |
| OBS-AUD-008 | MUST | Время, порядок и дубликаты | формированию и обработке аудит-записей |
| OBS-AUD-009 | MUST | Хранение и контроль полноты | платформе аудит-логирования |
| OBS-ERR-001 | SHOULD | Канал сбора ошибок | решению о централизованном сборе расследуемых ошибок |
| OBS-ERR-002 | MUST | Автоматически собираемые ошибки | верхней границе процесса или операции |
| OBS-ERR-003 | MUST | Явно собираемые обработанные ошибки | вызовам явной отправки события |
| OBS-ERR-004 | MUST | Корреляция с трассой | событию ошибки внутри активной трассы |
| OBS-ERR-005 | MUST | Идентификация приложения и выпуска | каждому событию ошибки |
| OBS-ERR-006 | MUST | Диагностический контекст | каждому событию ошибки |
| OBS-ERR-007 | MUST | Защита чувствительных данных | событиям, breadcrumbs, attachments, user context и stack context |
| OBS-ERR-008 | SHOULD | Группировка и отпечаток ошибки | настройке grouping |
| OBS-ERR-009 | MUST | Отказоустойчивость SDK | отправке событий ошибок |
| OBS-LOG-001 | MUST | Структурированный однострочный формат | всем диагностическим логам приложения |
| OBS-LOG-002 | MUST | Единственный транспорт логов приложения | диагностическим логам во всех средах выполнения приложения |
| OBS-LOG-003 | MUST | Обязательные поля записи | каждой записи лога |
| OBS-LOG-004 | MUST | Корреляция с операцией и трассой | логам внутри входящего запроса, сообщения, job или другой отслеживаемой операции |
| OBS-LOG-005 | MUST | Контекст события | событиям, для расследования которых требуется предметный контекст |
| OBS-LOG-006 | MUST | Защита чувствительных данных | всем диагностическим логам и всем средам |
| OBS-LOG-007 | MUST | Семантика уровней | выбору уровня каждой записи |
| OBS-LOG-008 | MUST | Управление объёмом и отказами | конфигурации логирования приложения |
| OBS-MET-001 | SHOULD | OpenTelemetry и маршрут доставки | решению о сборе метрик приложения |
| OBS-MET-002 | MUST | Версия и идентификация ресурса | каждому потоку метрик приложения |
| OBS-MET-003 | MUST | Метрики результата и нагрузки | каждому типу входящей операции API, consumer и worker |
| OBS-MET-004 | MUST | Метрики зависимостей и насыщения | обязательным внешним зависимостям и ограниченным ресурсам процесса |
| OBS-MET-005 | MUST | Единая классификация результата | атрибутам результата и ошибки метрик |
| OBS-MET-006 | MUST | Ограниченная кардинальность | именам метрик и их атрибутам |
| OBS-MET-007 | MUST | Защита данных | именам, описаниям и атрибутам метрик |
| OBS-MET-008 | MUST | Описание пользовательских метрик | метрике, не определённой OpenTelemetry Semantic Conventions |
| OBS-MET-009 | MUST | Данные для SLI | production-операции, для которой определён SLI по OPS-SLO-001 |
| OBS-MET-010 | MUST | Ограничение влияния экспорта | OpenTelemetry SDK и OTLP exporter метрик |
| OBS-TRACE-001 | SHOULD | OpenTelemetry и маршрут доставки | решению о сборе распределённых трасс приложения |
| OBS-TRACE-002 | MUST | Версия Semantic Conventions | каждому проекту |
| OBS-TRACE-003 | MUST | Идентификация ресурса | всем span приложения |
| OBS-TRACE-004 | MUST | Распространение контекста | поддерживаемым синхронным и асинхронным межпроцессным вызовам |
| OBS-TRACE-005 | MUST | Обязательные границы span | входящим операциям и значимым зависимостям |
| OBS-TRACE-006 | MUST | Имя и атрибуты span | каждому span |
| OBS-TRACE-007 | MUST | Статус и регистрация ошибок | неуспешным операциям |
| OBS-TRACE-008 | MUST | Sampling и сохранение ошибок | настройке sampling трасс |
| OBS-TRACE-009 | MUST | Ограничение влияния телеметрии | SDK и OTLP exporter |
| OPS-CAP-001 | MUST | Проверяемая нагрузочная модель | возможности с SLO либо ресурсу, насыщение которого нарушает контрактный результат |
| OPS-CAP-002 | MUST | Нагрузочное доказательство перед release | новой критичной возможности или изменению SLO, лимита, алгоритма конкурентности либо потребления основного ресурса |
| OPS-CAP-003 | SHOULD | Запас и пересмотр ёмкости | ресурсу с прогнозируемым ростом или конечной квотой |
| OPS-INC-001 | MUST | Классификация и маршрут эскалации | компоненту, отказ которого требует оперативного реагирования |
| OPS-INC-002 | MUST | Управляемое ведение инцидента | подтверждённому production-инциденту |
| OPS-INC-003 | MUST | Экстренное изменение | обходу обычного merge или release gate во время инцидента |
| OPS-INC-004 | MUST | Разбор и корректирующие действия | инциденту с существенным пользовательским ущербом, потерей данных, нарушением security-границы или повторяющейся причиной |
| OPS-SLO-001 | MUST | Пользовательские SLI | каждой критичной возможности production-сервиса, data pipeline или клиентского приложения |
| OPS-SLO-002 | MUST | Численные SLO | каждому SLI production-сервиса, data pipeline или клиентского приложения |
| OPS-SLO-003 | SHOULD | Error budget | SLO успешности или доступности |
| OPS-SLO-004 | MUST | Оповещения по SLO | alert, требующему оперативного действия |
| OPS-SLO-005 | MUST | Полнота и неизменность данных | вычислению SLI и SLO |
| SEC-AUTHN-001 | MUST | OpenID Connect для аутентификации пользователя | входу пользователя в приложение |
| SEC-AUTHN-002 | MUST | Безопасный пользовательский flow | интерактивной аутентификации пользователя |
| SEC-AUTHN-003 | MUST NOT | Запрещённые OAuth flows | OAuth 2.0 и OpenID Connect клиентам |
| SEC-AUTHN-004 | MUST | Назначение token | вызову защищённого API |
| SEC-AUTHN-005 | MUST | Проверка access token | каждому защищённому API и backend-сервису |
| SEC-AUTHN-006 | MUST | Metadata и ротация ключей | OpenID Connect клиентам и resource servers |
| SEC-AUTHN-007 | MUST | Аутентификация не заменяет авторизацию | каждой защищённой операции |
| SEC-AUTHN-008 | MUST | Межсервисная аутентификация | вызову без пользовательского контекста |
| SEC-AUTHN-009 | MUST | Защита token | хранению и передаче token |
| SEC-AUTHN-010 | MUST | Жизненный цикл token и сессии | token и пользовательским сессиям |
| SEC-AUTHN-011 | MUST | Ошибки и аудит аутентификации | результатам аутентификации и авторизации |
| SEC-AUTHN-012 | MUST | Защита cookie-сессии от CSRF | browser-based приложению с cookie-сессией |
| SEC-AUTHZ-001 | SHOULD | Централизованное решение через Casbin Server | проектам с защищёнными операциями |
| SEC-AUTHZ-002 | MUST | Авторизация на backend-границе | каждой защищённой backend-операции |
| SEC-AUTHZ-003 | MUST | Стандартный запрос авторизации | запросу backend в Casbin |
| SEC-AUTHZ-004 | MUST | Доверенный источник subject и контекста | формированию запроса авторизации |
| SEC-AUTHZ-005 | MUST | Запрет по умолчанию | Casbin model, policy и обработке ответа |
| SEC-AUTHZ-006 | MUST | Версионирование модели и policy | Casbin model и управляемым policy |
| SEC-AUTHZ-007 | MUST | Разделение проверки и управления | Casbin Server и его клиентам |
| SEC-AUTHZ-008 | MUST | Поведение при недоступности Casbin Server | удалённой проверке AuthZ |
| SEC-AUTHZ-009 | MUST | Кэширование решений | клиентскому cache решений Casbin |
| SEC-AUTHZ-010 | MUST | Наблюдаемость решений | каждому запросу авторизации |
| SEC-AUTHZ-011 | MUST | Тестирование policy | Casbin model и каждому изменению policy |
| SEC-AUTHZ-012 | MUST | Интеграция через Casbin SDK | backend, использующему Casbin Server |
| SEC-SCRT-001 | MUST | Отсутствие секретов в исходных материалах | репозиторию, build context и создаваемым артефактам |
| SEC-SCRT-002 | MUST | Явные входы секретов | команде разработки, теста или сборки, которой требуется секрет |
| SEC-SCRT-005 | MUST | Блокирующая проверка утечки | merge request и release-сборке |
| SEC-SCRT-006 | MUST | Доверенный источник runtime-секрета | production-компоненту, которому требуется секрет |
| SEC-SCRT-007 | MUST | Ротация без смены артефакта | секрету с изменяемым значением |
| SEC-SCRT-008 | MUST | Недоступность и устаревание секрета | получению или обновлению runtime-секрета |
| SEC-SCRT-009 | MUST | Аудит доступа и минимизация значения | чтению и административному изменению production-секрета |
| SEC-THR-001 | MUST | Условия обязательной модели угроз | созданию или существенному изменению внешней границы, аутентификации, авторизации, обработки защищаемых данных, загрузки пользовательского содержимого, привилегированного компонента или security-критичной зависимости |
| SEC-THR-002 | MUST | Проверяемое содержание модели | каждой модели угроз |
| SEC-THR-003 | MUST | Согласование и актуальность | изменению, для которого модель угроз обязательна |
| SEC-TLS-001 | MUST | Обязательный TLS | передаче аутентификационных, персональных, секретных или бизнес-данных через недоверенную либо разделяемую сеть |
| SEC-TLS-002 | MUST | Проверка подлинности сервера | каждому TLS-клиенту |
| SEC-TLS-003 | MUST | Набор криптографических параметров | TLS endpoint и клиенту |
| SEC-TLS-004 | MUST | Область применения mTLS | решению об аутентификации межсервисного соединения |
| SEC-TLS-005 | MUST | Жизненный цикл сертификатов и ключей | TLS private key, сертификату и trust bundle |
| STD-MAN-001 | MUST | Расположение и схема manifest | прикладному проекту, использующему этот репозиторий стандартов |
| STD-MAN-002 | MUST | Фиксация версии стандартов | каждому manifest |
| STD-MAN-003 | MUST | Формальные признаки проекта | каждому manifest |
| STD-MAN-004 | MUST | Вычисление применимых документов | каждому manifest |
| STD-MAN-005 | MUST | Исключения из требований | согласованному исключению из требования |
| UI-STATE-001 | MUST | Единственное владение изменяемым состоянием | каждой изменяемой части состояния, влияющей на представление или доступное пользователю действие |
| UI-STATE-002 | MUST | Различимые состояния асинхронной операции | асинхронной операции, результат которой влияет на представление или доступное пользователю действие |
| UI-STATE-003 | MUST | Жизненный цикл эффектов | эффекту, инициируемому пользовательским интерфейсом |
| UI-STATE-004 | MUST | Конкурирующие результаты и optimistic update | двум или более одновременно выполняемым операциям, способным изменить одну часть пользовательского состояния |
| UI-STATE-005 | MUST | Стабильная идентичность элементов | изменяемой коллекции элементов, для которых UI runtime сохраняет локальное состояние, фокус, ввод или выполняемый эффект |